summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2001-03-17 20:15:41 (GMT)
committerAndrew M. Kuchling <amk@amk.ca>2001-03-17 20:15:41 (GMT)
commit7620bbdcbf92eab9c99fc08bbf8e9daaf677e410 (patch)
tree06edb11094f3302540600e4c872c9380091d7209
parent898f099dc61c3efbaa28cc727f5dbfd773d38444 (diff)
downloadcpython-7620bbdcbf92eab9c99fc08bbf8e9daaf677e410.zip
cpython-7620bbdcbf92eab9c99fc08bbf8e9daaf677e410.tar.gz
cpython-7620bbdcbf92eab9c99fc08bbf8e9daaf677e410.tar.bz2
Fix bug #233253: the --define and --undef options didn't work, whether
specified on the command-line or in setup.cfg. The option processing leaves them as strings, but they're supposed to be lists.
-rw-r--r--Lib/distutils/command/build_ext.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
index 8666975..f732373 100644
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -177,6 +177,21 @@ class build_ext (Command):
# building python standard extensions
self.library_dirs.append('.')
+ # The argument parsing will result in self.define being a string, but
+ # it has to be a list of 2-tuples. All the preprocessor symbols
+ # specified by the 'define' option will be set to '1'. Multiple
+ # symbols can be separated with commas.
+
+ if self.define:
+ defines = string.split(self.define, ',')
+ self.define = map(lambda symbol: (symbol, '1'), defines)
+
+ # The option for macros to undefine is also a string from the
+ # option parsing, but has to be a list. Multiple symbols can also
+ # be separated with commas here.
+ if self.undef:
+ self.undef = string.split(self.undef, ',')
+
# finalize_options ()