(compiler, library_dirs, runtime_library_dirs, libraries)
return lib_opts
Generate linker options for searching library directories and
    linking with specific libraries.  'libraries' and 'library_dirs' are,
    respectively, lists of library names (not filenames!) and search
    directories.  Returns a list of command-line options suitable for use
    with some compiler (depending on the two format strings passed in).
Generate linker options for searching library directories and
    linking with specific libraries.  'libraries' and 'library_dirs' are,
    respectively, lists of library names (not filenames!) and search
    directories.  Returns a list of command-line options suitable for use
    with some compiler (depending on the two format strings passed in).
Generate linker options for searching library directories and linking with specific libraries . libraries and library_dirs are respectively lists of library names ( not filenames! ) and search directories . Returns a list of command - line options suitable for use with some compiler ( depending on the two format strings passed in ) .
def gen_lib_options (compiler, library_dirs, runtime_library_dirs, libraries):
    """Generate linker options for searching library directories and
    linking with specific libraries.  'libraries' and 'library_dirs' are,
    respectively, lists of library names (not filenames!) and search
    directories.  Returns a list of command-line options suitable for use
    with some compiler (depending on the two format strings passed in).
    """
    lib_opts = []

    for dir in library_dirs:
        lib_opts.append(compiler.library_dir_option(dir))

    for dir in runtime_library_dirs:
        opt = compiler.runtime_library_dir_option(dir)
        if isinstance(opt, list):
            lib_opts = lib_opts + opt
        else:
            lib_opts.append(opt)

    # XXX it's important that we *not* remove redundant library mentions!
    # sometimes you really do have to say "-lfoo -lbar -lfoo" in order to
    # resolve all symbols.  I just hope we never have to say "-lfoo obj.o
    # -lbar" to get things to work -- that's certainly a possibility, but a
    # pretty nasty way to arrange your C code.

    for lib in libraries:
        (lib_dir, lib_name) = os.path.split(lib)
        if lib_dir:
            lib_file = compiler.find_library_file([lib_dir], lib_name)
            if lib_file:
                lib_opts.append(lib_file)
            else:
                compiler.warn("no library file corresponding to "
                              "'%s' found (skipping)" % lib)
        else:
            lib_opts.append(compiler.library_option (lib))
    return lib_opts
def gen_lib_options ( compiler , library_dirs , runtime_library_dirs , libraries ) : lib_opts = [ ] for dir in library_dirs : lib_opts . append ( compiler . library_dir_option ( dir ) ) for dir in runtime_library_dirs : opt = compiler . runtime_library_dir_option ( dir ) if isinstance ( opt , list ) : lib_opts = lib_opts + opt else : lib_opts . append ( opt ) # XXX it's important that we *not* remove redundant library mentions! # sometimes you really do have to say "-lfoo -lbar -lfoo" in order to # resolve all symbols.  I just hope we never have to say "-lfoo obj.o # -lbar" to get things to work -- that's certainly a possibility, but a # pretty nasty way to arrange your C code. for lib in libraries : ( lib_dir , lib_name ) = os . path . split ( lib ) if lib_dir : lib_file = compiler . find_library_file ( [ lib_dir ] , lib_name ) if lib_file : lib_opts . append ( lib_file ) else : compiler . warn ( "no library file corresponding to " "'%s' found (skipping)" % lib ) else : lib_opts . append ( compiler . library_option ( lib ) ) return lib_opts