Rename 'errors' to 'samba-errors' and make it public.
[obnox/samba/samba-obnox.git] / lib / util / wscript_build
index 8cbb8bb8938422e5f1474568284f690ac6e4d6f2..31e29581e6ac4ae68a562aa871f6314eb785ca77 100755 (executable)
 #!/usr/bin/env python
 
-# 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='''talloc_stack.c smb_threads.c xfile.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 idtree.c debug.c''',
-                  public_deps='talloc pthread LIBCRYPTO',
-                  # 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,
+# Please add any new SAMBA_SUBSYSTEM/SAMBA_LIBRARY to the bottom of the file
+# unless they are also required to build standalone ctdb.
+
+bld.SAMBA_LIBRARY('time-basic',
+                  source='time_basic.c',
+                  deps='replace',
+                  private_library=True,
+                  local_include=False)
+
+bld.SAMBA_SUBSYSTEM('tini',
+                    source='tini.c',
+                    deps='',
+                    local_include=False)
+
+bld.SAMBA_SUBSYSTEM('tiniparser',
+                    source='tiniparser.c',
+                    deps='tini',
+                    local_include=False)
+
+bld.SAMBA_SUBSYSTEM('strv',
+                    source='strv.c',
+                    deps='talloc',
+                    local_include=False)
+
+bld.SAMBA_SUBSYSTEM('close-low-fd',
+                    source='close_low_fd.c',
+                    deps='replace',
+                    local_include=False)
+
+samba_debug_add_deps = ''
+samba_debug_add_inc  = ''
+
+if bld.CONFIG_SET('HAVE_GPFS'):
+    bld.SAMBA_SUBSYSTEM('gpfswrap',
+                        source='gpfswrap.c',
+                        deps='replace',
+                        local_include=False,
+                        includes=bld.CONFIG_GET('CPPPATH_GPFS'))
+    samba_debug_add_deps += ' gpfswrap'
+    samba_debug_add_inc  += bld.CONFIG_GET('CPPPATH_GPFS')
+
+bld.SAMBA_LIBRARY('samba-debug',
+                  source='debug.c',
+                  deps='replace time-basic close-low-fd talloc socket-blocking' + samba_debug_add_deps,
+                  public_deps='systemd systemd-journal lttng-ust',
                   local_include=False,
-                  public_headers='debug.h',
-                  header_path= [('*', 'util') ],
+                  includes=samba_debug_add_inc,
+                  private_library=True)
+
+bld.SAMBA_LIBRARY('socket-blocking',
+                  source='blocking.c',
+                  local_include=False,
+                  private_library=True)
+
+bld.SAMBA_LIBRARY('talloc_report',
+                  source='talloc_report.c',
+                  local_include=False,
+                  public_deps='talloc',
                   private_library=True
                   )
 
-if bld.env._SAMBA_BUILD_ == 4:
-    bld.SAMBA_LIBRARY('samba-util',
-                      source='''dprintf.c fault_s4.c data_blob.c
-                      ms_fnmatch.c parmlist.c substitute.c util_str.c
-                      ''',
-                      deps='samba-util-common',
-                      public_deps='talloc CHARSET execinfo uid_wrapper',
-                      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',
-                      header_path= [ ('dlinklist.h util.h', '.'), ('*', 'util') ],
-                      local_include=False,
-                      vnum='0.0.1',
-                      pc_files='samba-util.pc'
-                      )
+bld.SAMBA_SUBSYSTEM('samba-util-core',
+                    source='''xfile.c data_blob.c util_file.c time.c
+                              signal.c util.c idtree.c fault.c
+                              substitute.c util_process.c''',
+                    deps='''time-basic samba-debug socket-blocking talloc
+                            tevent execinfo pthread''',
+                    local_include=False)
+
+bld.SAMBA_LIBRARY('tevent-unix-util',
+                  source='tevent_unix.c',
+                  local_include=False,
+                  deps='tevent',
+                  public_headers='tevent_unix.h',
+                  header_path=[ ('*', 'util') ],
+                  pc_files=[],
+                  vnum='0.0.1')
 
+if not bld.env.SAMBA_UTIL_CORE_ONLY:
 
-bld.SAMBA_SUBSYSTEM('ASN1_UTIL',
-                    source='asn1.c',
-                    deps='talloc',
-                    local_include=False)
+    bld.env.public_headers_skip.append('charset_compat.h')
+
+    bld.SAMBA_LIBRARY('genrand',
+                      source='genrand.c',
+                      deps='replace socket-blocking sys_rw',
+                      local_include=False,
+                      private_library=True)
 
