summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2010-05-11 17:44:25 +0200
committerKai Blin <kai@samba.org>2010-05-20 22:16:15 +0200
commit8e04ad2db1e3071e3297a315021fc5158134f575 (patch)
tree37b652042283a3be4a28a477cedec7891b3deca8
parent2650198ff70320cc9f251f2ce881c25932bc0e95 (diff)
downloadsamba-8e04ad2db1e3071e3297a315021fc5158134f575.tar.gz
samba-8e04ad2db1e3071e3297a315021fc5158134f575.tar.bz2
samba-8e04ad2db1e3071e3297a315021fc5158134f575.zip
s3-waf: build shared modules as subsystems
-rw-r--r--source3/wscript11
-rw-r--r--source3/wscript_build15
2 files changed, 20 insertions, 6 deletions
diff --git a/source3/wscript b/source3/wscript
index c1c5977cdd..907addb063 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -416,6 +416,17 @@ krb5_get_credentials_for_user krb5_get_host_realm krb5_free_host_realm''',
conf.SET_TARGET_TYPE('gssapi', 'EMPTY')
conf.SET_TARGET_TYPE('gssapi_krb5', 'EMPTY')
+ # FIXME: these should be tests for features, but the old build system just
+ # checks for OSes.
+ host_os = conf.env['SYSTEM_UNAME_SYSNAME'].lower()
+
+ # Python doesn't have case switches... :/
+ # FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*)
+ if host_os in ("linux"):
+ # obviously once this hook checks for more than just linux this needs to be adapted
+ conf.DEFINE('LINUX', '1')
+ conf.DEFINE('STAT_ST_BLOCKSIZE', '512')
+
conf.SAMBA_CONFIG_H('include/config.h')
def ctags(ctx):
diff --git a/source3/wscript_build b/source3/wscript_build
index f50d0ee516..c4b54bdc44 100644
--- a/source3/wscript_build
+++ b/source3/wscript_build
@@ -186,6 +186,9 @@ LIBADDNS_SRC0 = '''libaddns/dnsrecord.c libaddns/dnsutils.c libaddns/dnssock.c
LIBADDNS_SRC = '''${LIBADDNS_SRC0} ${SOCKET_WRAPPER_SRC}'''
GPEXT_STATIC = ''
+GPEXT_REGISTRY_SRC = 'libgpo/gpext/registry.c'
+GPEXT_SCRIPTS_SRC = 'libgpo/gpext/scripts.c'
+GPEXT_SECURITY_SRC = 'libgpo/gpext/security.c'
GPEXT_SRC = '''../libgpo/gpext/gpext.c ${GPEXT_STATIC}'''
@@ -493,8 +496,6 @@ VFS_ONEFS_SRC = '''modules/vfs_onefs.c modules/onefs_acl.c modules/onefs_system.
modules/onefs_open.c modules/onefs_streams.c modules/onefs_dir.c
modules/onefs_cbrl.c modules/onefs_notify.c modules/onefs_config.c'''
VFS_ONEFS_SHADOW_COPY_SRC = 'modules/vfs_onefs_shadow_copy.c modules/onefs_shadow_copy.c'
-PERFCOUNT_ONEFS_SRC = 'modules/perfcount_onefs.c'
-PERFCOUNT_TEST_SRC = 'modules/perfcount_test.c'
VFS_DIRSORT_SRC = 'modules/vfs_dirsort.c'
VFS_SCANNEDONLY_SRC = 'modules/vfs_scannedonly.c'
VFS_CROSSRENAME_SRC = 'modules/vfs_crossrename.c'
@@ -541,6 +542,8 @@ IDMAP_ADEX_SRC = '''winbindd/idmap_adex/idmap_adex.c
winbindd/idmap_adex/domain_util.c'''
PERFCOUNT_STATIC = ''
+PERFCOUNT_ONEFS_SRC = 'modules/perfcount_onefs.c'
+PERFCOUNT_TEST_SRC = 'modules/perfcount_test.c'
WINBINDD_SRC1 = '''winbindd/winbindd.c
winbindd/winbindd_group.c
@@ -822,8 +825,6 @@ bld.SAMBA_MKVERSION('include/version.h')
for prefix in bld.env.MODULE_PREFIXES:
static_key = "%s_STATIC" % prefix.upper()
shared_key = "%s_SHARED" % prefix.upper()
- #print "static %s modules %s" % (prefix, bld.env[static_key])
- #print "shared %s modules %s" % (prefix, bld.env[shared_key])
# Set up the static modules
static_src = locals()[static_key]
@@ -832,10 +833,12 @@ for prefix in bld.env.MODULE_PREFIXES:
# for some reason static_src doesn't seem to be a reference, so save it
# back to the locals
locals()[static_key] = static_src
- #print "%s = '%s'" % (static_key, static_src)
# Set up subsystems for the shared modules
- # FIXME: implement shared modules
+ for module in bld.env[shared_key]:
+ bld.SAMBA_SUBSYSTEM(module,
+ source="${%s_SRC}" % module,
+ vars=locals())
######################## SUBSYSTEMS #################################