s4-waf: cleaned up tevent dependency
[kai/samba.git] / source4 / wscript_build
index a924dad2ee570ab5c27bcc1f637cf671882ff681..569f2e40a594c480bece4bdc1ba58062b2b21ac5 100644 (file)
@@ -1,10 +1,10 @@
+#!/usr/bin/env python
+
 # top level waf build script for samba4
 
 import os
 srcdir = ".."
 
-bld.env.TOPDIR = os.path.normpath(os.path.join(os.environ.get('PWD'), srcdir))
-
 # create separate build groups for building the asn1 and et compiler, then
 # building the C from ASN1 and IDL, and finally the main build process
 bld.SETUP_BUILD_GROUPS()
@@ -13,37 +13,32 @@ bld.SAMBA_MKVERSION('version.h')
 
 # bld.ENABLE_MAGIC_ORDERING()
 
+# we don't always use consistent names for our subsystems.
+# this sets up some aliases
 bld.TARGET_ALIAS('attr', 'XATTR')
-bld.TARGET_ALIAS('execinfo', 'EXECINFO')
-bld.TARGET_ALIAS('popt', 'LIBPOPT')
+bld.TARGET_ALIAS('sasl2', 'SASL')
+bld.TARGET_ALIAS('RPC_NDR_SRVSVC', 'NDR_SRVSVC')
+bld.TARGET_ALIAS('RPC_NDR_MGMT', 'dcerpc_mgmt')
 
-# missing subsystems
-bld.SAMBA_SUBSYSTEM('pyldb_util', '')
-bld.SAMBA_SUBSYSTEM('pyldb', '')
-bld.SAMBA_SUBSYSTEM('dcerpc_mgmt', '')
-bld.SAMBA_SUBSYSTEM('TORTURE_LDB_MODULE', '')
-bld.SAMBA_SUBSYSTEM('INTL', '')
-bld.SAMBA_SUBSYSTEM('NDR_SAMR', '')
-bld.SAMBA_SUBSYSTEM('LIBLDB_CMDLINE', '')
-bld.SAMBA_SUBSYSTEM('NETAPI', '')
-bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
-bld.SAMBA_SUBSYSTEM('SMBREADLINE', '')
-bld.SAMBA_SUBSYSTEM('OPENPTY', '')
-bld.SAMBA_SUBSYSTEM('SMBCLIENT', '')
-bld.SAMBA_SUBSYSTEM('BLKID', '')
-bld.SAMBA_SUBSYSTEM('LIBTEVENT_EXT', '')
-bld.SAMBA_SUBSYSTEM('PTHREAD', '')
-bld.SAMBA_SUBSYSTEM('CRYPT', '')
-bld.SAMBA_SUBSYSTEM('PAM', '')
-bld.SAMBA_SUBSYSTEM('SASL', '')
+# missing subsystems - need looking at
+bld.SAMBA_SUBSYSTEM('INTL', '')         # external gettext library
+bld.SAMBA_SUBSYSTEM('NETAPI', '')       # for external libnet
+bld.SAMBA_SUBSYSTEM('OPENPTY', '')      # external openpty library
+bld.SAMBA_SUBSYSTEM('SMBCLIENT', '')    # for external libsmbclient
+bld.SAMBA_SUBSYSTEM('BLKID', '')        # blkid library from e2fsprogs
+bld.SAMBA_SUBSYSTEM('SETPROCTITLE', '') # external setproctitle library
+
+# subsystems that are confirmed to be missing. These should
+# be removed from the build completely when we only have
+# one build system
+bld.SAMBA_SUBSYSTEM('DCOM_PROXY_DCOM', '')
 bld.SAMBA_SUBSYSTEM('smbcalls', '')
-bld.SAMBA_SUBSYSTEM('SETPROCTITLE', '')
-bld.SAMBA_SUBSYSTEM('ZLIB', '')
-bld.SAMBA_SUBSYSTEM('NDR_SRVSVC', '')
-bld.SAMBA_SUBSYSTEM('ICONV', '')
+bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
 bld.SAMBA_SUBSYSTEM('NDR_MISC', '')
+bld.SAMBA_SUBSYSTEM('NDR_SAMR', '')
 bld.SAMBA_SUBSYSTEM('SCHANNELDB', '')
-bld.SAMBA_SUBSYSTEM('DCOM_PROXY_DCOM', '')
+bld.SAMBA_SUBSYSTEM('pyldb_util', '')
+bld.SAMBA_SUBSYSTEM('TORTURE_LDB_MODULE', '')
 
 
 bld.BUILD_SUBDIR('../lib/replace')
@@ -54,6 +49,7 @@ bld.BUILD_SUBDIR('lib/ldb')
 bld.BUILD_SUBDIR('dynconfig')
 bld.BUILD_SUBDIR('../lib/util/charset')
 bld.BUILD_SUBDIR('scripting/python')
+bld.BUILD_SUBDIR('../lib/subunit/python')
 bld.BUILD_SUBDIR('param')
 bld.BUILD_SUBDIR('librpc')
 bld.BUILD_SUBDIR('dsdb')
@@ -75,12 +71,14 @@ bld.BUILD_SUBDIR('lib/cmdline')
 bld.BUILD_SUBDIR('../lib/socket_wrapper')
 bld.BUILD_SUBDIR('../lib/nss_wrapper')
 bld.BUILD_SUBDIR('../lib/uid_wrapper')
+bld.BUILD_SUBDIR('../lib/popt')
 bld.BUILD_SUBDIR('lib/stream')
 bld.BUILD_SUBDIR('../lib/util')
 bld.BUILD_SUBDIR('../lib/tdr')
 bld.BUILD_SUBDIR('../lib/tsocket')
 bld.BUILD_SUBDIR('../lib/crypto')
 bld.BUILD_SUBDIR('../lib/torture')
+bld.BUILD_SUBDIR('../lib/zlib')
 bld.BUILD_SUBDIR('lib')
 bld.BUILD_SUBDIR('lib/com')
 bld.BUILD_SUBDIR('smb_server')
@@ -114,6 +112,8 @@ bld.BUILD_SUBDIR('../libcli/samsync')
 bld.BUILD_SUBDIR('../libgpo')
 bld.BUILD_SUBDIR('../libcli/named_pipe_auth')
 bld.BUILD_SUBDIR('heimdal_build')
-
-bld.ENFORCE_GROUP_ORDERING()
-bld.CHECK_ORPANED_TARGETS()
+bld.BUILD_SUBDIR('lib/smbreadline')
+bld.BUILD_SUBDIR('../codepages')
+bld.BUILD_SUBDIR('setup')
+bld.BUILD_SUBDIR('scripting')
+bld.BUILD_SUBDIR('../pidl')