[Scons-users] OSX Library link names include undesired prefix

edA-qa mort-ora-y eda-qa at disemia.com
Sun Aug 6 15:55:10 EDT 2017


After having getting my shared libraries working on Linux I'm trying now
on OSX. The approach provided before does not do the correct thing on
OSX. For example, instead of linking to `libleaf_util.dylib`, it links
to `build/libleaf_util.dylib`.

Library created as:

    lib_util_name = 'leaf_util'
    lib_util = env.SharedLibrary( lib_util_name, [
        'util/dump_base.cpp',
        'util/file.cpp',
        'util/number.cpp',
        'util/object_holder.cpp',
        'util/unicode.cpp',
        ] )

Then used as:

leaf = env.Program( 'leaf', [
    'bin/leaf.cpp',
    'bin/test_expecter.cpp',
    ],
    LIBS = env['LIBS'] + [ lib_lang_name, lib_parser_name,
lib_util_name, lib_ir_name, lib_ir_llvm_name, lib_runner_name ],
    )


Running `otool -L build/leaf` gives me:

    build/libleaf_util.dylib (compatibility version 0.0.0, current
version 0.0.0)


Using the `otool -l` option also doesn't list any RPATH, though I have
this configured:

    env['RPATH'] = Literal('\\$$ORIGIN')


Full SConscript file:
https://gist.github.com/mortoray/0eff2a9a066ad48a6aedab8766503865
Full wrapping SConstruct:
https://gist.github.com/mortoray/0c7485fa04afb8f4db099132e7b1e723

-- 
edA-qa mort-ora-y 
http://mortoray.com/

Leaf - the language we always wanted
http://leaflang.org/




More information about the Scons-users mailing list