+# whether or not use current config.h, and cached tests
+if (not ARGUMENTS.has_key('fast_start') or \
+ ARGUMENTS['fast_start'] in ['y', 'yes', 't', 'true', '1', 'all']) \
+ and os.path.isfile(env_cache_file):
+ fast_start = True
+ cache_file = open(env_cache_file)
+ env_cache = cPickle.load(cache_file)
+ cache_file.close()
+ # import cached options, but we should ignore qt_dir when frontend changes
+ if ARGUMENTS.has_key('frontend') and env_cache['arg_cache'].has_key('frontend') \
+ and ARGUMENTS['frontend'] != env_cache['arg_cache']['frontend'] \
+ and env_cache['arg_cache'].has_key('qt_dir'):
+ env_cache['arg_cache'].pop('qt_dir')
+ # and we do not cache fast_start
+ if env_cache['arg_cache'].has_key('fast_start'):
+ env_cache['arg_cache'].pop('fast_start')
+ print '------------ fast_start mode --------------------'
+ print ' Use cached test results and current config.h'
+ print ' use fast_start=no to override'
+ print
+ for key in env_cache['arg_cache'].keys():
+ if not ARGUMENTS.has_key(key):
+ ARGUMENTS[key] = env_cache['arg_cache'][key]
+ print "Restoring cached option %s=%s" % (key, ARGUMENTS[key])
+ print '-------------------------------------------------'
+else:
+ fast_start = False
+ env_cache = {}
+
+# save arguments
+env_cache['arg_cache'] = ARGUMENTS
+