]> granicus.if.org Git - python/commitdiff
Fix bug #233253: the --define and --undef options didn't work, whether
authorAndrew M. Kuchling <amk@amk.ca>
Sat, 17 Mar 2001 20:15:41 +0000 (20:15 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Sat, 17 Mar 2001 20:15:41 +0000 (20:15 +0000)
   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

index 866697577d91295fef7c2442a07f085f6f28fb02..f732373ea34c99e9092f9874ad8fc5c7192bf67c 100644 (file)
@@ -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 ()