summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-03-21 11:17:37 +1100
committerAndrew Tridgell <tridge@samba.org>2010-04-06 20:26:59 +1000
commit9e0d0fa25066f658b7ca49e324919738c695917e (patch)
tree7afb24d537581b57bbc7253d3088267550c35b7d
parente8775226ad2e40b96d8d5aae6c31c5845c562f20 (diff)
downloadsamba-9e0d0fa25066f658b7ca49e324919738c695917e.tar.gz
samba-9e0d0fa25066f658b7ca49e324919738c695917e.tar.bz2
samba-9e0d0fa25066f658b7ca49e324919738c695917e.zip
build: enable real cacheing with waf configure -C
-rw-r--r--buildtools/wafsamba/samba_autoconf.py11
-rw-r--r--lib/replace/wscript19
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")