annotate Lib/distutils/extension.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents a17b21c27a33
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
1 """distutils.extension
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
2
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
3 Provides the Extension class, used to describe C/C++ extension
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
4 modules in setup scripts."""
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
5
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
6 __revision__ = "$Id$"
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
7
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
8 import os, string, sys
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
9 from types import *
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
10
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
11 try:
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
12 import warnings
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
13 except ImportError:
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
14 warnings = None
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
15
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
16 # This class is really only used by the "build_ext" command, so it might
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
17 # make sense to put it in distutils.command.build_ext. However, that
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
18 # module is already big enough, and I want to make this class a bit more
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
19 # complex to simplify some common cases ("foo" module in "foo.c") and do
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
20 # better error-checking ("foo.c" actually exists).
21267
7a7f557b4d54 Whitespace normalization.
Fred Drake <fdrake@acm.org>
parents: 17129
diff changeset
21 #
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
22 # Also, putting this in build_ext.py means every setup script would have to
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
23 # import that large-ish module (indirectly, through distutils.core) in
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
24 # order to do anything.
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
25
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
26 class Extension:
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
27 """Just a collection of attributes that describes an extension
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
28 module and everything needed to build it (hopefully in a portable
13948
26898a98db6e Typo fix in docstring.
Greg Ward <gward@python.net>
parents: 13800
diff changeset
29 way, but there are hooks that let you be as unportable as you need).
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
30
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
31 Instance attributes:
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
32 name : string
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
33 the full name of the extension, including any packages -- ie.
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
34 *not* a filename or pathname, but Python dotted name
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
35 sources : [string]
12995
c910b9d9a0c0 Revised docstring so 'sources' isn't necessarily all C/C++ files (to
Greg Ward <gward@python.net>
parents: 12799
diff changeset
36 list of source filenames, relative to the distribution root
c910b9d9a0c0 Revised docstring so 'sources' isn't necessarily all C/C++ files (to
Greg Ward <gward@python.net>
parents: 12799
diff changeset
37 (where the setup script lives), in Unix form (slash-separated)
c910b9d9a0c0 Revised docstring so 'sources' isn't necessarily all C/C++ files (to
Greg Ward <gward@python.net>
parents: 12799
diff changeset
38 for portability. Source files may be C, C++, SWIG (.i),
c910b9d9a0c0 Revised docstring so 'sources' isn't necessarily all C/C++ files (to
Greg Ward <gward@python.net>
parents: 12799
diff changeset
39 platform-specific resource files, or whatever else is recognized
c910b9d9a0c0 Revised docstring so 'sources' isn't necessarily all C/C++ files (to
Greg Ward <gward@python.net>
parents: 12799
diff changeset
40 by the "build_ext" command as source for a Python extension.
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
41 include_dirs : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
42 list of directories to search for C/C++ header files (in Unix
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
43 form for portability)
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
44 define_macros : [(name : string, value : string|None)]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
45 list of macros to define; each macro is defined using a 2-tuple,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
46 where 'value' is either the string to define it to or None to
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
47 define it without a particular value (equivalent of "#define
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
48 FOO" in source or -DFOO on Unix C compiler command line)
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
49 undef_macros : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
50 list of macros to undefine explicitly
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
51 library_dirs : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
52 list of directories to search for C/C++ libraries at link time
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
53 libraries : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
54 list of library names (not filenames or paths) to link against
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
55 runtime_library_dirs : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
56 list of directories to search for C/C++ libraries at run time
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
57 (for shared extensions, this is when the extension is loaded)
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
58 extra_objects : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
59 list of extra files to link with (eg. object files not implied
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
60 by 'sources', static library that must be explicitly specified,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
61 binary resource files, etc.)
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
62 extra_compile_args : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
63 any extra platform- and compiler-specific information to use
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
64 when compiling the source files in 'sources'. For platforms and
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
65 compilers where "command line" makes sense, this is typically a
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
66 list of command-line arguments, but for other platforms it could
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
67 be anything.
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
68 extra_link_args : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
69 any extra platform- and compiler-specific information to use
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
70 when linking object files together to create the extension (or
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
71 to create a new static Python interpreter). Similar
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
72 interpretation as for 'extra_compile_args'.
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
73 export_symbols : [string]
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
74 list of symbols to be exported from a shared extension. Not
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
75 used on all platforms, and not generally necessary for Python
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
76 extensions, which typically export exactly one symbol: "init" +
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
77 extension_name.
33759
11d01fc650dc Patch 1046644 - improved distutils support for SWIG.
Anthony Baxter <anthonybaxter@gmail.com>
parents: 27416
diff changeset
78 swig_opts : [string]
11d01fc650dc Patch 1046644 - improved distutils support for SWIG.
Anthony Baxter <anthonybaxter@gmail.com>
parents: 27416
diff changeset
79 any extra options to pass to SWIG if a source file has the .i
11d01fc650dc Patch 1046644 - improved distutils support for SWIG.
Anthony Baxter <anthonybaxter@gmail.com>
parents: 27416
diff changeset
80 extension.
23792
7dd432e1de26 Add a new definition to Extension objects: depends.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 22663
diff changeset
81 depends : [string]
7dd432e1de26 Add a new definition to Extension objects: depends.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 22663
diff changeset
82 list of files that the extension depends on
26036
771b6f521b95 This patch fixes the following bugs:
Gustavo Niemeyer <gustavo@niemeyer.net>
parents: 23792
diff changeset
83 language : string
771b6f521b95 This patch fixes the following bugs:
Gustavo Niemeyer <gustavo@niemeyer.net>
parents: 23792
diff changeset
84 extension language (i.e. "c", "c++", "objc"). Will be detected
771b6f521b95 This patch fixes the following bugs:
Gustavo Niemeyer <gustavo@niemeyer.net>
parents: 23792
diff changeset
85 from the source extensions if not provided.
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
86 """
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
87
27416
20df24a13349 Remove the recently-added get_distutil_options(), and just
Andrew M. Kuchling <amk@amk.ca>
parents: 26444
diff changeset
88 # When adding arguments to this constructor, be sure to update
20df24a13349 Remove the recently-added get_distutil_options(), and just
Andrew M. Kuchling <amk@amk.ca>
parents: 26444
diff changeset
89 # setup_keywords in core.py.
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
90 def __init__ (self, name, sources,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
91 include_dirs=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
92 define_macros=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
93 undef_macros=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
94 library_dirs=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
95 libraries=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
96 runtime_library_dirs=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
97 extra_objects=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
98 extra_compile_args=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
99 extra_link_args=None,
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
100 export_symbols=None,
33759
11d01fc650dc Patch 1046644 - improved distutils support for SWIG.
Anthony Baxter <anthonybaxter@gmail.com>
parents: 27416
diff changeset
101 swig_opts = None,
23792
7dd432e1de26 Add a new definition to Extension objects: depends.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 22663
diff changeset
102 depends=None,
26036
771b6f521b95 This patch fixes the following bugs:
Gustavo Niemeyer <gustavo@niemeyer.net>
parents: 23792
diff changeset
103 language=None,
26198
1df98f68d607 Allow unknown keyword arguments to the Extension class, and warn about them.
Andrew M. Kuchling <amk@amk.ca>
parents: 26036
diff changeset
104 **kw # To catch unknown keywords
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
105 ):
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
106 assert type(name) is StringType, "'name' must be a string"
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
107 assert (type(sources) is ListType and
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
108 map(type, sources) == [StringType]*len(sources)), \
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
109 "'sources' must be a list of strings"
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
110
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
111 self.name = name
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
112 self.sources = sources
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
113 self.include_dirs = include_dirs or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
114 self.define_macros = define_macros or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
115 self.undef_macros = undef_macros or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
116 self.library_dirs = library_dirs or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
117 self.libraries = libraries or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
118 self.runtime_library_dirs = runtime_library_dirs or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
119 self.extra_objects = extra_objects or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
120 self.extra_compile_args = extra_compile_args or []
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
121 self.extra_link_args = extra_link_args or []
13949
28afbc5e0770 Rene Liebscher: ext.export_symbols is now always a list (added 'or []').
Greg Ward <gward@python.net>
parents: 13948
diff changeset
122 self.export_symbols = export_symbols or []
33759
11d01fc650dc Patch 1046644 - improved distutils support for SWIG.
Anthony Baxter <anthonybaxter@gmail.com>
parents: 27416
diff changeset
123 self.swig_opts = swig_opts or []
23792
7dd432e1de26 Add a new definition to Extension objects: depends.
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 22663
diff changeset
124 self.depends = depends or []
26036
771b6f521b95 This patch fixes the following bugs:
Gustavo Niemeyer <gustavo@niemeyer.net>
parents: 23792
diff changeset
125 self.language = language
12799
d81c95dd4039 Provides the Extension class, a nicer way to describe C/C++ extensions than
Greg Ward <gward@python.net>
parents:
diff changeset
126
26198
1df98f68d607 Allow unknown keyword arguments to the Extension class, and warn about them.
Andrew M. Kuchling <amk@amk.ca>
parents: 26036
diff changeset
127 # If there are unknown keyword options, warn about them
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
128 if len(kw):
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
129 L = kw.keys() ; L.sort()
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
130 L = map(repr, L)
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
131 msg = "Unknown Extension options: " + string.join(L, ', ')
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
132 if warnings is not None:
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
133 warnings.warn(msg)
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
134 else:
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
135 sys.stderr.write(msg + '\n')
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
136 # class Extension
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
137
54532
98d8b8b749f4 added some tests for distutils.extension + code cleanup
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 52606
diff changeset
138
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
139 def read_setup_file (filename):
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
140 from distutils.sysconfig import \
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
141 parse_makefile, expand_makefile_vars, _variable_rx
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
142 from distutils.text_file import TextFile
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
143 from distutils.util import split_quoted
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
144
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
145 # First pass over the file to gather "VAR = VALUE" assignments.
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
146 vars = parse_makefile(filename)
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
147
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
148 # Second pass to gobble up the real content: lines of the form
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
149 # <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
150 file = TextFile(filename,
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
151 strip_comments=1, skip_blanks=1, join_lines=1,
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
152 lstrip_ws=1, rstrip_ws=1)
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
153 try:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
154 extensions = []
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
155
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
156 while 1:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
157 line = file.readline()
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
158 if line is None: # eof
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
159 break
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
160 if _variable_rx.match(line): # VAR=VALUE, handled in first pass
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
161 continue
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
162
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
163 if line[0] == line[-1] == "*":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
164 file.warn("'%s' lines not handled yet" % line)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
165 continue
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
166
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
167 #print "original line: " + line
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
168 line = expand_makefile_vars(line, vars)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
169 words = split_quoted(line)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
170 #print "expanded line: " + line
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
171
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
172 # NB. this parses a slightly different syntax than the old
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
173 # makesetup script: here, there must be exactly one extension per
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
174 # line, and it must be the first word of the line. I have no idea
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
175 # why the old syntax supported multiple extensions per line, as
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
176 # they all wind up being the same.
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
177
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
178 module = words[0]
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
179 ext = Extension(module, [])
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
180 append_next_word = None
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
181
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
182 for word in words[1:]:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
183 if append_next_word is not None:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
184 append_next_word.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
185 append_next_word = None
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
186 continue
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
187
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
188 suffix = os.path.splitext(word)[1]
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
189 switch = word[0:2] ; value = word[2:]
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
190
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
191 if suffix in (".c", ".cc", ".cpp", ".cxx", ".c++", ".m", ".mm"):
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
192 # hmm, should we do something about C vs. C++ sources?
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
193 # or leave it up to the CCompiler implementation to
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
194 # worry about?
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
195 ext.sources.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
196 elif switch == "-I":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
197 ext.include_dirs.append(value)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
198 elif switch == "-D":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
199 equals = string.find(value, "=")
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
200 if equals == -1: # bare "-DFOO" -- no value
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
201 ext.define_macros.append((value, None))
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
202 else: # "-DFOO=blah"
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
203 ext.define_macros.append((value[0:equals],
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
204 value[equals+2:]))
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
205 elif switch == "-U":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
206 ext.undef_macros.append(value)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
207 elif switch == "-C": # only here 'cause makesetup has it!
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
208 ext.extra_compile_args.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
209 elif switch == "-l":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
210 ext.libraries.append(value)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
211 elif switch == "-L":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
212 ext.library_dirs.append(value)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
213 elif switch == "-R":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
214 ext.runtime_library_dirs.append(value)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
215 elif word == "-rpath":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
216 append_next_word = ext.runtime_library_dirs
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
217 elif word == "-Xlinker":
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
218 append_next_word = ext.extra_link_args
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
219 elif word == "-Xcompiler":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
220 append_next_word = ext.extra_compile_args
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
221 elif switch == "-u":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
222 ext.extra_link_args.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
223 if not value:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
224 append_next_word = ext.extra_link_args
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
225 elif word == "-Xcompiler":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
226 append_next_word = ext.extra_compile_args
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
227 elif switch == "-u":
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
228 ext.extra_link_args.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
229 if not value:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
230 append_next_word = ext.extra_link_args
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
231 elif suffix in (".a", ".so", ".sl", ".o", ".dylib"):
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
232 # NB. a really faithful emulation of makesetup would
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
233 # append a .o file to extra_objects only if it
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
234 # had a slash in it; otherwise, it would s/.o/.c/
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
235 # and append it to sources. Hmmmm.
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
236 ext.extra_objects.append(word)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
237 else:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
238 file.warn("unrecognized argument '%s'" % word)
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
239
66008
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
240 extensions.append(ext)
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
241 finally:
a17b21c27a33 Merged revisions 86223-86224,86226,86234 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents: 59343
diff changeset
242 file.close()
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
243
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
244 #print "module:", module
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
245 #print "source files:", source_files
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
246 #print "cpp args:", cpp_args
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
247 #print "lib args:", library_args
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
248
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
249 #extensions[module] = { 'sources': source_files,
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
250 # 'cpp_args': cpp_args,
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
251 # 'lib_args': library_args }
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
252
14650
edda353bde12 Added 'read_setup_file()' to read old-style Setup files. Could make life
Greg Ward <gward@python.net>
parents: 13949
diff changeset
253 return extensions
59343
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
254
ad22bc22dddc reverting partially distutils to its 2.6.x state so 2.7a4 looks more like the 2.7b1 in this. the whole revert will occur after a4 is tagged
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 58450
diff changeset
255 # read_setup_file ()