diff options
author | David Cournapeau <cournape@gmail.com> | 2009-07-26 11:14:45 +0000 |
---|---|---|
committer | David Cournapeau <cournape@gmail.com> | 2009-07-26 11:14:45 +0000 |
commit | 681db2650f201bbfabf67f022b41021e749c8945 (patch) | |
tree | d27488c35c021b4f1b52efccd25f33f5830ed5b9 /numpy/distutils/misc_util.py | |
parent | 4b34188cb87b08549f2daca956482d45ad046e07 (diff) | |
download | numpy-681db2650f201bbfabf67f022b41021e749c8945.tar.gz |
Add a function get_info to replace get_npymath_info, in a more generic way.
Diffstat (limited to 'numpy/distutils/misc_util.py')
-rw-r--r-- | numpy/distutils/misc_util.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/numpy/distutils/misc_util.py b/numpy/distutils/misc_util.py index 6cb1669fd..071e29cfc 100644 --- a/numpy/distutils/misc_util.py +++ b/numpy/distutils/misc_util.py @@ -13,6 +13,8 @@ try: except NameError: from sets import Set as set +from numpy.distutils.npy_pkg_config import get_info as get_npy_info, parse_flags + __all__ = ['Configuration', 'get_numpy_include_dirs', 'default_config_dict', 'dict_append', 'appendpath', 'generate_config_py', 'get_cmd', 'allpath', 'get_mathlibs', @@ -1534,20 +1536,23 @@ def get_numpy_include_dirs(): # else running numpy/core/setup.py return include_dirs -def get_npymath_info(): - """Return a extra_info-compatible dict to link against the core npymath - library. +def get_info(pkgname): + """Given a clib package name, returns a info dict with the necessary + options to use the clib. Example ------- - >>> npymath_info = get_npymath_info() - >>> config.add_extension('foo', sources=['foo.c'], extra_info=npymath_info) - """ + >>> npymath_info = get_info('npymath') + >>> config.add_extension('foo', sources=['foo.c'], extra_info=npymath_info)""" import numpy - p = numpy.__file__ - info = {} - info["library_dirs"] = [os.path.join(os.path.dirname(p), "core", "lib")] - info["libraries"] = ["npymath"] + d = os.path.join( + os.path.dirname(numpy.__file__), 'core', 'lib', 'npy-pkg-config') + pkg_info = get_npy_info(pkgname, [d]) + + # Translate LibraryInfo instance into a build_info dict + info = parse_flags(pkg_info.cflags()) + for k, v in parse_flags(pkg_info.libs()).items(): + info[k].extend(v) return info def is_bootstrapping(): |