s4-rodc: cope with missing searchFlags
[kai/samba.git] / source4 / wscript_build
index defb36b315f27b571cf909326b7c7c8f15a49a09..090c914ae73ea9b6c36ff0b8642c5bec497e836c 100644 (file)
+#!/usr/bin/env python
+
 # top level waf build script for samba4
 
-bld.BUILD_SUBDIR('dynconfig')
-bld.BUILD_SUBDIR('dsdb')
-bld.BUILD_SUBDIR('smbd')
-bld.BUILD_SUBDIR('cluster')
-bld.BUILD_SUBDIR('smbd')
-bld.BUILD_SUBDIR('libnet')
-bld.BUILD_SUBDIR('auth')
-bld.BUILD_SUBDIR('../nsswitch')
-bld.BUILD_SUBDIR('../nsswitch/libwbclient')
-bld.BUILD_SUBDIR('lib/samba3')
-bld.BUILD_SUBDIR('lib/socket')
-bld.BUILD_SUBDIR('lib/ldb')
-bld.BUILD_SUBDIR('../lib/util/charset')
-bld.BUILD_SUBDIR('lib/ldb-samba')
-bld.BUILD_SUBDIR('lib/tls')
-bld.BUILD_SUBDIR('lib/registry')
-bld.BUILD_SUBDIR('lib/messaging')
-bld.BUILD_SUBDIR('lib/events')
-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/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')
-bld.BUILD_SUBDIR('lib/com')
-bld.BUILD_SUBDIR('param')
-bld.BUILD_SUBDIR('smb_server')
-bld.BUILD_SUBDIR('rpc_server')
-bld.BUILD_SUBDIR('ldap_server')
-bld.BUILD_SUBDIR('web_server')
-bld.BUILD_SUBDIR('winbind')
-bld.BUILD_SUBDIR('nbt_server')
-bld.BUILD_SUBDIR('wrepl_server')
-bld.BUILD_SUBDIR('cldap_server')
-bld.BUILD_SUBDIR('ntp_signd')
-bld.BUILD_SUBDIR('utils/net')
-bld.BUILD_SUBDIR('utils')
-bld.BUILD_SUBDIR('ntvfs')
-bld.BUILD_SUBDIR('ntptr')
-bld.BUILD_SUBDIR('torture')
-bld.BUILD_SUBDIR('librpc')
-bld.BUILD_SUBDIR('client')
-bld.BUILD_SUBDIR('libcli')
-bld.BUILD_SUBDIR('../libcli/smb')
-bld.BUILD_SUBDIR('../libcli/cldap')
-bld.BUILD_SUBDIR('scripting/python')
-bld.BUILD_SUBDIR('kdc')
-bld.BUILD_SUBDIR('../lib/smbconf')
-bld.BUILD_SUBDIR('../lib/async_req')
-bld.BUILD_SUBDIR('../libcli/security')
-bld.BUILD_SUBDIR('../libcli/ldap')
-bld.BUILD_SUBDIR('../libcli/nbt')
-bld.BUILD_SUBDIR('../libcli/auth')
-bld.BUILD_SUBDIR('../libcli/drsuapi')
-bld.BUILD_SUBDIR('../libcli/samsync')
-bld.BUILD_SUBDIR('../libgpo')
-bld.BUILD_SUBDIR('../libcli/named_pipe_auth')
-bld.BUILD_SUBDIR('heimdal_build')
+import os
+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.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('sasl2', 'SASL')
+bld.TARGET_ALIAS('RPC_NDR_SRVSVC', 'NDR_SRVSVC')
+bld.TARGET_ALIAS('RPC_NDR_MGMT', 'dcerpc_mgmt')
+
+# missing subsystems - need looking at
+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('HDB_LDB', '')
+bld.SAMBA_SUBSYSTEM('NDR_MISC', '')
+bld.SAMBA_SUBSYSTEM('NDR_SAMR', '')
+bld.SAMBA_SUBSYSTEM('SCHANNELDB', '')
+bld.SAMBA_SUBSYSTEM('pyldb_util', '')
+bld.SAMBA_SUBSYSTEM('TORTURE_LDB_MODULE', '')
+
+
+bld.RECURSE('../lib/replace')
+bld.RECURSE('../lib/talloc')
+bld.RECURSE('../lib/tdb')
+bld.RECURSE('../lib/tevent')
+bld.RECURSE('lib/ldb')
+bld.RECURSE('dynconfig')
+bld.RECURSE('../lib/util/charset')
+bld.RECURSE('scripting/python')
+bld.RECURSE('param')
+bld.RECURSE('librpc')
+bld.RECURSE('dsdb')
+bld.RECURSE('smbd')
+bld.RECURSE('cluster')
+bld.RECURSE('smbd')
+bld.RECURSE('libnet')
+bld.RECURSE('auth')
+bld.RECURSE('../lib/iniparser/src')
+bld.RECURSE('../nsswitch')
+bld.RECURSE('../nsswitch/libwbclient')
+bld.RECURSE('lib/samba3')
+bld.RECURSE('lib/socket')
+bld.RECURSE('lib/ldb-samba')
+bld.RECURSE('lib/tls')
+bld.RECURSE('lib/registry')
+bld.RECURSE('lib/messaging')
+bld.RECURSE('lib/events')
+bld.RECURSE('lib/cmdline')
+bld.RECURSE('../lib/socket_wrapper')
+bld.RECURSE('../lib/nss_wrapper')
+bld.RECURSE('../lib/uid_wrapper')
+bld.RECURSE('../lib/popt')
+bld.RECURSE('lib/stream')
+bld.RECURSE('../lib/util')
+bld.RECURSE('../lib/tdr')
+bld.RECURSE('../lib/tsocket')
+bld.RECURSE('../lib/crypto')
+bld.RECURSE('../lib/torture')
+bld.RECURSE('../lib/zlib')
+bld.RECURSE('lib')
+bld.RECURSE('lib/com')
+bld.RECURSE('smb_server')
+bld.RECURSE('rpc_server')
+bld.RECURSE('ldap_server')
+bld.RECURSE('web_server')
+bld.RECURSE('winbind')
+bld.RECURSE('nbt_server')
+bld.RECURSE('wrepl_server')
+bld.RECURSE('cldap_server')
+bld.RECURSE('ntp_signd')
+bld.RECURSE('utils/net')
+bld.RECURSE('utils')
+bld.RECURSE('ntvfs')
+bld.RECURSE('ntptr')
+bld.RECURSE('torture')
+bld.RECURSE('../librpc')
+bld.RECURSE('client')
+bld.RECURSE('libcli')
+bld.RECURSE('../libcli/smb')
+bld.RECURSE('../libcli/cldap')
+bld.RECURSE('kdc')
+bld.RECURSE('../lib/smbconf')
+bld.RECURSE('../lib/async_req')
+bld.RECURSE('../libcli/security')
+bld.RECURSE('../libcli/ldap')
+bld.RECURSE('../libcli/nbt')
+bld.RECURSE('../libcli/auth')
+bld.RECURSE('../libcli/drsuapi')
+bld.RECURSE('../libcli/samsync')
+bld.RECURSE('lib/policy')
+bld.RECURSE('../libcli/named_pipe_auth')
+bld.RECURSE('heimdal_build')
+bld.RECURSE('lib/smbreadline')
+bld.RECURSE('../codepages')
+bld.RECURSE('setup')
+bld.RECURSE('scripting')
+bld.RECURSE('../pidl')
+bld.RECURSE('../lib')
+
+# install some extra empty directories
+bld.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging")