Я использую Cython для кросс-компиляции внешнего python модуля. Я использую python3 .6 на хосте и python3 .5 на цели. Также я собираю на x86_64 для целевой aarch64.
Мой setup.py выглядит следующим образом:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext
import builder_config
import os
os.environ["PATH"] = builder_config.PATH
os.environ["CC"] = builder_config.COMPILER
os.environ["LDSHARED"] = builder_config.COMPILER + " -lpython3.5m -shared"
os.environ["CFLAGS"] = builder_config.CFLAGS
os.environ["LDFLAGS"] = builder_config.LDFLAGS
os.environ["ARCH"] = "aarch64"
setup(
ext_modules = cythonize((Extension("my_ext", ["file1.pyx", "file2.pyx", "file3.pyx", "file4.pyx", "file5.pyx"]))),
)
Когда я запускаю python3.6 setup.py build_ext -i
, я получаю файл с именем: my_ext. cpython -36m-x86_64- linux -gnu.so
Моя проблема заключается в том, что в целевой библиотеке не будет загружена библиотека, если имя не будет изменено на:
my_ext. cpython -35m-aarch64- linux -gnu.so
Как изменить сгенерированное имя файла?