build: added target directory options
authorAndrew Tridgell <tridge@samba.org>
Sun, 21 Feb 2010 02:55:58 +0000 (13:55 +1100)
committerAndrew Tridgell <tridge@samba.org>
Tue, 6 Apr 2010 10:26:34 +0000 (20:26 +1000)
lib/replace/wafsamba.py
lib/replace/wscript
source4/lib/ldb/wscript [new file with mode: 0644]

index f0f4910d155497b7d4fb130b0f65ceb2614ca05d..9ec905d3169f9ca874108216e2d58207cd9bf64b 100644 (file)
@@ -55,6 +55,15 @@ def SAMBA_CONFIG_H(conf):
         conf.write_config_header('config.h')
 
 
         conf.write_config_header('config.h')
 
 
+##############################################################
+# setup a configurable path
+@conf
+def CONFIG_PATH(conf, name, default):
+    if not name in conf.env:
+        conf.env[name] = conf.env['PREFIX'] + default
+    conf.define(name, conf.env[name], quote=True)
+
+
 ################################################################
 # magic rpath handling
 #
 ################################################################
 # magic rpath handling
 #
index e4eebdf6de5d7edca3bbc335dc9273ad5947ab95..dfeaab895bb8ae9860b1bf6bc6075806a76121d6 100644 (file)
@@ -5,6 +5,15 @@ import Options, os, wafsamba
 
 def set_options(opt):
     opt.tool_options('compiler_cc')
 
 def set_options(opt):
     opt.tool_options('compiler_cc')
+    opt.add_option('--libdir',
+                   help=("object code libraries [PREFIX/lib]"),
+                   action="store", dest='LIBDIR', default=None)
+    opt.add_option('--bindir',
+                   help=("user executables [PREFIX/bin]"),
+                   action="store", dest='BINDIR', default=None)
+    opt.add_option('--sbindir',
+                   help=("system admin executables [PREFIX/sbin]"),
+                   action="store", dest='SBINDIR', default=None)
     opt.add_option('--disable-rpath',
                    help=("Disable use of rpath"),
                    action="store_true", dest='disable_rpath', default=False)
     opt.add_option('--disable-rpath',
                    help=("Disable use of rpath"),
                    action="store_true", dest='disable_rpath', default=False)
@@ -16,6 +25,10 @@ def configure(conf):
     # load our local waf extensions
     conf.check_tool('wafsamba', tooldir=conf.curdir)
 
     # load our local waf extensions
     conf.check_tool('wafsamba', tooldir=conf.curdir)
 
+    conf.CONFIG_PATH('LIBDIR', '/lib')
+    conf.CONFIG_PATH('BINDIR', '/bin')
+    conf.CONFIG_PATH('SBINDIR', '/sbin')
+
     conf.check_tool('compiler_cc')
     conf.DEFUN('_GNU_SOURCE', 1)
     conf.DEFUN('_XOPEN_SOURCE_EXTENDED', 1)
     conf.check_tool('compiler_cc')
     conf.DEFUN('_GNU_SOURCE', 1)
     conf.DEFUN('_XOPEN_SOURCE_EXTENDED', 1)
diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript
new file mode 100644 (file)
index 0000000..cab5388
--- /dev/null
@@ -0,0 +1,43 @@
+srcdir = '.'
+blddir = 'build'
+
+LIBTDB_DIR='../../../lib/tdb'
+LIBTALLOC_DIR='../../../lib/talloc'
+
+def set_options(opt):
+    opt.recurse(LIBTDB_DIR)
+    opt.recurse(LIBTALLOC_DIR)
+
+def configure(conf):
+    conf.sub_config(LIBTDB_DIR)
+    conf.sub_config(LIBTALLOC_DIR)
+    conf.SAMBA_CONFIG_H()
+
+def build(bld):
+    bld.add_subdirs(LIBTDB_DIR)
+    bld.add_subdirs(LIBTALLOC_DIR)
+
+    LDB_TDB_SRC = bld.SUBDIR('ldb_tdb',
+                             '''ldb_tdb.c ldb_pack.c ldb_search.c ldb_index.c
+                             ldb_cache.c ldb_tdb_wrap.c''')
+    print "LDB_TDB_SRC=%s" % LDB_TDB_SRC
+
+    LDB_MAP_SRC = bld.SUBDIR('ldb_map',
+                             'ldb_map.c ldb_map_inbound.c ldb_map_outbound.c')
+
+    COMMON_SRC = bld.SUBDIR('common',
+                            '''ldb.c ldb_ldif.c ldb_parse.c ldb_msg.c ldb_utf8.c
+                            ldb_debug.c ldb_modules.c ldb_dn.c ldb_match.c
+                            ldb_attributes.c attrib_handlers.c ldb_controls.c qsort.c''')
+
+    MODULES_SRC = bld.SUBDIR('modules',
+                             'rdn_name.c asq.c paged_results.c sort.c')
+
+    bld.SAMBA_LIBRARY('ldb',
+                     LDB_TDB_SRC + ' ' + COMMON_SRC + ' ' + MODULES_SRC,
+                     'tdb talloc',
+                     'include')
+
+    bld.SAMBA_BINARY('ldbadd',
+                    'tools/ldbadd.c',
+                    'ldb')