diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-10-13 12:19:37 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-10-13 11:00:04 +0000 |
commit | b5ffdb6f9c7e003223614baac18f03fe02e7d782 (patch) | |
tree | 3f8442f2dc2e1302e2442d11a449845ec2669081 | |
parent | d0293428fe2e95cccfcaf3df47f234ac3e794d2e (diff) | |
download | samba-b5ffdb6f9c7e003223614baac18f03fe02e7d782.tar.gz samba-b5ffdb6f9c7e003223614baac18f03fe02e7d782.tar.bz2 samba-b5ffdb6f9c7e003223614baac18f03fe02e7d782.zip |
s4: don't rebuild all of heimdal when dynconfig options change
only 2 files in heimdal depend on dynconfig variables
-rw-r--r-- | source4/dynconfig/wscript | 4 | ||||
-rw-r--r-- | source4/heimdal_build/wscript_build | 21 |
2 files changed, 18 insertions, 7 deletions
diff --git a/source4/dynconfig/wscript b/source4/dynconfig/wscript index e614624d70..d975698ddf 100644 --- a/source4/dynconfig/wscript +++ b/source4/dynconfig/wscript @@ -116,10 +116,12 @@ def configure(conf): sys.exit(1) -def dynconfig_cflags(bld): +def dynconfig_cflags(bld, list=None): '''work out the extra CFLAGS for dynconfig.c''' cflags = [] for f in dyn_cflags.keys(): + if list and not f in list: + continue if not Options.is_install and f == 'MODULESDIR': # we want binaries run from the source dir to use the current # modules, not the installed ones diff --git a/source4/heimdal_build/wscript_build b/source4/heimdal_build/wscript_build index 1331d80f20..e41b5956e7 100644 --- a/source4/heimdal_build/wscript_build +++ b/source4/heimdal_build/wscript_build @@ -163,6 +163,7 @@ def HEIMDAL_LIBRARY(libname, source, deps, vnum=None, autoproto=None, autoproto_options=None, + autoproto_extra='', autoproto_private=None, is_bundled=True): '''define a Heimdal library''' @@ -211,10 +212,10 @@ def HEIMDAL_LIBRARY(libname, source, deps, ) if autoproto is not None: - HEIMDAL_AUTOPROTO(autoproto, source, + HEIMDAL_AUTOPROTO(autoproto, source + ' ' + autoproto_extra, options=autoproto_options) if autoproto_private is not None: - HEIMDAL_AUTOPROTO_PRIVATE(autoproto_private, source) + HEIMDAL_AUTOPROTO_PRIVATE(autoproto_private, source + ' ' + autoproto_extra) def HEIMDAL_GENERATOR(name, rule, source='', target='', @@ -645,6 +646,15 @@ if not bld.CONFIG_SET('HAVE_ERR_H'): target = '../heimdal/lib/roken/err.h', ) +# expand_path.c needs some of the install paths +HEIMDAL_SUBSYSTEM('HEIMDAL_CONFIG', + '../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c', + includes='../heimdal/lib/krb5 ../heimdal/lib/asn1', + cflags = bld.dynconfig_cflags('LIBDIR BINDIR LIBEXECDIR SBINDIR'), + deps='HEIMDAL_HCRYPTO wind hx509' + ) + + HEIMDAL_LIBRARY('krb5', bld.SUBDIR('../heimdal/lib/krb5/', '''acache.c add_et_list.c @@ -656,7 +666,6 @@ HEIMDAL_LIBRARY('krb5', copy_host_realm.c crc.c creds.c crypto.c data.c eai_to_heim_errno.c error_string.c expand_hostname.c - expand_path.c fcache.c free.c free_host_realm.c generate_seq_number.c generate_subkey.c get_addrs.c get_cred.c @@ -670,7 +679,7 @@ HEIMDAL_LIBRARY('krb5', mcache.c misc.c mk_error.c mk_priv.c mk_rep.c mk_req.c mk_req_ext.c mit_glue.c n-fold.c padata.c pkinit.c - plugin.c principal.c prog_setup.c pac.c + principal.c prog_setup.c pac.c pcache.c prompter_posix.c rd_cred.c rd_error.c rd_priv.c rd_rep.c rd_req.c replay.c send_to_kdc.c set_default_realm.c @@ -681,9 +690,9 @@ HEIMDAL_LIBRARY('krb5', includes='../heimdal/lib/krb5 ../heimdal/lib/asn1', autoproto='../heimdal/lib/krb5/krb5-protos.h', autoproto_options='-E KRB5_LIB -q -P comment -o', + autoproto_extra='../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c', autoproto_private='../heimdal/lib/krb5/krb5-private.h', - cflags = bld.dynconfig_cflags(), - deps='roken HEIMDAL_PKINIT_ASN1 wind HEIMDAL_KRB5_ASN1 hx509 HEIMDAL_HCRYPTO LIBSAMBA-HOSTCONFIG intl com_err', + deps='roken HEIMDAL_PKINIT_ASN1 wind HEIMDAL_KRB5_ASN1 hx509 HEIMDAL_HCRYPTO LIBSAMBA-HOSTCONFIG intl com_err HEIMDAL_CONFIG', ) |