summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Binkert <nate@binkert.org>2009-04-21 17:17:15 -0700
committerNathan Binkert <nate@binkert.org>2009-04-21 17:17:15 -0700
commit56e5509bfd4e670c032ccff4c7d68dbe7493eadd (patch)
tree86f6cad462524fedc0c9d85e591834d8d46b59d3
parent4d001e43da6da2972172c352153e745238860021 (diff)
downloadgem5-56e5509bfd4e670c032ccff4c7d68dbe7493eadd.tar.xz
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.
-rw-r--r--SConstruct8
-rw-r--r--ext/gzstream/SConscript4
-rw-r--r--ext/libelf/SConscript4
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('.')])