+#!/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()
# 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')
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')
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')
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')