From 2d596da7383cc30092e5812a103eb50b0fb9b16c Mon Sep 17 00:00:00 2001 From: cookedm Date: Sat, 3 Nov 2007 16:09:06 +0000 Subject: numpy.distutils.command.build_ext: append build C libraries as dependencies of the extension, to force recompiling if they change. (It should really only force relinking, but adding that is tougher.) --- numpy/distutils/command/build_ext.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'numpy/distutils/command/build_ext.py') diff --git a/numpy/distutils/command/build_ext.py b/numpy/distutils/command/build_ext.py index 9277f9393..4f5819175 100644 --- a/numpy/distutils/command/build_ext.py +++ b/numpy/distutils/command/build_ext.py @@ -89,6 +89,7 @@ class build_ext (old_build_ext): ' overwriting build_info\n%s... \nwith\n%s...' \ % (libname, `clibs[libname]`[:300], `build_info`[:300])) clibs[libname] = build_info + local_clibs = clibs.copy() # .. and distribution libraries: for libname,build_info in self.distribution.libraries or []: if clibs.has_key(libname): @@ -105,13 +106,18 @@ class build_ext (old_build_ext): c_lib_dirs = [] macros = [] for libname in ext.libraries: - if clibs.has_key(libname): + if libname in clibs: binfo = clibs[libname] c_libs += binfo.get('libraries',[]) c_lib_dirs += binfo.get('library_dirs',[]) for m in binfo.get('macros',[]): if m not in macros: macros.append(m) + if libname in local_clibs: + c = self.compiler + outname = c.library_filename(libname, + output_dir=self.build_temp) + ext.depends.append(outname) for l in clibs.get(libname,{}).get('source_languages',[]): ext_languages.add(l) if c_libs: -- cgit v1.2.1