| 1 | #!/usr/bin/env python | 
|---|
| 2 |  | 
|---|
| 3 | # top level waf build script for samba4 | 
|---|
| 4 |  | 
|---|
| 5 | import os | 
|---|
| 6 | srcdir = "." | 
|---|
| 7 |  | 
|---|
| 8 | import samba_version | 
|---|
| 9 |  | 
|---|
| 10 | # mark this as a top level build, for source3 rules | 
|---|
| 11 | bld.env.toplevel_build = True | 
|---|
| 12 | bld.env.use_intree_heimdal = True | 
|---|
| 13 | bld.env.suffix3 = "3" | 
|---|
| 14 |  | 
|---|
| 15 | # create separate build groups for building the asn1 and et compiler, then | 
|---|
| 16 | # building the C from ASN1 and IDL, and finally the main build process | 
|---|
| 17 | bld.SETUP_BUILD_GROUPS() | 
|---|
| 18 | bld.AUTOCLEANUP_STALE_FILES() | 
|---|
| 19 |  | 
|---|
| 20 | # enable building of public headers in the build tree | 
|---|
| 21 | bld.env.build_public_headers = 'include/public' | 
|---|
| 22 |  | 
|---|
| 23 | # these are includes which appear in public headers, but with #ifdef conditional | 
|---|
| 24 | # compilation, so they are safe | 
|---|
| 25 | bld.env.public_headers_skip = ['param/param_proto.h', 'lib/ldb_compat.h'] | 
|---|
| 26 |  | 
|---|
| 27 | # force headers to use SAMBA4 rules | 
|---|
| 28 | bld.env.public_headers_replace = { '#if _SAMBA_BUILD_ == 4' : '#if 1 /* _SAMBA_BUILD_ == 4 */' } | 
|---|
| 29 |  | 
|---|
| 30 | samba_version.load_version(bld.env) | 
|---|
| 31 | bld.SAMBA_MKVERSION('version.h') | 
|---|
| 32 |  | 
|---|
| 33 | # bld.ENABLE_MAGIC_ORDERING() | 
|---|
| 34 |  | 
|---|
| 35 | bld.RECURSE('lib/replace') | 
|---|
| 36 | bld.RECURSE('lib/talloc') | 
|---|
| 37 | bld.RECURSE('lib/tdb') | 
|---|
| 38 | bld.RECURSE('lib/tevent') | 
|---|
| 39 | bld.RECURSE('source4/lib/ldb') | 
|---|
| 40 | bld.RECURSE('source4/dynconfig') | 
|---|
| 41 | bld.RECURSE('lib/util/charset') | 
|---|
| 42 | bld.RECURSE('source4/scripting/python') | 
|---|
| 43 | bld.RECURSE('source4/param') | 
|---|
| 44 | bld.RECURSE('source4/librpc') | 
|---|
| 45 | bld.RECURSE('source4/dsdb') | 
|---|
| 46 | bld.RECURSE('source4/smbd') | 
|---|
| 47 | bld.RECURSE('source4/cluster') | 
|---|
| 48 | bld.RECURSE('source4/smbd') | 
|---|
| 49 | bld.RECURSE('source4/libnet') | 
|---|
| 50 | bld.RECURSE('source4/auth') | 
|---|
| 51 | bld.RECURSE('auth') | 
|---|
| 52 | bld.RECURSE('lib/iniparser/src') | 
|---|
| 53 | bld.RECURSE('nsswitch') | 
|---|
| 54 | bld.RECURSE('nsswitch/libwbclient') | 
|---|
| 55 | bld.RECURSE('source4/lib/samba3') | 
|---|
| 56 | bld.RECURSE('source4/lib/socket') | 
|---|
| 57 | bld.RECURSE('source4/lib/ldb-samba') | 
|---|
| 58 | bld.RECURSE('source4/lib/tls') | 
|---|
| 59 | bld.RECURSE('source4/lib/registry') | 
|---|
| 60 | bld.RECURSE('source4/lib/messaging') | 
|---|
| 61 | bld.RECURSE('source4/lib/events') | 
|---|
| 62 | bld.RECURSE('source4/lib/cmdline') | 
|---|
| 63 | bld.RECURSE('lib/socket_wrapper') | 
|---|
| 64 | bld.RECURSE('lib/nss_wrapper') | 
|---|
| 65 | bld.RECURSE('lib/uid_wrapper') | 
|---|
| 66 | bld.RECURSE('lib/popt') | 
|---|
| 67 | bld.RECURSE('source4/lib/stream') | 
|---|
| 68 | bld.RECURSE('lib/util') | 
|---|
| 69 | bld.RECURSE('lib/tdr') | 
|---|
| 70 | bld.RECURSE('lib/tsocket') | 
|---|
| 71 | bld.RECURSE('lib/crypto') | 
|---|
| 72 | bld.RECURSE('lib/torture') | 
|---|
| 73 | bld.RECURSE('lib/zlib') | 
|---|
| 74 | bld.RECURSE('source4/lib') | 
|---|
| 75 | bld.RECURSE('source4/lib/com') | 
|---|
| 76 | bld.RECURSE('source4/dns_server') | 
|---|
| 77 | bld.RECURSE('source4/echo_server') | 
|---|
| 78 | bld.RECURSE('source4/smb_server') | 
|---|
| 79 | bld.RECURSE('source4/rpc_server') | 
|---|
| 80 | bld.RECURSE('source4/ldap_server') | 
|---|
| 81 | bld.RECURSE('source4/web_server') | 
|---|
| 82 | bld.RECURSE('source4/winbind') | 
|---|
| 83 | bld.RECURSE('source4/nbt_server') | 
|---|
| 84 | bld.RECURSE('source4/wrepl_server') | 
|---|
| 85 | bld.RECURSE('source4/cldap_server') | 
|---|
| 86 | bld.RECURSE('source4/ntp_signd') | 
|---|
| 87 | bld.RECURSE('source4/samba_tool') | 
|---|
| 88 | bld.RECURSE('source4/utils') | 
|---|
| 89 | bld.RECURSE('source4/ntvfs') | 
|---|
| 90 | bld.RECURSE('source4/ntptr') | 
|---|
| 91 | bld.RECURSE('source4/torture') | 
|---|
| 92 | bld.RECURSE('librpc') | 
|---|
| 93 | bld.RECURSE('source4/client') | 
|---|
| 94 | bld.RECURSE('source4/libcli') | 
|---|
| 95 | bld.RECURSE('libcli/smb') | 
|---|
| 96 | bld.RECURSE('libcli/cldap') | 
|---|
| 97 | bld.RECURSE('lib/subunit/c') | 
|---|
| 98 | bld.RECURSE('source4/kdc') | 
|---|
| 99 | bld.RECURSE('lib/smbconf') | 
|---|
| 100 | bld.RECURSE('lib/async_req') | 
|---|
| 101 | bld.RECURSE('libcli/security') | 
|---|
| 102 | bld.RECURSE('libcli/ldap') | 
|---|
| 103 | bld.RECURSE('libcli/nbt') | 
|---|
| 104 | bld.RECURSE('libcli/netlogon') | 
|---|
| 105 | bld.RECURSE('libcli/auth') | 
|---|
| 106 | bld.RECURSE('libcli/drsuapi') | 
|---|
| 107 | bld.RECURSE('libcli/echo') | 
|---|
| 108 | bld.RECURSE('libcli/samsync') | 
|---|
| 109 | bld.RECURSE('libcli/registry') | 
|---|
| 110 | bld.RECURSE('source4/lib/policy') | 
|---|
| 111 | bld.RECURSE('libcli/named_pipe_auth') | 
|---|
| 112 | bld.RECURSE('source4/heimdal_build') | 
|---|
| 113 | bld.RECURSE('libcli/smbreadline') | 
|---|
| 114 | bld.RECURSE('codepages') | 
|---|
| 115 | bld.RECURSE('source4/setup') | 
|---|
| 116 | bld.RECURSE('source4/scripting') | 
|---|
| 117 | bld.RECURSE('pidl') | 
|---|
| 118 | bld.RECURSE('lib') | 
|---|
| 119 | bld.RECURSE('libds/common') | 
|---|
| 120 | if bld.env.enable_s3build: | 
|---|
| 121 | bld.RECURSE('source3') | 
|---|
| 122 |  | 
|---|
| 123 | bld.RECURSE('testsuite/headers') | 
|---|
| 124 |  | 
|---|
| 125 | # install some extra empty directories | 
|---|
| 126 | bld.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging") | 
|---|
| 127 |  | 
|---|
| 128 | bld.SYMBOL_CHECK() | 
|---|