From 9e0d0fa25066f658b7ca49e324919738c695917e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 21 Mar 2010 11:17:37 +1100 Subject: build: enable real cacheing with waf configure -C --- buildtools/wafsamba/samba_autoconf.py | 11 +++++++++++ lib/replace/wscript | 19 ++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 1c1095ea47..fc8027c5f2 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -428,3 +428,14 @@ def CHECK_CC_ENV(conf): if len(conf.env.CC) == 1: # make for nicer logs if just a single command conf.env.CC = conf.env.CC[0] + +@conf +def ENABLE_CONFIGURE_CACHE(conf): + '''enable cache of configure results''' + if os.environ.get('WAFCACHE'): + # already setup + return + cache_path = os.path.join(conf.blddir, '.confcache') + mkdir_p(cache_path) + Options.cache_global = os.environ['WAFCACHE'] = cache_path + diff --git a/lib/replace/wscript b/lib/replace/wscript index f6c1903091..dc00790436 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -38,7 +38,9 @@ def set_options(opt): opt.add_option('--timestamp-dependencies', help=("use file timestamps instead of content for build dependencies (BROKEN)"), action="store_true", dest='timestamp_dependencies', default=False) - opt.add_option('-C', action='store_true', help='dummy option for autoconf compatibility') + opt.add_option('-C', + help='enable configure cacheing', + action='store_true', dest='enable_configure_cache') opt.add_option('--pedantic', help=("Enable even more compiler warnings"), action='store_true', dest='pedantic', default=False) @@ -48,15 +50,18 @@ def configure(conf): conf.env.hlist = [] conf.env.srcdir = conf.srcdir - # during the configure checks we want the waf dependency checker - # to go into system includes. This ensures that if you add/remove - # a system library, that 'waf configure' will detect that, and - # it won't be fooled by the waf cache - preproc.go_absolute = True - if Options.options.timestamp_dependencies: conf.ENABLE_TIMESTAMP_DEPENDENCIES() + if Options.options.enable_configure_cache: + conf.ENABLE_CONFIGURE_CACHE() + else: + # during the configure checks we want the waf dependency checker + # to go into system includes. This ensures that if you add/remove + # a system library, that 'waf configure' will detect that, and + # it won't be fooled by the waf cache + preproc.go_absolute = True + # load our local waf extensions conf.check_tool('wafsamba', tooldir=conf.srcdir + "/buildtools/wafsamba") -- cgit