diff setup.py @ 30731:f0da0cad5cd5 legacy-trunk

Provide a bit more information to the compiler when building Expat. This avoids having to modify the Expat sources in any way starting with Expat 1.95.7.
author Fred Drake <fdrake@acm.org>
date Tue, 21 Oct 2003 15:41:15 +0000
parents 02257f6a682a
children e0841b5cf2fd
line wrap: on
line diff
--- a/setup.py	Tue Oct 21 15:38:55 2003 +0000
+++ b/setup.py	Tue Oct 21 15:41:15 2003 +0000
@@ -737,21 +737,26 @@
         else:
             xmlbo = "4321"
         expatinc = os.path.join(os.getcwd(), srcdir, 'Modules', 'expat')
-        exts.append(Extension('pyexpat',
-                              sources = [
-            'pyexpat.c',
-            'expat/xmlparse.c',
-            'expat/xmlrole.c',
-            'expat/xmltok.c',
-            ],
-                              define_macros = [
+        define_macros = [
             ('XML_NS', '1'),
             ('XML_DTD', '1'),
             ('BYTEORDER', xmlbo),
             ('XML_CONTEXT_BYTES','1024'),
-            ],
-                              include_dirs = [expatinc]
-                               ))
+            ]
+        config_h = sysconfig.get_config_h_filename()
+        config_h_vars = sysconfig.parse_config_h(open(config_h))
+        for feature_macro in ['HAVE_MEMMOVE', 'HAVE_BCOPY']:
+            if config_h_vars.has_key(feature_macro):
+                define_macros.append((feature_macro, '1'))
+        exts.append(Extension('pyexpat',
+                              define_macros = define_macros,
+                              include_dirs = [expatinc],
+                              sources = ['pyexpat.c',
+                                         'expat/xmlparse.c',
+                                         'expat/xmlrole.c',
+                                         'expat/xmltok.c',
+                                         ],
+                              ))
 
         # Dynamic loading module
         if sys.maxint == 0x7fffffff: