mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-28 23:15:19 +00:00
Scons: remove fast_start feature
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15343 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
f3016d70d9
commit
90cbd48fd3
@ -74,7 +74,7 @@ package_string = '%s %s' % (package_name, package_version)
|
|||||||
|
|
||||||
# various cache/log files
|
# various cache/log files
|
||||||
default_log_file = 'scons_lyx.log'
|
default_log_file = 'scons_lyx.log'
|
||||||
env_cache_file = 'env.cache'
|
opt_cache_file = 'opt.cache'
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
@ -153,7 +153,7 @@ opts.AddOptions(
|
|||||||
EnumOption('packaging', 'Packaging method to use.', default_packaging_method,
|
EnumOption('packaging', 'Packaging method to use.', default_packaging_method,
|
||||||
allowed_values = ('windows', 'posix', 'macosx')),
|
allowed_values = ('windows', 'posix', 'macosx')),
|
||||||
#
|
#
|
||||||
BoolOption('fast_start', 'Whether or not use cached tests and keep current config.h', True),
|
BoolOption('fast_start', 'This option is obsolete.', False),
|
||||||
# No precompiled header support (too troublesome to make it work for msvc)
|
# No precompiled header support (too troublesome to make it work for msvc)
|
||||||
# BoolOption('pch', 'Whether or not use pch', False),
|
# BoolOption('pch', 'Whether or not use pch', False),
|
||||||
# enable assertion, (config.h has ENABLE_ASSERTIOS
|
# enable assertion, (config.h has ENABLE_ASSERTIOS
|
||||||
@ -236,23 +236,8 @@ all_options = [x.key for x in opts.options]
|
|||||||
true_strings = ('y', 'yes', 'true', 't', '1', 'on' , 'all' )
|
true_strings = ('y', 'yes', 'true', 't', '1', 'on' , 'all' )
|
||||||
false_strings = ('n', 'no', 'false', 'f', '0', 'off', 'none')
|
false_strings = ('n', 'no', 'false', 'f', '0', 'off', 'none')
|
||||||
|
|
||||||
# whether or not use current config.h, and cached tests
|
if ARGUMENTS.has_key('fast_start'):
|
||||||
#
|
print 'fast_start option is obsolete'
|
||||||
# if fast_start=yes (default), load variables from env_cache_file
|
|
||||||
if (not ARGUMENTS.has_key('fast_start') or \
|
|
||||||
ARGUMENTS['fast_start'] in true_strings) \
|
|
||||||
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()
|
|
||||||
print '------------ fast_start mode --------------------'
|
|
||||||
print ' Use cached test results and current config.h'
|
|
||||||
print ' use fast_start=no to override'
|
|
||||||
print
|
|
||||||
else:
|
|
||||||
fast_start = False
|
|
||||||
env_cache = {}
|
|
||||||
|
|
||||||
# if load_option=yes (default), load saved comand line options
|
# if load_option=yes (default), load saved comand line options
|
||||||
#
|
#
|
||||||
@ -260,26 +245,17 @@ else:
|
|||||||
# and tries to be clever in choosing options to load
|
# and tries to be clever in choosing options to load
|
||||||
if (not ARGUMENTS.has_key('load_option') or \
|
if (not ARGUMENTS.has_key('load_option') or \
|
||||||
ARGUMENTS['load_option'] not in false_strings) \
|
ARGUMENTS['load_option'] not in false_strings) \
|
||||||
and os.path.isfile(env_cache_file):
|
and os.path.isfile(opt_cache_file):
|
||||||
cache_file = open(env_cache_file)
|
cache_file = open(opt_cache_file)
|
||||||
opt_cache = cPickle.load(cache_file)['arg_cache']
|
opt_cache = cPickle.load(cache_file)
|
||||||
cache_file.close()
|
cache_file.close()
|
||||||
# import cached options, but we should ignore qt_dir when frontend changes
|
# import cached options, but we should ignore qt_dir when frontend changes
|
||||||
if ARGUMENTS.has_key('frontend') and opt_cache.has_key('frontend') \
|
if ARGUMENTS.has_key('frontend') and opt_cache.has_key('frontend') \
|
||||||
and ARGUMENTS['frontend'] != opt_cache['frontend'] \
|
and ARGUMENTS['frontend'] != opt_cache['frontend'] \
|
||||||
and opt_cache.has_key('qt_dir'):
|
and opt_cache.has_key('qt_dir'):
|
||||||
opt_cache.pop('qt_dir')
|
opt_cache.pop('qt_dir')
|
||||||
# some options will require full rebuild
|
|
||||||
# these are in general things that will change config.h
|
|
||||||
for arg in ['version_suffix', 'nls', 'boost', 'spell']:
|
|
||||||
if ARGUMENTS.has_key(arg) and ((not opt_cache.has_key(arg)) or \
|
|
||||||
ARGUMENTS[arg] != opt_cache[arg]):
|
|
||||||
if fast_start:
|
|
||||||
print " ** fast_start is disabled because of the change of option", arg
|
|
||||||
print
|
|
||||||
fast_start = False
|
|
||||||
# and we do not cache some options (dest_dir is obsolete)
|
# and we do not cache some options (dest_dir is obsolete)
|
||||||
for arg in ['fast_start', 'load_option', 'dest_dir']:
|
for arg in ['load_option', 'dest_dir']:
|
||||||
if opt_cache.has_key(arg):
|
if opt_cache.has_key(arg):
|
||||||
opt_cache.pop(arg)
|
opt_cache.pop(arg)
|
||||||
# remove obsolete cached keys (well, SConstruct is evolving. :-)
|
# remove obsolete cached keys (well, SConstruct is evolving. :-)
|
||||||
@ -318,9 +294,10 @@ for arg in ARGUMENTS.keys():
|
|||||||
print ' ' + '\n '.join(textwrap.wrap(', '.join(all_options)))
|
print ' ' + '\n '.join(textwrap.wrap(', '.join(all_options)))
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
# save arguments
|
# save options used
|
||||||
env_cache['arg_cache'] = ARGUMENTS
|
cache_file = open(opt_cache_file, 'w')
|
||||||
|
cPickle.dump(ARGUMENTS, cache_file)
|
||||||
|
cache_file.close()
|
||||||
|
|
||||||
#---------------------------------------------------------
|
#---------------------------------------------------------
|
||||||
# Setting up environment
|
# Setting up environment
|
||||||
@ -673,18 +650,13 @@ conf = Configure(env,
|
|||||||
)
|
)
|
||||||
|
|
||||||
# pkg-config? (if not, we use hard-coded options)
|
# pkg-config? (if not, we use hard-coded options)
|
||||||
if not fast_start:
|
|
||||||
if conf.CheckPkgConfig('0.15.0'):
|
if conf.CheckPkgConfig('0.15.0'):
|
||||||
env['HAS_PKG_CONFIG'] = True
|
env['HAS_PKG_CONFIG'] = True
|
||||||
else:
|
else:
|
||||||
print 'pkg-config >= 0.1.50 is not found'
|
print 'pkg-config >= 0.1.50 is not found'
|
||||||
env['HAS_PKG_CONFIG'] = False
|
env['HAS_PKG_CONFIG'] = False
|
||||||
env_cache['HAS_PKG_CONFIG'] = env['HAS_PKG_CONFIG']
|
|
||||||
else:
|
|
||||||
env['HAS_PKG_CONFIG'] = env_cache['HAS_PKG_CONFIG']
|
|
||||||
|
|
||||||
# zlib? This is required. (fast_start assumes the existance of zlib)
|
# zlib? This is required.
|
||||||
if not fast_start:
|
|
||||||
if (not use_vc and not conf.CheckLibWithHeader('z', 'zlib.h', 'C')) \
|
if (not use_vc and not conf.CheckLibWithHeader('z', 'zlib.h', 'C')) \
|
||||||
or (use_vc and not conf.CheckLibWithHeader('zdll', 'zlib.h', 'C')):
|
or (use_vc and not conf.CheckLibWithHeader('zdll', 'zlib.h', 'C')):
|
||||||
print 'Did not find zdll.lib or zlib.h, exiting!'
|
print 'Did not find zdll.lib or zlib.h, exiting!'
|
||||||
@ -698,12 +670,9 @@ if not fast_start:
|
|||||||
else:
|
else:
|
||||||
print 'Did not find iconv or libiconv, exiting!'
|
print 'Did not find iconv or libiconv, exiting!'
|
||||||
Exit(1)
|
Exit(1)
|
||||||
env_cache['ICONV_LIB'] = env['ICONV_LIB']
|
|
||||||
else:
|
|
||||||
env['ICONV_LIB'] = env_cache['ICONV_LIB']
|
|
||||||
|
|
||||||
# qt libraries?
|
# qt libraries?
|
||||||
if not fast_start:
|
|
||||||
#
|
#
|
||||||
# qt3 does not use pkg_config
|
# qt3 does not use pkg_config
|
||||||
if frontend == 'qt3':
|
if frontend == 'qt3':
|
||||||
@ -754,7 +723,6 @@ if use_vc:
|
|||||||
env['LINKCOM'] = [env['LINKCOM'], 'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % manifest]
|
env['LINKCOM'] = [env['LINKCOM'], 'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % manifest]
|
||||||
|
|
||||||
# check socket libs
|
# check socket libs
|
||||||
if not fast_start:
|
|
||||||
socket_libs = []
|
socket_libs = []
|
||||||
if conf.CheckLib('socket'):
|
if conf.CheckLib('socket'):
|
||||||
socket_libs.append('socket')
|
socket_libs.append('socket')
|
||||||
@ -762,9 +730,6 @@ if not fast_start:
|
|||||||
# transport-level interface to networking services.
|
# transport-level interface to networking services.
|
||||||
if conf.CheckLib('nsl'):
|
if conf.CheckLib('nsl'):
|
||||||
socket_libs.append('nsl')
|
socket_libs.append('nsl')
|
||||||
env_cache['SOCKET_LIBS'] = socket_libs
|
|
||||||
else:
|
|
||||||
socket_libs = env_cache['SOCKET_LIBS']
|
|
||||||
|
|
||||||
# check available boost libs (since lyx1.4 does not use iostream)
|
# check available boost libs (since lyx1.4 does not use iostream)
|
||||||
boost_libs = []
|
boost_libs = []
|
||||||
@ -772,7 +737,6 @@ for lib in ['signals', 'regex', 'filesystem', 'iostreams']:
|
|||||||
if os.path.isdir(os.path.join(top_src_dir, 'boost', 'libs', lib)):
|
if os.path.isdir(os.path.join(top_src_dir, 'boost', 'libs', lib)):
|
||||||
boost_libs.append(lib)
|
boost_libs.append(lib)
|
||||||
|
|
||||||
if not fast_start:
|
|
||||||
# check boost libraries
|
# check boost libraries
|
||||||
boost_opt = ARGUMENTS.get('boost', 'auto')
|
boost_opt = ARGUMENTS.get('boost', 'auto')
|
||||||
# check for system boost
|
# check for system boost
|
||||||
@ -805,15 +769,7 @@ if not fast_start:
|
|||||||
else:
|
else:
|
||||||
included_boost = False
|
included_boost = False
|
||||||
(boost_libraries, boost_libpath, env['BOOST_INC_PATH']) = res
|
(boost_libraries, boost_libpath, env['BOOST_INC_PATH']) = res
|
||||||
env_cache['BOOST_LIBRARIES'] = boost_libraries
|
|
||||||
env_cache['INCLUDED_BOOST'] = included_boost
|
|
||||||
env_cache['BOOST_INC_PATH'] = env['BOOST_INC_PATH']
|
|
||||||
env_cache['BOOST_LIBPATH'] = boost_libpath
|
|
||||||
else:
|
|
||||||
boost_libraries = env_cache['BOOST_LIBRARIES']
|
|
||||||
included_boost = env_cache['INCLUDED_BOOST']
|
|
||||||
env['BOOST_INC_PATH'] = env_cache['BOOST_INC_PATH']
|
|
||||||
boost_libpath = env_cache['BOOST_LIBPATH']
|
|
||||||
|
|
||||||
if boost_libpath is not None:
|
if boost_libpath is not None:
|
||||||
env.AppendUnique(LIBPATH = [boost_libpath])
|
env.AppendUnique(LIBPATH = [boost_libpath])
|
||||||
@ -821,7 +777,6 @@ if boost_libpath is not None:
|
|||||||
|
|
||||||
env['ENABLE_NLS'] = env['nls']
|
env['ENABLE_NLS'] = env['nls']
|
||||||
|
|
||||||
if not fast_start:
|
|
||||||
if not env['ENABLE_NLS']:
|
if not env['ENABLE_NLS']:
|
||||||
intl_libs = []
|
intl_libs = []
|
||||||
included_gettext = False
|
included_gettext = False
|
||||||
@ -831,7 +786,11 @@ if not fast_start:
|
|||||||
# check for system gettext
|
# check for system gettext
|
||||||
succ = False
|
succ = False
|
||||||
if gettext_opt in ['auto', 'system']:
|
if gettext_opt in ['auto', 'system']:
|
||||||
if conf.CheckLib('intl'):
|
if conf.CheckFunc('gettext'):
|
||||||
|
included_gettext = False
|
||||||
|
intl_libs = []
|
||||||
|
succ = True
|
||||||
|
elif conf.CheckLib('intl'):
|
||||||
included_gettext = False
|
included_gettext = False
|
||||||
intl_libs = ['intl']
|
intl_libs = ['intl']
|
||||||
succ = True
|
succ = True
|
||||||
@ -846,30 +805,17 @@ if not fast_start:
|
|||||||
# we do not need to set LIBPATH now.
|
# we do not need to set LIBPATH now.
|
||||||
included_gettext = True
|
included_gettext = True
|
||||||
intl_libs = ['included_intl']
|
intl_libs = ['included_intl']
|
||||||
env_cache['INCLUDED_GETTEXT'] = included_gettext
|
|
||||||
env_cache['INTL_LIBS'] = intl_libs
|
|
||||||
else:
|
|
||||||
included_gettext = env_cache['INCLUDED_GETTEXT']
|
|
||||||
intl_libs = env_cache['INTL_LIBS']
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# check for msgfmt command
|
# check for msgfmt command
|
||||||
if not fast_start:
|
|
||||||
env['MSGFMT'] = conf.CheckCommand('msgfmt')
|
env['MSGFMT'] = conf.CheckCommand('msgfmt')
|
||||||
env_cache['MSGFMT'] = env['MSGFMT']
|
|
||||||
else:
|
|
||||||
env['MSGFMT'] = env_cache['MSGFMT']
|
|
||||||
|
|
||||||
# cygwin packaging requires the binaries to be stripped
|
# cygwin packaging requires the binaries to be stripped
|
||||||
if platform_name == 'cygwin':
|
if platform_name == 'cygwin':
|
||||||
if not fast_start:
|
|
||||||
env['STRIP'] = conf.CheckCommand('strip')
|
env['STRIP'] = conf.CheckCommand('strip')
|
||||||
env_cache['STRIP'] = env['STRIP']
|
|
||||||
else:
|
|
||||||
env['STRIP'] = env_cache['STRIP']
|
|
||||||
|
|
||||||
# check uic and moc commands for qt frontends
|
# check uic and moc commands for qt frontends
|
||||||
if not fast_start:
|
|
||||||
if frontend[:2] == 'qt' and (conf.CheckCommand('uic') == None \
|
if frontend[:2] == 'qt' and (conf.CheckCommand('uic') == None \
|
||||||
or conf.CheckCommand('moc') == None):
|
or conf.CheckCommand('moc') == None):
|
||||||
print 'uic or moc command is not found for frontend', frontend
|
print 'uic or moc command is not found for frontend', frontend
|
||||||
@ -893,8 +839,6 @@ if platform_name == 'win32' and mode == 'debug' and use_vc:
|
|||||||
# check the existence of config.h
|
# check the existence of config.h
|
||||||
config_h = os.path.join(env.Dir('$BUILDDIR/common').path, 'config.h')
|
config_h = os.path.join(env.Dir('$BUILDDIR/common').path, 'config.h')
|
||||||
boost_config_h = os.path.join(env.Dir('$BUILDDIR/boost').path, 'config.h')
|
boost_config_h = os.path.join(env.Dir('$BUILDDIR/boost').path, 'config.h')
|
||||||
if not fast_start or not os.path.isfile(boost_config_h) \
|
|
||||||
or not os.path.isfile(config_h):
|
|
||||||
#
|
#
|
||||||
print "Creating %s..." % boost_config_h
|
print "Creating %s..." % boost_config_h
|
||||||
#
|
#
|
||||||
@ -1209,7 +1153,6 @@ int mkstemp(char*);
|
|||||||
# USE_ASPELL etc does not go through result
|
# USE_ASPELL etc does not go through result
|
||||||
if result.has_key(key):
|
if result.has_key(key):
|
||||||
env[key] = result[key]
|
env[key] = result[key]
|
||||||
env_cache[key] = env[key]
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# if nls=yes and gettext=included, create intl/config.h
|
# if nls=yes and gettext=included, create intl/config.h
|
||||||
@ -1323,26 +1266,7 @@ int mkstemp(char*);
|
|||||||
# USE_ASPELL etc does not go through result
|
# USE_ASPELL etc does not go through result
|
||||||
if result.has_key(key):
|
if result.has_key(key):
|
||||||
env[key] = result[key]
|
env[key] = result[key]
|
||||||
env_cache[key] = env[key]
|
|
||||||
|
|
||||||
else:
|
|
||||||
#
|
|
||||||
# this comes as a big surprise, without this line
|
|
||||||
# (doing nothing obvious), adding fast_start=yes
|
|
||||||
# to a build with fast_start=no will result in a rebuild
|
|
||||||
# Note that the exact header file to check does not matter
|
|
||||||
conf.CheckCHeader('io.h')
|
|
||||||
# only a few variables need to be rescanned
|
|
||||||
for key in ['USE_ASPELL', 'USE_PSPELL', 'USE_ISPELL', 'HAVE_FCNTL',\
|
|
||||||
'HAVE_LIBGDI32', 'HAVE_LIBAIKSAURUS', 'AIKSAURUS_LIB']:
|
|
||||||
env[key] = env_cache[key]
|
|
||||||
#
|
|
||||||
# nls related keys
|
|
||||||
if env['nls'] and included_gettext:
|
|
||||||
# only a few variables need to be rescanned
|
|
||||||
for key in ['HAVE_ASPRINTF', 'HAVE_WPRINTF', 'HAVE_SNPRINTF', \
|
|
||||||
'HAVE_POSIX_PRINTF', 'HAVE_LIBC']:
|
|
||||||
env[key] = env_cache[key]
|
|
||||||
|
|
||||||
# this looks misplaced, but intl/libintl.h is needed by src/message.C
|
# this looks misplaced, but intl/libintl.h is needed by src/message.C
|
||||||
if env['nls'] and included_gettext:
|
if env['nls'] and included_gettext:
|
||||||
@ -1507,7 +1431,6 @@ if frontend in ['qt3', 'qt4']:
|
|||||||
X11: %s
|
X11: %s
|
||||||
''' % (qt_inc_path, qt_lib_path, env['X11'])
|
''' % (qt_inc_path, qt_lib_path, env['X11'])
|
||||||
|
|
||||||
if not fast_start:
|
|
||||||
print env['VERSION_INFO']
|
print env['VERSION_INFO']
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1534,10 +1457,6 @@ if logfile != '' or platform_name == 'win32':
|
|||||||
# -h will print out help info
|
# -h will print out help info
|
||||||
Help(opts.GenerateHelpText(env))
|
Help(opts.GenerateHelpText(env))
|
||||||
|
|
||||||
# save environment settings (for fast_start option)
|
|
||||||
cache_file = open(env_cache_file, 'w')
|
|
||||||
cPickle.dump(env_cache, cache_file)
|
|
||||||
cache_file.close()
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
@ -2028,9 +1947,9 @@ if build_msvs_projects:
|
|||||||
the full path to start debug them.
|
the full path to start debug them.
|
||||||
'''
|
'''
|
||||||
if rebuildTargetOnly:
|
if rebuildTargetOnly:
|
||||||
cmds = 'fast_start=yes rebuild='+target
|
cmds = 'rebuild='+target
|
||||||
else:
|
else:
|
||||||
cmds = 'fast_start=yes'
|
cmds = ''
|
||||||
if full_target is None:
|
if full_target is None:
|
||||||
build_target = target
|
build_target = target
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user