Allow for extending the build flags in a PyAFSExtension without
authorEvan Broder <broder@mit.edu>
Tue, 20 Oct 2009 18:44:15 +0000 (14:44 -0400)
committerEvan Broder <broder@mit.edu>
Tue, 20 Oct 2009 18:44:15 +0000 (14:44 -0400)
changing them for all extensions.

setup.py

index af6464a..0a59340 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -24,13 +24,15 @@ else:
 libraries = ['afsauthent%s' % suffix, 'afsrpc%s' % suffix, 'resolv']
 define_macros = [('AFS_PTHREAD_ENV', None)]
 
-def PyAFSExtension(module):
+def PyAFSExtension(module, *args, **kwargs):
+    kwargs.setdefault('libraries', []).extend(libraries)
+    kwargs.setdefault('include_dirs', []).extend(include_dirs)
+    kwargs.setdefault('library_dirs', []).extend(library_dirs)
+    kwargs.setdefault('define_macros', []).extend(define_macros)
     return Extension(module,
                      ["%s.pyx" % module.replace('.', '/')],
-                     libraries=libraries,
-                     include_dirs=include_dirs,
-                     library_dirs=library_dirs,
-                     define_macros=define_macros)
+                     *args,
+                     **kwargs)
 
 setup(
     name="PyAFS",