s3-waf: clean up includes
[ira/wip.git] / source3 / wscript_build
index 324c60b90defc2b9638495d8869ce973003a3619..5fda16f5794bf03dd414c757a03f842b47b62412 100644 (file)
@@ -10,6 +10,9 @@ TDB_LIB_SRC = '''lib/util_tdb.c ../lib/util/util_tdb.c
 
 TDB_VALIDATE_SRC = '''lib/tdb_validate.c'''
 
+SMBLDAP = bld.env.SMBLDAP or ""
+SMBLDAPUTIL = bld.env.SMBLDAPUTIL or ""
+
 SMBLDAP_SRC = '''${SMBLDAP} ${SMBLDAPUTIL}'''
 
 VERSION_SRC = '''lib/version.c'''
@@ -32,11 +35,7 @@ LIBNDR_DRSUAPI_SRC = '''../librpc/ndr/ndr_drsuapi.c
                      ../librpc/ndr/ndr_drsblobs.c
                      ../librpc/gen_ndr/ndr_drsblobs.c'''
 
-ZLIB_SRC = '''${ZLIB_SRCS}'''
-
-COMPRESSION_SRC = '''../lib/compression/mszip.c
-                                  ../lib/compression/lzxpress.c
-                                  ${ZLIB_SRC}'''
+COMPRESSION_SRC = '../lib/compression/mszip.c ../lib/compression/lzxpress.c'
 
 DRSUAPI_SRC = '''${LIBNDR_DRSUAPI_SRC}
               ${COMPRESSION_SRC}'''
@@ -129,10 +128,6 @@ PTHREADPOOL_SRC = ''
 
 AUTH_STATIC = ''
 
-SMBLDAP = ''
-
-SMBLDAPUTIL = ''
-
 LIBREPLACE_SRCS = ''
 
 SOCKET_WRAPPER_SRCS = ''
@@ -178,7 +173,7 @@ LIB_SRC = '''${LIBSAMBAUTIL_SRC} ${UTIL_SRC} ${CRYPTO_SRC}
           ../libcli/security/dom_sid.c ../libcli/security/security_descriptor.c'''
 
 LIB_DUMMY_SRC = '''lib/dummysmbd.c lib/dummyroot.c'''
-LIB_NONSMBD_SRC = '''${LIB_SRC} ${LIB_DUMMY_SRC}'''
+LIB_NONSMBD_SRC = '''${LIB_DUMMY_SRC}'''
 
 READLINE_SRC = '''lib/readline.c'''
 
@@ -188,7 +183,7 @@ POPT_LIB_SRC = '''lib/popt_common.c'''
 
 PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/util.c lib/sharesec.c lib/ldap_debug_handler.c'''
 PARAM_REG_ADD_SRC = '''${REG_SMBCONF_SRC} ${LIBSMBCONF_SRC} ${PRIVILEGES_BASIC_SRC}'''
-PARAM_SRC = '''${PARAM_WITHOUT_REG_SRC} ${PARAM_REG_ADD_SRC}'''
+PARAM_SRC = '''${PARAM_REG_ADD_SRC}'''
 
 KRBCLIENT_SRC = '''libads/kerberos.c libads/ads_status.c'''
 
@@ -215,8 +210,6 @@ LIBADS_SERVER_SRC = '''libads/kerberos_verify.c libads/authdata.c
                     ../librpc/ndr/ndr_krb5pac.c
                     ../librpc/gen_ndr/ndr_krb5pac.c'''
 
