scons: Install libGL.so and respective symlinks.
This commit is contained in:
parent
8af4794afc
commit
52c2dd1f73
|
@ -140,6 +140,30 @@ def createCodeGenerateMethod(env):
|
|||
env.AddMethod(code_generate, 'CodeGenerate')
|
||||
|
||||
|
||||
def symlink(target, source, env):
|
||||
target = str(target[0])
|
||||
source = str(source[0])
|
||||
if os.path.islink(target) or os.path.exists(target):
|
||||
os.remove(target)
|
||||
os.symlink(os.path.basename(source), target)
|
||||
|
||||
def install_shared_library(env, source, version = ()):
|
||||
source = str(source[0])
|
||||
version = tuple(map(str, version))
|
||||
target_dir = os.path.join(env['build'], 'lib')
|
||||
target_name = '.'.join((str(source),) + version)
|
||||
last = env.InstallAs(os.path.join(target_dir, target_name), source)
|
||||
while len(version):
|
||||
version = version[:-1]
|
||||
target_name = '.'.join((str(source),) + version)
|
||||
action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE")
|
||||
print os.path.join(target_dir, target_name), last
|
||||
last = env.Command(os.path.join(target_dir, target_name), last, action)
|
||||
|
||||
def createInstallMethods(env):
|
||||
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
|
||||
|
||||
|
||||
def generate(env):
|
||||
"""Common environment generation code"""
|
||||
|
||||
|
@ -426,6 +450,7 @@ def generate(env):
|
|||
# Custom builders and methods
|
||||
createConvenienceLibBuilder(env)
|
||||
createCodeGenerateMethod(env)
|
||||
createInstallMethods(env)
|
||||
|
||||
# for debugging
|
||||
#print env.Dump()
|
||||
|
|
|
@ -36,8 +36,10 @@ if env['platform'] == 'linux' \
|
|||
drivers += [trace]
|
||||
|
||||
# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
|
||||
env.SharedLibrary(
|
||||
libgl = env.SharedLibrary(
|
||||
target ='GL',
|
||||
source = sources,
|
||||
LIBS = glapi + mesa + drivers + auxiliaries + env['LIBS'],
|
||||
)
|
||||
|
||||
env.InstallSharedLibrary(libgl, version=(1, 5))
|
||||
|
|
Loading…
Reference in New Issue