summaryrefslogtreecommitdiff
path: root/numpy/distutils/misc_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/distutils/misc_util.py')
-rw-r--r--numpy/distutils/misc_util.py25
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():