initial commit
This commit is contained in:
53
setup.py
Normal file
53
setup.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
from Cython.Build import cythonize
|
||||
from Cython.Compiler import Options
|
||||
from setuptools import setup
|
||||
|
||||
Options.docstrings = False
|
||||
Options.embed_pos_in_docstring = False
|
||||
Options.annotate = False
|
||||
Options.fast_fail = True
|
||||
|
||||
DEBUG = bool(os.getenv("DOPT_DEBUG", None))
|
||||
|
||||
linetrace_opt: bool = False
|
||||
if DEBUG:
|
||||
linetrace_opt = True
|
||||
|
||||
ext_modules = cythonize(
|
||||
[""], # !! add Cython modules here
|
||||
compiler_directives={
|
||||
"language_level": 3,
|
||||
"boundscheck": False,
|
||||
"wraparound": False,
|
||||
"embedsignature": False,
|
||||
"annotation_typing": True,
|
||||
"linetrace": linetrace_opt,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
if DEBUG:
|
||||
ext_modules[0].define_macros.append(("CYTHON_TRACE", "1"))
|
||||
|
||||
compiler_args: list[str] = []
|
||||
linker_args: list[str] = []
|
||||
|
||||
|
||||
if sys.platform.startswith("win") and not DEBUG:
|
||||
c_args = ("/O2", "/GL", "/Gy")
|
||||
l_args = ("/LTCG", "/OPT:REF", "/OPT:ICF")
|
||||
else:
|
||||
c_args = tuple()
|
||||
l_args = tuple()
|
||||
|
||||
compiler_args.extend(c_args)
|
||||
linker_args.extend(l_args)
|
||||
|
||||
for ext in ext_modules:
|
||||
ext.extra_compile_args.extend(compiler_args)
|
||||
ext.extra_link_args.extend(linker_args)
|
||||
|
||||
setup(ext_modules=ext_modules)
|
||||
Reference in New Issue
Block a user