######################################################################
# this provides a way to save our dependency calculations between runs
savedeps_version = 3
-savedeps_inputs = ['samba_deps', 'samba_includes', 'local_include', 'local_include_first', 'samba_cflags', 'source', 'grouping_library']
+savedeps_inputs = ['samba_deps', 'samba_includes', 'local_include', 'local_include_first', 'samba_cflags',
+ 'source', 'grouping_library', 'ldflags']
savedeps_outputs = ['uselib', 'uselib_local', 'add_objects', 'includes', 'ccflags', 'ldflags', 'samba_deps_extended']
savedeps_outenv = ['INC_PATHS']
savedeps_envvars = ['NONSHARED_BINARIES', 'GLOBAL_DEPENDENCIES', 'EXTRA_CFLAGS', 'EXTRA_LDFLAGS' ]
vnum=None,
soname=None,
cflags='',
+ ldflags='',
external_library=False,
realname=None,
autoproto=None,
else:
bundled_name = PRIVATE_NAME(bld, libname, bundled_extension, private_library)
+ ldflags = TO_LIST(ldflags)
+
if private_library:
if vnum:
Logs.error("vnum is invalid for private libraries")
sys.exit(1)
- vnum = Utils.g_module.VERSION[0]
+ vnum = Utils.g_module.VERSION.split(".")[0]
+ version = "%s_%s" % (Utils.g_module.APPNAME, Utils.g_module.VERSION)
+ else:
+ version = "%s_%s" % (Utils.g_module.APPNAME, Utils.g_module.VERSION.split(".")[0])
+
+ if bld.env.HAVE_LD_VERSION_SCRIPT:
+ vscript = "%s.vscript" % libname
+ bld.SAMBA_GENERATOR(vscript,
+ rule="echo %s \{ global: \*\; \}\; > ${TGT}" % version.replace("-","_").upper(),
+ group='vscripts',
+ target=vscript)
+ ldflags.append("-Wl,--version-script=%s/%s" % (bld.path.abspath(bld.env), vscript))
features = 'cc cshlib symlink_lib install_lib'
if target_type == 'PYTHON':
source = [],
target = bundled_name,
depends_on = depends_on,
+ ldflags = ldflags,
samba_deps = deps,
samba_includes = includes,
local_include = local_include,
bld.env['USING_BUILD_GROUPS'] = True
bld.add_group('setup')
bld.add_group('build_compiler_source')
+ bld.add_group('vscripts')
bld.add_group('base_libraries')
bld.add_group('generators')
bld.add_group('compiler_prototypes')