mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
2479794acd
Posix systems.
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
"""Builder for static libraries composed of the contents of other static libraries.
|
|
|
|
The following rule creates a library "mylib" whose contents are the contents of
|
|
"firstlib", "secondlib", and all LIBDEPS dependencies of "firstlib" and
|
|
"secondlib". This creates self-contained static and shared libraries that can
|
|
be distributed to customers.
|
|
|
|
MergeLibrary('mylib', ['firstlib', 'secondlib'])
|
|
|
|
"""
|
|
|
|
import libdeps
|
|
from SCons.Action import Action
|
|
from SCons.Builder import Builder
|
|
|
|
def merge_library_method(env, target, source, LIBDEPS=None, **kwargs):
|
|
return env._MergeLibrary(target, [], LIBDEPS=source, **kwargs)
|
|
|
|
def exists( env ):
|
|
return True
|
|
|
|
def generate( env ):
|
|
merge_library = Builder(
|
|
action='$ARCOM $_LIBDEPS_OBJS',
|
|
src_prefix='$LIBPREFIX',
|
|
src_suffix='$LIBSUFFIX',
|
|
prefix='$LIBPREFIX',
|
|
suffix='$LIBSUFFIX',
|
|
emitter=libdeps.libdeps_emitter )
|
|
libdeps.update_scanner( merge_library )
|
|
env['BUILDERS']['_MergeLibrary'] = merge_library
|
|
env.AddMethod( merge_library_method, 'MergeLibrary' )
|