From 56e5509bfd4e670c032ccff4c7d68dbe7493eadd Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Tue, 21 Apr 2009 17:17:15 -0700 Subject: [PATCH] scons: Fix two problems with the way that the library path is generated. 1) -L is automatically added, so don't do it ourselves 2) prepend the paths for gzstream and libelf so they are certain to come first. The problem is that python might add /usr/lib to the path and the user might have a locally installed version of libelf installed. --- SConstruct | 8 ++++---- ext/gzstream/SConscript | 4 ++-- ext/libelf/SConscript | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SConstruct b/SConstruct index cc5bbbdd9..85b5a8ca0 100644 --- a/SConstruct +++ b/SConstruct @@ -557,13 +557,15 @@ py_lib_path = [ py_getvar('LIBDIR') ] # add the prefix/lib/pythonX.Y/config dir, but only if there is no # shared library in prefix/lib/. if not py_getvar('Py_ENABLE_SHARED'): - py_lib_path.append('-L' + py_getvar('LIBPL')) + py_lib_path.append(py_getvar('LIBPL')) py_libs = [] for lib in py_getvar('LIBS').split() + py_getvar('SYSLIBS').split(): + assert lib.startswith('-l') + lib = lib[2:] if lib not in py_libs: py_libs.append(lib) -py_libs.append('-l' + py_version) +py_libs.append(py_version) env.Append(CPPPATH=py_includes) env.Append(LIBPATH=py_lib_path) @@ -574,8 +576,6 @@ if not conf.CheckHeader('Python.h', '<>'): Exit(1) for lib in py_libs: - assert lib.startswith('-l') - lib = lib[2:] if not conf.CheckLib(lib): print "Error: can't find library %s required by python" % lib Exit(1) diff --git a/ext/gzstream/SConscript b/ext/gzstream/SConscript index ec2939b8b..ef591229e 100644 --- a/ext/gzstream/SConscript +++ b/ext/gzstream/SConscript @@ -32,7 +32,7 @@ Import('env') env.Library('gzstream', [File('gzstream.cc')]) -env.Append(CPPPATH=Dir('.')) +env.Prepend(CPPPATH=Dir('.')) env.Append(LIBS=['gzstream']) -env.Append(LIBPATH=[Dir('.')]) +env.Prepend(LIBPATH=[Dir('.')]) diff --git a/ext/libelf/SConscript b/ext/libelf/SConscript index 5e3038317..dff6fdaa9 100644 --- a/ext/libelf/SConscript +++ b/ext/libelf/SConscript @@ -119,7 +119,7 @@ m4env.M4(target=File('libelf_msize.c'), # into either m5 or the library m4env.Library('elf', [m4env.SharedObject(f) for f in elf_files]) -env.Append(CPPPATH=Dir('.')) +env.Prepend(CPPPATH=Dir('.')) env.Append(LIBS=['elf']) -env.Append(LIBPATH=[Dir('.')]) +env.Prepend(LIBPATH=[Dir('.')])