60 lines
1.3 KiB
Python
60 lines
1.3 KiB
Python
import os
|
|
import subprocess
|
|
import sysconfig
|
|
import numpy as np
|
|
|
|
arch = subprocess.check_output(["uname", "-m"], encoding='utf8').rstrip()
|
|
|
|
common = ''
|
|
|
|
python_path = sysconfig.get_paths()['include']
|
|
cpppath = [
|
|
'#',
|
|
'#rednose',
|
|
'#rednose/examples/generated',
|
|
'/usr/lib/include',
|
|
python_path,
|
|
np.get_include(),
|
|
]
|
|
|
|
env = Environment(
|
|
ENV=os.environ,
|
|
CC='clang',
|
|
CXX='clang++',
|
|
CCFLAGS=[
|
|
"-g",
|
|
"-fPIC",
|
|
"-O2",
|
|
"-Werror=implicit-function-declaration",
|
|
"-Werror=incompatible-pointer-types",
|
|
"-Werror=int-conversion",
|
|
"-Werror=return-type",
|
|
"-Werror=format-extra-args",
|
|
"-Wshadow",
|
|
],
|
|
LIBPATH=["#rednose/examples/generated"],
|
|
CFLAGS="-std=gnu11",
|
|
CXXFLAGS="-std=c++1z",
|
|
CPPPATH=cpppath,
|
|
REDNOSE_ROOT=Dir("#").abspath,
|
|
tools=["default", "cython", "rednose_filter"],
|
|
)
|
|
|
|
# Cython build enviroment
|
|
envCython = env.Clone()
|
|
envCython["CCFLAGS"] += ["-Wno-#warnings", "-Wno-shadow", "-Wno-deprecated-declarations"]
|
|
|
|
envCython["LIBS"] = []
|
|
if arch == "Darwin":
|
|
envCython["LINKFLAGS"] = ["-bundle", "-undefined", "dynamic_lookup"]
|
|
elif arch == "aarch64":
|
|
envCython["LINKFLAGS"] = ["-shared"]
|
|
envCython["LIBS"] = [os.path.basename(python_path)]
|
|
else:
|
|
envCython["LINKFLAGS"] = ["-pthread", "-shared"]
|
|
|
|
Export('env', 'envCython', 'common')
|
|
|
|
SConscript(['#rednose/SConscript'])
|
|
SConscript(['#examples/SConscript'])
|