Beispiel #1
0
def prepend_ld_library_path(env, overrides, **kwargs):
    """Prepend LD_LIBRARY_PATH with LIBPATH to run successfully programs that
    were linked against local shared libraries."""
    # make it unique but preserve order ...
    libpath = uniquer(Split(kwargs.get('CXXTEST_LIBPATH', [])) +
                      Split(env.get(   'CXXTEST_LIBPATH', [])))
    if len(libpath) > 0:
        libpath = env.arg2nodes(libpath, env.fs.Dir)
        platform = env.get('PLATFORM','')
        if platform == 'win32':
            var = 'PATH'
        else:
            var = 'LD_LIBRARY_PATH'
        eenv = overrides.get('ENV', env['ENV'].copy())
        canonicalize = lambda p : p.abspath
        eenv[var] = PrependPath(eenv.get(var,''), libpath, os.pathsep, 1, canonicalize)
        overrides['ENV'] = eenv
    return overrides
Beispiel #2
0
def prepend_ld_library_path(env, overrides, **kwargs):
    """Prepend LD_LIBRARY_PATH with LIBPATH to run successfully programs that
    were linked against local shared libraries."""
    # make it unique but preserve order ...
    libpath = uniquer(Split(kwargs.get('CXXTEST_LIBPATH', [])) +
                      Split(env.get(   'CXXTEST_LIBPATH', [])))
    if len(libpath) > 0:
        libpath = env.arg2nodes(libpath, env.fs.Dir)
        platform = env.get('PLATFORM','')
        if platform == 'win32':
            var = 'PATH'
        else:
            var = 'LD_LIBRARY_PATH'
        eenv = overrides.get('ENV', env['ENV'].copy())
        canonicalize = lambda p : p.abspath
        eenv[var] = PrependPath(eenv.get(var,''), libpath, os.pathsep, 1, canonicalize)
        overrides['ENV'] = eenv
    return overrides
def _arg2builders(env, arg):
    """Convert an argument to a list of builder objects it refers to.

    :Parameters:
        env : SCons.Environment.Environment
            a SCons Environment object
        arg
            an argument to be converted to a builders, may be builder name,
            builder object or a list of (intermixed) builder names/objects.

    The returned list contains no repetitions (objects are unique).
    """
    from SCons.Util import is_List, uniquer
    if not is_List(arg):
        arg = [ arg ]
    # Make it unique (but preserve order)
    # uniquer() is in SCons since 1.0.0 so it should be fine
    arg = uniquer(arg)
    builders = map(lambda b : _arg2builder(env,b), arg)
    return [b for b in builders if b is not None]
Beispiel #4
0
def _arg2builders(env, arg):
    """Convert an argument to a list of builder objects it refers to.

    :Parameters:
        env : SCons.Environment.Environment
            a SCons Environment object
        arg
            an argument to be converted to a builders, may be builder name,
            builder object or a list of (intermixed) builder names/objects.

    The returned list contains no repetitions (objects are unique).
    """
    from SCons.Util import is_List, uniquer
    if not is_List(arg):
        arg = [arg]
    # Make it unique (but preserve order)
    # uniquer() is in SCons since 1.0.0 so it should be fine
    arg = uniquer(arg)
    builders = map(lambda b: _arg2builder(env, b), arg)
    return [b for b in builders if b is not None]