summaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Distutils/extension.py
diff options
context:
space:
mode:
authoralexv-smirnov <[email protected]>2023-06-13 11:05:01 +0300
committeralexv-smirnov <[email protected]>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Distutils/extension.py
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
add ymake export to ydb
Diffstat (limited to 'contrib/tools/cython/Cython/Distutils/extension.py')
-rw-r--r--contrib/tools/cython/Cython/Distutils/extension.py128
1 files changed, 128 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Distutils/extension.py b/contrib/tools/cython/Cython/Distutils/extension.py
new file mode 100644
index 00000000000..d8bdbf0f5bc
--- /dev/null
+++ b/contrib/tools/cython/Cython/Distutils/extension.py
@@ -0,0 +1,128 @@
+"""Pyrex.Distutils.extension
+
+Provides a modified Extension class, that understands how to describe
+Pyrex extension modules in setup scripts."""
+
+__revision__ = "$Id:$"
+
+import sys
+import distutils.extension as _Extension
+
+try:
+ import warnings
+except ImportError:
+ warnings = None
+
+
+class Extension(_Extension.Extension):
+ # When adding arguments to this constructor, be sure to update
+ # user_options.extend in build_ext.py.
+ def __init__(self, name, sources,
+ include_dirs=None,
+ define_macros=None,
+ undef_macros=None,
+ library_dirs=None,
+ libraries=None,
+ runtime_library_dirs=None,
+ extra_objects=None,
+ extra_compile_args=None,
+ extra_link_args=None,
+ export_symbols=None,
+ #swig_opts=None,
+ depends=None,
+ language=None,
+ cython_include_dirs=None,
+ cython_directives=None,
+ cython_create_listing=False,
+ cython_line_directives=False,
+ cython_cplus=False,
+ cython_c_in_temp=False,
+ cython_gen_pxi=False,
+ cython_gdb=False,
+ no_c_in_traceback=False,
+ cython_compile_time_env=None,
+ **kw):
+
+ # Translate pyrex_X to cython_X for backwards compatibility.
+ had_pyrex_options = False
+ for key in list(kw):
+ if key.startswith('pyrex_'):
+ had_pyrex_options = True
+ kw['cython' + key[5:]] = kw.pop(key)
+ if had_pyrex_options:
+ Extension.__init__(
+ self, name, sources,
+ include_dirs=include_dirs,
+ define_macros=define_macros,
+ undef_macros=undef_macros,
+ library_dirs=library_dirs,
+ libraries=libraries,
+ runtime_library_dirs=runtime_library_dirs,
+ extra_objects=extra_objects,
+ extra_compile_args=extra_compile_args,
+ extra_link_args=extra_link_args,
+ export_symbols=export_symbols,
+ #swig_opts=swig_opts,
+ depends=depends,
+ language=language,
+ no_c_in_traceback=no_c_in_traceback,
+ **kw)
+ return
+
+ _Extension.Extension.__init__(
+ self, name, sources,
+ include_dirs=include_dirs,
+ define_macros=define_macros,
+ undef_macros=undef_macros,
+ library_dirs=library_dirs,
+ libraries=libraries,
+ runtime_library_dirs=runtime_library_dirs,
+ extra_objects=extra_objects,
+ extra_compile_args=extra_compile_args,
+ extra_link_args=extra_link_args,
+ export_symbols=export_symbols,
+ #swig_opts=swig_opts,
+ depends=depends,
+ language=language,
+ **kw)
+
+ self.cython_include_dirs = cython_include_dirs or []
+ self.cython_directives = cython_directives or {}
+ self.cython_create_listing = cython_create_listing
+ self.cython_line_directives = cython_line_directives
+ self.cython_cplus = cython_cplus
+ self.cython_c_in_temp = cython_c_in_temp
+ self.cython_gen_pxi = cython_gen_pxi
+ self.cython_gdb = cython_gdb
+ self.no_c_in_traceback = no_c_in_traceback
+ self.cython_compile_time_env = cython_compile_time_env
+
+# class Extension
+
+read_setup_file = _Extension.read_setup_file
+
+
+# reuse and extend original docstring from base class (if we can)
+if sys.version_info[0] < 3 and _Extension.Extension.__doc__:
+ # -OO discards docstrings
+ Extension.__doc__ = _Extension.Extension.__doc__ + """\
+ cython_include_dirs : [string]
+ list of directories to search for Pyrex header files (.pxd) (in
+ Unix form for portability)
+ cython_directives : {string:value}
+ dict of compiler directives
+ cython_create_listing_file : boolean
+ write pyrex error messages to a listing (.lis) file.
+ cython_line_directives : boolean
+ emit pyx line numbers for debugging/profiling
+ cython_cplus : boolean
+ use the C++ compiler for compiling and linking.
+ cython_c_in_temp : boolean
+ put generated C files in temp directory.
+ cython_gen_pxi : boolean
+ generate .pxi file for public declarations
+ cython_gdb : boolean
+ generate Cython debug information for this extension for cygdb
+ no_c_in_traceback : boolean
+ emit the c file and line number from the traceback for exceptions
+"""