-SECRETS_SRC = '''librpc/gen_ndr/ndr_secrets.c'''
-
 LIBNBT_SRC = '''../libcli/nbt/nbtname.c
              ../libcli/netlogon.c
              ../libcli/ndr_netlogon.c
@@ -237,9 +230,7 @@ LIBSMB_ERR_SRC0 = '''${NTERR_SRC} ${DOSERR_SRC} ${ERRORMAP_SRC} ${DCE_RPC_ERR_SR
 
 LIBSMB_ERR_SRC1 = '''../libcli/auth/smbdes.c ../libcli/auth/smbencrypt.c ../libcli/auth/msrpc_parse.c ../libcli/auth/session.c'''
 
-LIBSMB_ERR_SRC = '''${LIBSMB_ERR_SRC0} ${LIBSMB_ERR_SRC1}
-                 ${RPC_PARSE_SRC1}
-                 ${SECRETS_SRC}'''
+LIBSMB_ERR_SRC = '${LIBSMB_ERR_SRC0} ${LIBSMB_ERR_SRC1} ${RPC_PARSE_SRC1}'
 
 LIBSMB_SRC0 = '''
                ../libcli/auth/ntlm_check.c
@@ -248,20 +239,15 @@ LIBSMB_SRC0 = '''
                ${LIBNDR_NTLMSSP_SRC}
                ../libcli/auth/ntlmssp_ndr.c'''
 
-LIBSAMBA_SRC = '''${LIBSMB_SRC0}
-               ${LIBSMB_ERR_SRC}'''
+LIBSAMBA_SRC = '${LIBSMB_SRC0}'
 
 LIBCLI_LDAP_MESSAGE_SRC = '''../libcli/ldap/ldap_message.c'''
 LIBCLI_LDAP_NDR_SRC = '''../libcli/ldap/ldap_ndr.c'''
 
-LIBTSOCKET_SRC = '''../lib/tsocket/tsocket.c
-                ../lib/tsocket/tsocket_helpers.c
-                ../lib/tsocket/tsocket_bsd.c'''
-
 CLDAP_SRC = '''libads/cldap.c
         ../libcli/cldap/cldap.c
         ../lib/util/idtree.c
-        ${LIBCLI_LDAP_MESSAGE_SRC} ${LIBCLI_LDAP_NDR_SRC} ${LIBTSOCKET_SRC}'''
+        ${LIBCLI_LDAP_MESSAGE_SRC} ${LIBCLI_LDAP_NDR_SRC}'''
 
 TLDAP_SRC = '''lib/tldap.c lib/tldap_util.c lib/util_tsock.c'''
 
@@ -274,14 +260,12 @@ SCHANNEL_SRC = '''../libcli/auth/credentials.c
 LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
              libsmb/clikrb5.c libsmb/clispnego.c
              ../libcli/auth/spnego_parse.c
-             ../lib/util/asn1.c
              libsmb/clirap.c libsmb/clierror.c libsmb/climessage.c
              libsmb/clireadwrite.c libsmb/clilist.c libsmb/cliprint.c
              libsmb/clitrans.c libsmb/clisecdesc.c libsmb/clidgram.c
              libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
              libsmb/clioplock.c libsmb/clirap2.c
              libsmb/smb_seal.c libsmb/async_smb.c
-             ${LIBSAMBA_SRC}
              ${LIBNMB_SRC}
              ${LIBNBT_SRC}
              ${CLDAP_SRC}
@@ -462,8 +446,7 @@ PROFILE_SRC = '''profile/profile.c'''
 PROFILES_SRC = '''utils/profiles.c
                ${LIBSMB_ERR_SRC}
                ${PARAM_SRC}
-               ${LIB_SRC} ${LIB_DUMMY_SRC}
-               ${POPT_LIB_SRC}'''
+               ${LIB_SRC} ${LIB_DUMMY_SRC}'''
 
 OPLOCK_SRC = '''smbd/oplock.c smbd/oplock_irix.c smbd/oplock_linux.c
              smbd/oplock_onefs.c'''
@@ -648,6 +631,7 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
                    winbindd/winbindd_pam_logoff.c
                    winbindd/winbindd_pam_chauthtok.c
                    winbindd/winbindd_pam_auth_crap.c
+                   winbindd/nss_info_template.c
                    auth/token_util.c
                    auth/check_samsec.c
                    auth/server_info.c
@@ -657,10 +641,9 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
                    ../nsswitch/libwbclient/wb_reqtrans.c'''
 
 WINBINDD_SRC = '''${WINBINDD_SRC1}
-                  ${PARAM_SRC} ${LIB_NONSMBD_SRC}
-                  ${LIBSMB_SRC} ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
+                  ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
                   ${PROFILE_SRC} ${SLCACHE_SRC} ${SMBLDAP_SRC}
-                  ${LIBADS_SRC} ${KRBCLIENT_SRC} ${POPT_LIB_SRC}
+                  ${LIBADS_SRC}
                   ${DCUTIL_SRC} ${IDMAP_SRC} ${NSS_INFO_SRC}
                   ${AFS_SRC} ${AFS_SETTOKEN_SRC}
                   ${LIBADS_SERVER_SRC}
@@ -684,7 +667,7 @@ LDB_LDAP_SRC = ''
 
 LDB_SRC = '${LDB_COMMON_SRC} ${LDB_TDB_SRC} ${LDB_LDAP_SRC} ${LDB_MODULES_SRC}'
 
-LDB_CMDLINE_SRC = '''${PARAM_SRC} ${POPT_LIB_SRC} ${LIB_SRC} ${LIB_DUMMY_SRC} ${LIBSMB_ERR_SRC0}
+LDB_CMDLINE_SRC = '''${PARAM_SRC} ${LIB_SRC} ${LIB_DUMMY_SRC} ${LIBSMB_ERR_SRC0}
                      ${LIBSMB_ERR_SRC1} ${RPC_PARSE_SRC1} ${SECRETS_SRC} ${LDB_SRC}
                      lib/ldb/tools/cmdline.c'''
 
@@ -749,15 +732,15 @@ SMBD_SRC_SRV = '''smbd/files.c smbd/chgpasswd.c smbd/connection.c
                ../libcli/smb/smb2_create_blob.c
                ${MANGLE_SRC} ${VFS_DEFAULT_SRC}'''
 
-SMBD_SRC_BASE = '''${PARAM_WITHOUT_REG_SRC} ${SMBD_SRC_SRV}
-                ${LIBSMB_SRC} ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
+SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
+                ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
                 ${LOCKING_SRC} ${PRINTING_SRC}
-                ${PROFILE_SRC} ${LIB_SRC} ${PRINTBACKEND_SRC}
+                ${PROFILE_SRC} ${PRINTBACKEND_SRC}
                 ${OPLOCK_SRC} ${NOTIFY_SRC} ${FNAME_UTIL_SRC}
                 ${LIBMSRPC_SRC}
                 ${LIBMSRPC_GEN_SRC} ${AVAHI_SRC} ${LIBADS_SRC}
-                ${KRBCLIENT_SRC} ${LIBADS_SERVER_SRC} ${REG_FULL_SRC}
-                ${POPT_LIB_SRC} ${BUILDOPT_SRC} ${SMBLDAP_SRC}
+                ${LIBADS_SERVER_SRC} ${REG_FULL_SRC}
+                ${BUILDOPT_SRC} ${SMBLDAP_SRC}
                 ${LIBNET_SRC} ${LIBSMBCONF_SRC}
                 ${RPC_LSA_SRC}
                 ${RPC_NETLOG_SRC} ${RPC_SAMR_SRC}
@@ -792,16 +775,27 @@ NMBD_SRC1 = '''nmbd/asyncdns.c nmbd/nmbd.c nmbd/nmbd_become_dmb.c
             nmbd/nmbd_subnetdb.c nmbd/nmbd_winsproxy.c nmbd/nmbd_winsserver.c
             nmbd/nmbd_workgroupdb.c nmbd/nmbd_synclists.c'''
 
-NMBD_SRC = '''${NMBD_SRC1} ${PARAM_SRC} ${LIBSMB_SRC} ${KRBCLIENT_SRC}
-           ${PROFILE_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
-           ${LIBNDR_GEN_SRC0}'''
+NMBD_SRC = '${NMBD_SRC1} ${PROFILE_SRC} ${LIBNDR_GEN_SRC0}'
+
+SWAT_SRC1 = '''web/cgi.c web/diagnose.c web/startstop.c web/statuspage.c
+               web/swat.c web/neg_lang.c'''
+
+SWAT_SRC = '''${SWAT_SRC1} ${PRINTING_SRC} ${PRINTBASE_SRC}
+           ${LOCKING_SRC}
+           ${PLAINTEXT_AUTH_SRC}
+           ${SMBLDAP_SRC} ${RPC_PARSE_SRC} ${LIBMSRPC_GEN_SRC} ${LIBMSRPC_SRC}
+           ${PASSCHANGE_SRC} ${FNAME_UTIL_SRC}'''
+
+WBINFO_SRC = '../nsswitch/wbinfo.c ${AFS_SETTOKEN_SRC}'
 
-WBINFO_SRC = '''../nsswitch/wbinfo.c ${LIBSAMBA_SRC} ${PARAM_SRC} ${LIB_NONSMBD_SRC}
-                ${POPT_LIB_SRC} ${AFS_SETTOKEN_SRC}'''
+TESTPARM_SRC = 'utils/testparm.c'
 
-TESTPARM_SRC = '''utils/testparm.c
-               ${PARAM_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
-               ${LIBSMB_ERR_SRC}'''
+EVTLOGADM_SRC0 = 'utils/eventlogadm.c'
+
+EVTLOGADM_SRC = '''${EVTLOGADM_SRC0}
+               registry/reg_eventlog.c ${LIB_EVENTLOG_SRC}
+               ../librpc/gen_ndr/ndr_eventlog.c
+               ../librpc/gen_ndr/ndr_lsa.c'''
 
 LIBS='ICONV'
 
@@ -844,68 +838,133 @@ bld.SAMBA_SUBSYSTEM('LIBWBCLIENT',
                               ../nsswitch/libwbclient/wbc_util.c''',
                     public_deps='talloc WBCOMMON')
 
+
 bld.SAMBA_SUBSYSTEM('ASN1_UTIL',
                     source='../lib/util/asn1.c',
                     deps='talloc',
-                    includes='../lib/tdb/include',
                     local_include=False)
 
 bld.SAMBA_SUBSYSTEM('GROUPDB',
-                    source=GROUPDB_SRC,
-                    deps='tdb')
+                    source=GROUPDB_SRC)
 
 bld.SAMBA_SUBSYSTEM('TLDAP',
                     source=TLDAP_SRC,
-                    deps='tdb')
+                    deps='ASN1_UTIL LIBTSOCKET')
 
 bld.SAMBA_SUBSYSTEM('PASSDB',
                     source=PASSDB_SRC,
-                    deps='GROUPDB TLDAP',
+                    deps='GROUPDB TLDAP SECRETS',
                     vars=locals())
 
 bld.SAMBA_SUBSYSTEM('LDB',
                     source=LDB_SRC,
-                    deps='tdb',
-                    includes='../lib/tdb/include lib',
+                    includes='lib',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('PARAM_WITHOUT_REG',
+                    source=PARAM_WITHOUT_REG_SRC)
+
+bld.SAMBA_SUBSYSTEM('PARAM',
+                    source=PARAM_SRC,
+                    deps='PARAM_WITHOUT_REG',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
+                    source=POPT_LIB_SRC,
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('KRBCLIENT',
+                    source=KRBCLIENT_SRC,
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBS',
+                    source=LIB_SRC,
+                    deps='NSS_WRAPPER',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIB_NONSMBD',
+                    source=LIB_NONSMBD_SRC,
+                    deps='LIBS',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB_ERR',
+                    source=LIBSMB_ERR_SRC,
+                    deps='SECRETS',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSAMBA',
+                    source=LIBSAMBA_SRC,
+                    deps='LIBSMB_ERR',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB',
+                    source=LIBSMB_SRC,
+                    deps='LIBSAMBA ZLIB',
+                    vars=locals())
+
+bld.SAMBA_SUBSYSTEM('SECRETS',
+                    source=SECRETS_SRC,
                     vars=locals())
 
 ########################## BINARIES #################################
 
 bld.SAMBA_BINARY('smbd/smbd',
                  source=SMBD_SRC,
-                 deps='''tdb DYNCONFIG tevent popt dl krb5 ldap gssapi gssapi_krb5
-                 NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv z PASSDB LDB''',
-                 includes='lib',
+                 deps='''tdb DYNCONFIG tevent dl krb5 ldap gssapi gssapi_krb5
+                 NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv ZLIB PASSDB LDB
+                 PARAM_WITHOUT_REG LIBS LIBSMB POPT_SAMBA KRBCLIENT''',
+                 install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA_BINARY('nmbd/nmbd',
                  source=NMBD_SRC,
-                 deps='''talloc tdb tevent z cap resolv LIBWBCLIENT popt dl
-                 NSS_WRAPPER DYNCONFIG PASSDB LDB''',
-                 includes='lib ../lib/tdb/include',
+                 deps='''talloc tdb tevent ZLIB cap resolv LIBWBCLIENT dl
+                 NSS_WRAPPER DYNCONFIG PASSDB LDB PARAM ldap LIB_NONSMBD LIBSMB
+                 POPT_SAMBA KRBCLIENT''',
+                 install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA_BINARY('winbindd/winbindd',
                  source=WINBINDD_SRC,
-                 deps='''talloc tdb tevent cap dl popt DYNCONFIG z NSS_WRAPPER
-                 LIBWBCLIENT PASSDB resolv LDB''',
-                 includes='lib',
+                 deps='''talloc tdb tevent cap dl DYNCONFIG ZLIB NSS_WRAPPER
+                 LIBWBCLIENT PASSDB ldap resolv LDB PARAM LIB_NONSMBD LIBSMB
+                 POPT_SAMBA KRBCLIENT''',
+                 enabled=Options.options.with_winbind,
+                 install_path='${SBINDIR}',
+                 vars=locals())
+
+bld.SAMBA_BINARY('web/swat',
+                 source=SWAT_SRC,
+                 deps='''talloc tevent DYNCONFIG LIBS LIBSMB LIBWBCLIENT PARAM
+                 LIB_NONSMBD resolv LDB PASSDB POPT_SAMBA KRBCLIENT''',
+                 enabled=Options.options.with_swat,
+                 install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA_BINARY('wbinfo',
                  source=WBINFO_SRC,
-                 deps='''talloc LIBWBCLIENT popt DYNCONFIG tevent tdb cap
-                 NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB''',
-                 includes='lib ../lib/tdb/include',
+                 deps='''talloc LIBWBCLIENT DYNCONFIG tevent cap
+                 NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB ldap PARAM LIB_NONSMBD
+                 LIBSAMBA POPT_SAMBA''',
                  vars=locals())
 
 bld.SAMBA_BINARY('testparm',
                  source=TESTPARM_SRC,
-                 deps='''talloc tdb tevent popt DYNCONFIG cap NSS_WRAPPER
-                 LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB''',
+                 deps='''talloc tevent DYNCONFIG ldap cap NSS_WRAPPER
+                 LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB PARAM LIB_NONSMBD
+                 LIBSMB_ERR POPT_SAMBA''',
+                 vars=locals())
+
+bld.SAMBA_BINARY('eventlogadm',
+                 source=EVTLOGADM_SRC,
+                 deps='''talloc tevent POPT_SAMBA DYNCONFIG LIBS PARAM
+                 LIB_NONSMBD LIBSMB_ERR PASSDB LIBWBCLIENT''',
                  vars=locals())
 
-########################## INCLLUDES #################################
+swat_files=recursive_dirlist('../swat', '../swat', '*')
+bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')
+
+########################## INCLUDES #################################
 
 bld.RECURSE('../lib/socket_wrapper')
 bld.RECURSE('../lib/talloc')