cython-devel

view Cython/Distutils/extension.py @ 3627:195c170ee761

Disable FlattenInListTransform
author Robert Bradshaw <robertwb@math.washington.edu>
date Sat Jul 31 14:10:52 2010 -0700 (12 hours ago)
parents 16bbddac0bf8
children
line source
1 """Pyrex.Distutils.extension
3 Provides a modified Extension class, that understands hou to describe
4 Pyrex extension modules in setup scripts."""
6 __revision__ = "$Id:$"
8 import os, sys
9 from types import *
10 import distutils.extension as _Extension
12 try:
13 import warnings
14 except ImportError:
15 warnings = None
17 class Extension(_Extension.Extension):
18 _Extension.Extension.__doc__ + \
19 """pyrex_include_dirs : [string]
20 list of directories to search for Pyrex header files (.pxd) (in
21 Unix form for portability)
22 pyrex_directives : {string:value}
23 dict of compiler directives
24 pyrex_create_listing_file : boolean
25 write pyrex error messages to a listing (.lis) file.
26 pyrex_line_directivess : boolean
27 emit pyx line numbers for debugging/profiling
28 pyrex_cplus : boolean
29 use the C++ compiler for compiling and linking.
30 pyrex_c_in_temp : boolean
31 put generated C files in temp directory.
32 pyrex_gen_pxi : boolean
33 generate .pxi file for public declarations
34 """
36 # When adding arguments to this constructor, be sure to update
37 # user_options.extend in build_ext.py.
38 def __init__ (self, name, sources,
39 include_dirs = None,
40 define_macros = None,
41 undef_macros = None,
42 library_dirs = None,
43 libraries = None,
44 runtime_library_dirs = None,
45 extra_objects = None,
46 extra_compile_args = None,
47 extra_link_args = None,
48 export_symbols = None,
49 #swig_opts = None,
50 depends = None,
51 language = None,
52 pyrex_include_dirs = None,
53 pyrex_directives = None,
54 pyrex_create_listing = 0,
55 pyrex_line_directives = 0,
56 pyrex_cplus = 0,
57 pyrex_c_in_temp = 0,
58 pyrex_gen_pxi = 0,
59 **kw):
61 _Extension.Extension.__init__(self, name, sources,
62 include_dirs = include_dirs,
63 define_macros = define_macros,
64 undef_macros = undef_macros,
65 library_dirs = library_dirs,
66 libraries = libraries,
67 runtime_library_dirs = runtime_library_dirs,
68 extra_objects = extra_objects,
69 extra_compile_args = extra_compile_args,
70 extra_link_args = extra_link_args,
71 export_symbols = export_symbols,
72 #swig_opts = swig_opts,
73 depends = depends,
74 language = language,
75 **kw)
77 self.pyrex_include_dirs = pyrex_include_dirs or []
78 self.pyrex_directives = pyrex_directives or {}
79 self.pyrex_create_listing = pyrex_create_listing
80 self.pyrex_line_directives = pyrex_line_directives
81 self.pyrex_cplus = pyrex_cplus
82 self.pyrex_c_in_temp = pyrex_c_in_temp
83 self.pyrex_gen_pxi = pyrex_gen_pxi
85 # class Extension
87 read_setup_file = _Extension.read_setup_file