summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-03-21 11:04:57 +1100
committerAndrew Tridgell <tridge@samba.org>2010-04-06 20:26:59 +1000
commite8775226ad2e40b96d8d5aae6c31c5845c562f20 (patch)
tree2d8740c627f74592e7208041432f8f2a3c8f4046
parent69c065c719c208c5ef0fd8cb5df55621dc77a3e1 (diff)
downloadsamba-e8775226ad2e40b96d8d5aae6c31c5845c562f20.tar.gz
samba-e8775226ad2e40b96d8d5aae6c31c5845c562f20.tar.bz2
samba-e8775226ad2e40b96d8d5aae6c31c5845c562f20.zip
build: added --disable-shared option
-rw-r--r--buildtools/wafsamba/wafsamba.py16
-rw-r--r--lib/replace/wscript7
2 files changed, 17 insertions, 6 deletions
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 7324f8ff48..bfe20ce5eb 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 97e5534d5d..f6c1903091 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)