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
|
# add the prefix/lib/pythonX.Y/config dir, but only if there is no
|
||||||
# shared library in prefix/lib/.
|
# shared library in prefix/lib/.
|
||||||
if not py_getvar('Py_ENABLE_SHARED'):
|
if not py_getvar('Py_ENABLE_SHARED'):
|
||||||
py_lib_path.append('-L' + py_getvar('LIBPL'))
|
py_lib_path.append(py_getvar('LIBPL'))
|
||||||
|
|
||||||
py_libs = []
|
py_libs = []
|
||||||
for lib in py_getvar('LIBS').split() + py_getvar('SYSLIBS').split():
|
for lib in py_getvar('LIBS').split() + py_getvar('SYSLIBS').split():
|
||||||
|
assert lib.startswith('-l')
|
||||||
|
lib = lib[2:]
|
||||||
if lib not in py_libs:
|
if lib not in py_libs:
|
||||||
py_libs.append(lib)
|
py_libs.append(lib)
|
||||||
py_libs.append('-l' + py_version)
|
py_libs.append(py_version)
|
||||||
|
|
||||||
env.Append(CPPPATH=py_includes)
|
env.Append(CPPPATH=py_includes)
|
||||||
env.Append(LIBPATH=py_lib_path)
|
env.Append(LIBPATH=py_lib_path)
|
||||||
|
@ -574,8 +576,6 @@ if not conf.CheckHeader('Python.h', '<>'):
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
for lib in py_libs:
|
for lib in py_libs:
|
||||||
assert lib.startswith('-l')
|
|
||||||
lib = lib[2:]
|
|
||||||
if not conf.CheckLib(lib):
|
if not conf.CheckLib(lib):
|
||||||
print "Error: can't find library %s required by python" % lib
|
print "Error: can't find library %s required by python" % lib
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
|
@ -32,7 +32,7 @@ Import('env')
|
||||||
|
|
||||||
env.Library('gzstream', [File('gzstream.cc')])
|
env.Library('gzstream', [File('gzstream.cc')])
|
||||||
|
|
||||||
env.Append(CPPPATH=Dir('.'))
|
env.Prepend(CPPPATH=Dir('.'))
|
||||||
env.Append(LIBS=['gzstream'])
|
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
|
# into either m5 or the library
|
||||||
m4env.Library('elf', [m4env.SharedObject(f) for f in elf_files])
|
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(LIBS=['elf'])
|
||||||
env.Append(LIBPATH=[Dir('.')])
|
env.Prepend(LIBPATH=[Dir('.')])
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue