From e8775226ad2e40b96d8d5aae6c31c5845c562f20 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 21 Mar 2010 11:04:57 +1100 Subject: [PATCH] build: added --disable-shared option --- buildtools/wafsamba/wafsamba.py | 16 +++++++++++----- lib/replace/wscript | 7 ++++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 7324f8ff48c..bfe20ce5ebd 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -79,10 +79,10 @@ def SAMBA_LIBRARY(bld, libname, source, SET_TARGET_TYPE(bld, libname, 'EMPTY') return - if not SET_TARGET_TYPE(bld, libname, 'LIBRARY'): - return - - obj_target = libname + '.objlist' + if bld.env.DISABLE_SHARED: + obj_target = libname + else: + obj_target = libname + '.objlist' # first create a target for building the object files for this library # by separating in this way, we avoid recompiling the C files @@ -99,6 +99,12 @@ def SAMBA_LIBRARY(bld, libname, source, depends_on = depends_on, local_include = local_include) + if bld.env.DISABLE_SHARED: + return + + if not SET_TARGET_TYPE(bld, libname, 'LIBRARY'): + return + # the library itself will depend on that object target deps += ' ' + public_deps deps = TO_LIST(deps) @@ -283,7 +289,7 @@ def SAMBA_MODULE(bld, modname, source, # all disabled bld.ADD_INIT_FUNCTION(subsystem, modname, init_function) - if internal_module: + if internal_module or bld.env.DISABLE_SHARED: # treat internal modules as subsystems for now SAMBA_SUBSYSTEM(bld, modname, source, deps=deps, diff --git a/lib/replace/wscript b/lib/replace/wscript index 97e5534d5db..f6c19030913 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -20,6 +20,9 @@ def set_options(opt): opt.add_option('--sbindir', help=("system admin executables [PREFIX/sbin]"), action="store", dest='SBINDIR', default='${PREFIX}/sbin') + opt.add_option('--disable-shared', + help=("Disable all use of shared libraries"), + action="store_true", dest='disable_shared', default=False) opt.add_option('--disable-rpath', help=("Disable use of rpath for build binaries"), action="store_true", dest='disable_rpath_build', default=False) @@ -70,8 +73,10 @@ def configure(conf): conf.env.BINDIR = Options.options.BINDIR conf.env.SBINDIR = Options.options.SBINDIR + conf.env.DISABLE_SHARED = Options.options.disable_shared + # check for rpath - if conf.CHECK_RPATH_SUPPORT(): + if not conf.env.DISABLE_SHARED and conf.CHECK_RPATH_SUPPORT(): conf.env.RPATH_ON_BUILD = not Options.options.disable_rpath_build conf.env.RPATH_ON_INSTALL = (conf.env.RPATH_ON_BUILD and not Options.options.disable_rpath_install) -- 2.11.4.GIT