scons: Remove duplicated code.

This commit is contained in:
José Fonseca 2010-01-01 21:55:08 +00:00
parent b2e40643a3
commit 2104cbb694

View file

@ -149,36 +149,6 @@ 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_program(env, source):
source = str(source[0])
target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build'], 'bin')
target_name = str(source)
env.InstallAs(os.path.join(target_dir, target_name), source)
def install_shared_library(env, source, version = ()):
source = str(source[0])
version = tuple(map(str, version))
target_dir = os.path.join(env.Dir('#.').srcnode().abspath, 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")
last = env.Command(os.path.join(target_dir, target_name), last, action)
def createInstallMethods(env):
env.AddMethod(install_program, 'InstallProgram')
env.AddMethod(install_shared_library, 'InstallSharedLibrary')
def generate(env):
"""Common environment generation code"""
@ -188,7 +158,6 @@ def generate(env):
# Custom builders and methods
createConvenienceLibBuilder(env)
createCodeGenerateMethod(env)
createInstallMethods(env)
# for debugging
#print env.Dump()