+    bld.SAMBA_BINARY('genrandperf',
+                     source='tests/genrandperf.c',
+                     deps='genrand replace',
+                     local_include=False,
+                     install=False)
+
+    bld.SAMBA_LIBRARY('samba-util',
+                  source='''talloc_stack.c smb_threads.c
+                    rbtree.c rfc1738.c become_daemon.c system.c select.c getpass.c
+                    genrand_util.c fsusage.c
+                    params.c util_id.c util_net.c
+                    util_strlist.c util_paths.c idtree_random.c base64.c
+                    util_str.c util_str_common.c ms_fnmatch.c
+                    server_id.c dprintf.c bitmap.c pidfile.c
+                    tevent_debug.c memcache.c''',
+                  deps='samba-util-core DYNCONFIG close-low-fd tini tiniparser genrand',
+                  public_deps='talloc tevent execinfo pthread LIBCRYPTO charset util_setid systemd systemd-daemon',
+                  public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h string_wrappers.h idtree.h idtree_random.h blocking.h signal.h substitute.h fault.h genrand.h',
+                  header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ],
+                  local_include=False,
+                  vnum='0.0.1',
+                  pc_files='samba-util.pc'
+                  )
 
-bld.SAMBA_SUBSYSTEM('UNIX_PRIVS',
-       source='unix_privs.c',
-       autoproto='unix_privs.h',
-       deps='replace talloc',
-       local_include=False,
-       )
+    bld.SAMBA_LIBRARY('samba-modules',
+                      source='modules.c',
+                      deps='samba-errors samba-util',
+                      local_include=False,
+                      private_library=True)
 
+    bld.SAMBA_LIBRARY('asn1util',
+                      source='asn1.c',
+                      deps='talloc samba-util',
+                      private_library=True,
+                      local_include=False)
 
-bld.SAMBA_LIBRARY('wrap_xattr',
-       source='wrap_xattr.c',
-       public_deps='attr',
-       deps='talloc',
-       local_include=False,
-       private_library=True
-       )
 
+    bld.SAMBA_SUBSYSTEM('UNIX_PRIVS',
+                        source='unix_privs.c',
+                        autoproto='unix_privs.h',
+                        deps='replace talloc',
+                        local_include=False,
+                        )
 
-bld.SAMBA_SUBSYSTEM('UTIL_TDB',
-       source='util_tdb.c',
-       local_include=False,
-       public_deps='tdb talloc'
-       )
 
-bld.SAMBA_SUBSYSTEM('UTIL_TEVENT',
-       source='tevent_unix.c tevent_ntstatus.c tevent_werror.c',
-       local_include=False,
-       public_deps='tevent',
-       public_headers='tevent_ntstatus.h tevent_unix.h tevent_werror.h',
-       header_path=[ ('*', 'util') ],
-       )
+    bld.SAMBA_LIBRARY('util_tdb',
+                      source='util_tdb.c',
+                      local_include=False,
+                      public_deps='tdb talloc',
+                      private_library=True
+                      )
 
+    bld.SAMBA_LIBRARY('tevent-util',
+                      source='tevent_ntstatus.c tevent_werror.c',
+                      local_include=False,
+                      public_deps='tevent samba-errors tevent-unix-util',
+                      public_headers='tevent_ntstatus.h tevent_werror.h',
+                      header_path=[ ('*', 'util') ],
+                      pc_files=[],
+                      vnum='0.0.1'
+                      )
 
-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_LIBRARY('util_setid',
+                      source='setid.c',
+                      local_include=False,
+                      private_library=True
+                      )
 
+    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',
+                        source='util_runcmd.c',
+                        local_include=False,
+                        public_deps='tevent'
+                        )
+
+    bld.SAMBA_SUBSYSTEM('UTIL_PW',
+                        source='util_pw.c',
+                        local_include=False,
+                        public_deps='talloc'
+                       )
+
+    bld.SAMBA_LIBRARY('server_id_db',
+                      source='server_id_db.c',
+                      deps='talloc tdb strv util_tdb tdb-wrap samba-util',
+                      local_include=False,
+                      private_library=True)
 
-bld.SAMBA_SUBSYSTEM('UTIL_RUNCMD',
-       source='util_runcmd.c',
-       local_include=False,
-       public_deps='tevent'
-       )
+    bld.SAMBA_LIBRARY('iov_buf',
+                      source='iov_buf.c',
+                      local_include=False,
+                      private_library=True)
 
+    bld.SAMBA3_LIBRARY('sys_rw',
+                       source='sys_rw.c sys_rw_data.c',
+                       deps='replace iov_buf',
+                       local_include=False,
+                       private_library=True)