summaryrefslogtreecommitdiff
path: root/source4/build/scons
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/scons')
-rw-r--r--source4/build/scons/samba.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/source4/build/scons/samba.py b/source4/build/scons/samba.py
new file mode 100644
index 0000000000..949be1c41a
--- /dev/null
+++ b/source4/build/scons/samba.py
@@ -0,0 +1,34 @@
+#!/usr/bin/python
+
+import SCons.Defaults
+import SCons.Util
+
+# Samba contains different "subsystems":
+# - binaries. Program()
+# receive list of component init functions
+# - "real" subsystems (that you might want to use as shared libs,
+# and depend on such as RPC, NDR, REGISTRY, SAMR, LDAP_SERVER, GENSEC, etc). "Libraries"
+# have init_function that receives list of backend init functions
+# - parts of subsystems (RPC_RAW, NDR_RAW, REGISTRY_CORE). have "parent". can have convienience init_function. Module()
+# - optional parts of subsystems (RPC_SMB, REGISTRY_NT4, SERVER_SERVICE_LDAP). also have "parent". have init_function
+
+# Library() builder
+# autoproto=True/False
+# proto_file=(defaults to include/proto.h)
+# optional=True/False
+# automatically get dependency on LIBREPLACE (unless this is LIBREPLACE, of course)
+#def library(env, target, source = None, autoproto = False, proto_file = None, optional = False):
+# print "IEKS: %s, %s\n" % (target, env['CC'])
+
+mergedobj_builder = SCons.Builder.Builder(action='ld -r -o $TARGET $SOURCES',
+ src_suffix='$OBJSUFFIX',
+ suffix='.mo',
+ src_builder='StaticObject'
+ )
+
+def generate(env):
+ env['BUILDERS']['MergedObject'] = mergedobj_builder
+ #env['BUILDERS']['Library'] = library
+
+def exists(env):
+ return True