You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
import subprocess
|
|
import platform
|
|
from distutils.core import Extension, setup
|
|
|
|
from Cython.Build import cythonize
|
|
|
|
from common.cython_hacks import BuildExtWithoutPlatformSuffix
|
|
from common.basedir import BASEDIR
|
|
import os
|
|
|
|
PHONELIBS = os.path.join(BASEDIR, 'phonelibs')
|
|
|
|
ARCH = subprocess.check_output(["uname", "-m"], encoding='utf8').rstrip()
|
|
|
|
if ARCH == "x86_64":
|
|
if platform.system() == "Darwin":
|
|
libraries = ['can_list_to_can_capnp', 'capnp', 'kj']
|
|
ARCH_DIR = 'mac'
|
|
else:
|
|
libraries = [':libcan_list_to_can_capnp.a', ':libcapnp.a', ':libkj.a']
|
|
ARCH_DIR = 'x64'
|
|
else:
|
|
libraries = [':libcan_list_to_can_capnp.a', 'capnp', 'kj']
|
|
if os.path.isdir("/system"):
|
|
ARCH_DIR = 'aarch64'
|
|
else:
|
|
ARCH_DIR = 'larch64'
|
|
|
|
setup(name='Boardd API Implementation',
|
|
cmdclass={'build_ext': BuildExtWithoutPlatformSuffix},
|
|
ext_modules=cythonize(
|
|
Extension(
|
|
"boardd_api_impl",
|
|
libraries=libraries,
|
|
library_dirs=[
|
|
'./',
|
|
PHONELIBS + '/capnp-cpp/' + ARCH_DIR + '/lib/',
|
|
],
|
|
sources=['boardd_api_impl.pyx'],
|
|
language="c++",
|
|
extra_compile_args=["-std=c++11"],
|
|
)
|
|
)
|
|
)
|
|
|