0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-28 16:24:56 +01:00
mongodb/site_scons/site_tools/mergelib.py

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' )