From 7620bbdcbf92eab9c99fc08bbf8e9daaf677e410 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Sat, 17 Mar 2001 20:15:41 +0000 Subject: 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. --- Lib/distutils/command/build_ext.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 () -- cgit v0.12