summaryrefslogtreecommitdiff
path: root/scipy/distutils/misc_util.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2005-10-04 08:37:12 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2005-10-04 08:37:12 +0000
commitd32f2d2362144efb664ee557637b466c8d950546 (patch)
tree62c911139cfc6638584a3632df0c54a76505e197 /scipy/distutils/misc_util.py
parent50967f090faed8e5864b5d736918ada737fb7a2e (diff)
downloadnumpy-d32f2d2362144efb664ee557637b466c8d950546.tar.gz
Added extra_info kw to add_extension method. Cleaned corelib setup.py.
Diffstat (limited to 'scipy/distutils/misc_util.py')
-rw-r--r--scipy/distutils/misc_util.py21
1 files changed, 20 insertions, 1 deletions
diff --git a/scipy/distutils/misc_util.py b/scipy/distutils/misc_util.py
index 8e1bfb6b1..e94c0187b 100644
--- a/scipy/distutils/misc_util.py
+++ b/scipy/distutils/misc_util.py
@@ -524,14 +524,33 @@ class Configuration:
def add_extension(self,name,sources,**kw):
""" Add extension to configuration.
+
+ Keywords:
+ include_dirs, define_macros, undef_macros,
+ library_dirs, libraries, runtime_library_dirs,
+ extra_objects, extra_compile_args, extra_link_args,
+ export_symbols, swig_opts, depends, language,
+ f2py_options, module_dirs
+ extra_info - dict or list of dict of keywords to be
+ appended to keywords.
"""
ext_args = copy.copy(kw)
ext_args['name'] = dot_join(self.name,name)
ext_args['sources'] = sources
+ if ext_args.has_key('extra_info'):
+ extra_info = ext_args['extra_info']
+ del ext_args['extra_info']
+ if type(extra_info) is type({}):
+ extra_info = [extra_info]
+ for info in extra_info:
+ assert type(info) is type({}),`info`
+ dict_append(ext_args,**info)
+
for k in ext_args.keys():
v = ext_args[k]
- if k in ['sources','depends']:
+ if k in ['sources','depends','include_dirs','library_dirs',
+ 'module_dirs','extra_objects']:
new_v = self._fix_paths(v)
ext_args[k] = new_v