1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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'])
|