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.
This commit is contained in:
parent
4d001e43da
commit
56e5509bfd
3 changed files with 8 additions and 8 deletions
|
@ -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)
|
||||
|
|
|
@ -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('.')])
|
||||
|
||||
|
|
|
@ -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('.')])
|
||||
|
||||
|
|
Loading…
Reference in a new issue