lib/util use modules_path(), data_path() and shlib_ext() from source3
[sfrench/samba-autobuild/.git] / lib / util / wscript_build
old mode 100644 (file)
new mode 100755 (executable)
index aacd415..8ce30eb
@@ -1,25 +1,64 @@
 #!/usr/bin/env python
 
-bld.SAMBA_LIBRARY('LIBSAMBA-UTIL',
-       source='xfile.c debug.c fault.c signal.c system.c time.c genrand.c dprintf.c util_str.c rfc1738.c substitute.c util_strlist.c util_file.c data_blob.c util.c blocking.c util_net.c fsusage.c ms_fnmatch.c mutex.c idtree.c become_daemon.c rbtree.c talloc_stack.c smb_threads.c params.c parmlist.c util_id.c select.c',
-       public_deps='talloc LIBCRYPTO CHARSET execinfo uid_wrapper',
-       public_headers='attr.h byteorder.h data_blob.h debug.h memory.h mutex.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h util.h',
-       header_path= [ ('dlinklist.h util.h', '.'), ('*', 'util') ],
-       local_include=False,
-       vnum='0.0.1',
-       pc_files='samba-util.pc'
-       )
+common_util_sources = '''talloc_stack.c smb_threads.c xfile.c data_blob.c
+                    util_file.c time.c rbtree.c rfc1738.c select.c
+                    genrand.c fsusage.c blocking.c become_daemon.c
+                    signal.c system.c params.c util.c util_id.c util_net.c
+                    util_strlist.c util_paths.c idtree.c debug.c fault.c base64.c
+                    util_str.c util_str_common.c substitute.c ms_fnmatch.c'''
+
+common_util_headers = 'debug.h'
+common_util_public_deps = 'talloc pthread LIBCRYPTO CHARSET'
+s4_util_sources = '''dprintf.c parmlist.c'''
+s4_util_deps = 'DYNCONFIG'
+s4_util_public_deps = 'talloc execinfo uid_wrapper'
+s4_util_public_headers = 'attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h util.h string_wrappers.h'
+s4_util_header_path = [ ('dlinklist.h util.h', '.'), ('*', 'util') ]
 
+if bld.env._SAMBA_BUILD_ == 3:
+    # as we move files into common between samba-util and samba-util3, move them here.
+    # Both samba-util and samba-util3 depend on this private library
+    bld.SAMBA_LIBRARY('samba-util-common',
+                    source=common_util_sources,
+                    public_deps=common_util_public_deps,
+                    # until we get all the dependencies in this library in common
+                    # we need to allow this library to be built with unresolved symbols
+                    allow_undefined_symbols=True,
+                    local_include=False,
+                    public_headers=common_util_headers,
+                    header_path= [('*', 'util') ],
+                    private_library=True
+                    )
 
-bld.SAMBA_SUBSYSTEM('ASN1_UTIL',
-                    source='asn1.c',
-                    deps='talloc',
-                    local_include=False)
+else:
+    bld.SAMBA_LIBRARY('samba-util',
+                      source=s4_util_sources + " " + common_util_sources,
+                      deps=s4_util_deps,
+                      public_deps=s4_util_public_deps + ' ' + common_util_public_deps,
+                      public_headers=s4_util_public_headers + ' ' + common_util_headers,
+                      header_path= s4_util_header_path,
+                      local_include=False,
+                      vnum='0.0.1',
+                      pc_files='samba-util.pc'
+                      )
+
+    # dummy subsystem for avoid wider deps changes.
+    bld.SAMBA_SUBSYSTEM('samba-util-common',
+                        source=[],
+                        deps='samba-util',
+                        local_include=False,)
+
+bld.SAMBA_LIBRARY('asn1util',
+                  source='asn1.c',
+                  deps='talloc samba-util-common',
+                  private_library=True,
+                  local_include=False)
 
 
 bld.SAMBA_SUBSYSTEM('UNIX_PRIVS',
        source='unix_privs.c',
        autoproto='unix_privs.h',
+       deps='replace talloc',
        local_include=False,
        )
 
@@ -33,10 +72,11 @@ bld.SAMBA_LIBRARY('wrap_xattr',
        )
 
 
-bld.SAMBA_SUBSYSTEM('UTIL_TDB',
+bld.SAMBA_LIBRARY('UTIL_TDB',
        source='util_tdb.c',
        local_include=False,
-       public_deps='tdb talloc'
+       public_deps='tdb talloc',
+                  private_library=True
        )
 
 bld.SAMBA_SUBSYSTEM('UTIL_TEVENT',
@@ -48,12 +88,13 @@ bld.SAMBA_SUBSYSTEM('UTIL_TEVENT',
        )
 
 
-bld.SAMBA_SUBSYSTEM('UTIL_LDB',
-       source='util_ldb.c',
-        local_include=False,
-       public_deps='ldb',
-        public_headers='util_ldb.h'
-       )
+if bld.env._SAMBA_BUILD_ == 4:
+       bld.SAMBA_SUBSYSTEM('util_ldb',
+               source='util_ldb.c',
+               local_include=False,
+               public_deps='ldb',
+               public_headers='util_ldb.h'
+               )
 
 
 bld.SAMBA_SUBSYSTEM('UTIL_RUNCMD',
@@ -62,3 +103,17 @@ bld.SAMBA_SUBSYSTEM('UTIL_RUNCMD',
        public_deps='tevent'
        )
 
+bld.SAMBA_SUBSYSTEM('UTIL_PW',
+       source='util_pw.c',
+       local_include=False,
+       public_deps='talloc'
+       )
+
+
+bld.SAMBA_LIBRARY('tdb-wrap',
+                  source='tdb_wrap.c',
+                  deps='tdb talloc samba-util',
+                  private_library=True,
+                  local_include=False
+                  )
+