From 57f06c8b19e02ba42df31cdc83aa1a3430f05f36 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 24 Feb 2012 08:25:22 +1100 Subject: [PATCH] build: Remove --builtin-libraries option from waf This is often confused with --bundled-libraries, but actually controls putting libraries into other libraries. This can then result in duplicate symbols, particularly between libraries and modules. Andrew Bartlett --- buildtools/wafsamba/samba_bundled.py | 17 ----------------- buildtools/wafsamba/samba_deps.py | 5 +---- buildtools/wafsamba/wafsamba.py | 10 ++-------- buildtools/wafsamba/wscript | 6 ------ wscript | 1 - 5 files changed, 3 insertions(+), 36 deletions(-) diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py index a29bfa3..1b37d74 100644 --- a/buildtools/wafsamba/samba_bundled.py +++ b/buildtools/wafsamba/samba_bundled.py @@ -27,23 +27,6 @@ def target_in_list(target, lst, default): return default -def BUILTIN_LIBRARY(bld, name): - '''return True if a library should be builtin - instead of being built as a shared lib''' - if bld.env.DISABLE_SHARED: - return True - return target_in_list(name, bld.env.BUILTIN_LIBRARIES, False) -Build.BuildContext.BUILTIN_LIBRARY = BUILTIN_LIBRARY - - -def BUILTIN_DEFAULT(opt, builtins): - '''set a comma separated default list of builtin libraries for this package''' - if 'BUILTIN_LIBRARIES_DEFAULT' in Options.options: - return - Options.options['BUILTIN_LIBRARIES_DEFAULT'] = builtins -Options.Handler.BUILTIN_DEFAULT = BUILTIN_DEFAULT - - def PRIVATE_EXTENSION_DEFAULT(opt, extension, noextension=''): '''set a default private library extension''' if 'PRIVATE_EXTENSION_DEFAULT' in Options.options: diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index d342f0b..e350213 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -3,7 +3,6 @@ import Build, os, sys, re, Environment, Logs, time from samba_utils import * from samba_autoconf import * -from samba_bundled import BUILTIN_LIBRARY @conf def ADD_GLOBAL_DEPENDENCY(ctx, dep): @@ -455,9 +454,7 @@ def build_direct_deps(bld, tgt_list): t.direct_syslibs.add(d) if d in syslib_deps: for implied in TO_LIST(syslib_deps[d]): - if BUILTIN_LIBRARY(bld, implied): - t.direct_objects.add(implied) - elif targets[implied] == 'SYSLIB': + if targets[implied] == 'SYSLIB': t.direct_syslibs.add(implied) elif targets[implied] in ['LIBRARY', 'MODULE']: t.direct_libs.add(implied) diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index fd72cf3..3560070 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -145,10 +145,7 @@ def SAMBA_LIBRARY(bld, libname, source, SET_TARGET_TYPE(bld, libname, 'EMPTY') return - if BUILTIN_LIBRARY(bld, libname): - obj_target = libname - else: - obj_target = libname + '.objlist' + obj_target = libname + '.objlist' if group == 'libraries': subsystem_group = 'main' @@ -177,9 +174,6 @@ def SAMBA_LIBRARY(bld, libname, source, local_include = local_include, global_include = global_include) - if BUILTIN_LIBRARY(bld, libname): - return - if not SET_TARGET_TYPE(bld, libname, target_type): return @@ -409,7 +403,7 @@ def SAMBA_MODULE(bld, modname, source, if subdir: source = bld.SUBDIR(subdir, source) - if internal_module or BUILTIN_LIBRARY(bld, modname): + if internal_module: bld.SAMBA_SUBSYSTEM(modname, source, deps=deps, includes=includes, diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript index 5c5e249..0472514 100755 --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript @@ -37,11 +37,6 @@ def set_options(opt): help=("comma separated list of libraries to not apply extension to [%s]" % extension_exception), action="store", dest='PRIVATE_EXTENSION_EXCEPTION', default=extension_exception) - builtin_defauilt = Options.options['BUILTIN_LIBRARIES_DEFAULT'] - gr.add_option('--builtin-libraries', - help=("command separated list of libraries to build directly into binaries [%s]" % builtin_defauilt), - action="store", dest='BUILTIN_LIBRARIES', default=builtin_defauilt) - gr.add_option('--minimum-library-version', help=("list of minimum system library versions (LIBNAME1:version,LIBNAME2:version)"), action="store", dest='MINIMUM_LIBRARY_VERSION', default='') @@ -227,7 +222,6 @@ def configure(conf): conf.env.MODULESDIR = Options.options.MODULESDIR conf.env.PRIVATELIBDIR = Options.options.PRIVATELIBDIR conf.env.BUNDLED_LIBS = Options.options.BUNDLED_LIBS.split(',') - conf.env.BUILTIN_LIBRARIES = Options.options.BUILTIN_LIBRARIES.split(',') conf.env.DISABLE_SHARED = Options.options.disable_shared conf.env.NONSHARED_BINARIES = Options.options.NONSHARED_BINARIES.split(',') diff --git a/wscript b/wscript index 5901f5a..9f1efc1 100755 --- a/wscript +++ b/wscript @@ -18,7 +18,6 @@ samba_dist.DIST_BLACKLIST('.gitignore .bzrignore') Options.default_prefix = '/usr/local/samba' def set_options(opt): - opt.BUILTIN_DEFAULT('NONE') opt.PRIVATE_EXTENSION_DEFAULT('samba4') opt.RECURSE('lib/replace') opt.RECURSE('dynconfig') -- 1.7.7.6