# in the current code page (number)
# C4996: foo was decleared deprecated
CCFLAGS_required.extend(['/TP', '/EHsc'])
- CCFLAGS_default.extend(['/wd4819', '/wd4996', '/nologo'])
+ CCFLAGS_default.extend(['/wd4819', '/wd4996', '/nologo', '/MD'])
else:
if env.has_key('CXX') and env['CXX']:
env['CC'] = env.subst('$CXX')
environment variables
split: whether or not split obtained variable like '-02 -g'
'''
- # first try command line argument (override environment settings)
+ # 1. ARGUMENTS is already set to env[name], override default.
if ARGUMENTS.has_key(name):
- default = ARGUMENTS[name]
- if split:
- default = default.split()
+ default = None
# then use environment default
elif os.environ.has_key(name):
- print "Acquiring varaible %s from system environment: %s" % (name, os.environ[name])
+ print "Acquiring variable %s from system environment: %s" % (name, os.environ[name])
default = os.environ[name]
if split:
default = default.split()
- # set variable
- if required is not None:
- env[name] = required
- if default is not None:
- if env.has_key(name) and env[name] != default:
- env[name] += default
- else:
- env[name] = default
+ # the real value should be env[name] + default + required
+ if split:
+ value = []
+ if env.has_key(name):
+ value = str(env[name]).split()
+ if required is not None:
+ value += required
+ if default is not None:
+ value += default
+ else:
+ value = ""
+ if env.has_key(name):
+ value = str(env[name])
+ if required is not None:
+ value += " " + required
+ if default is not None:
+ value += " " + default
+ env[name] = value
+ # print name, env[name]
setEnvVariable(env, 'DESTDIR', split=False)
setEnvVariable(env, 'CC')
or (use_vc and not conf.CheckLibWithHeader('zdll', 'zlib.h', 'C')):
print 'Did not find zdll.lib or zlib.h, exiting!'
Exit(1)
+ has_iconv = conf.CheckLib('iconv')
+ has_libiconv = conf.CheckLib('libiconv')
+ if has_iconv:
+ env['ICONV_LIB'] = 'iconv'
+ elif has_libiconv:
+ env['ICONV_LIB'] = 'libiconv'
+ else:
+ print 'Did not find iconv or libiconv, exiting!'
+ Exit(1)
+ env_cache['ICONV_LIB'] = env['ICONV_LIB']
+else:
+ env['ICONV_LIB'] = env_cache['ICONV_LIB']
# qt libraries?
if not fast_start:
#
# qt3 does not use pkg_config
if frontend == 'qt3':
- if not conf.CheckLibWithHeader('qt-mt', 'qapp.h', 'c++', 'QApplication qapp();'):
+ # windows lib name is qt-mt3
+ if not conf.CheckLibWithHeader('qt-mt', 'qapp.h', 'c++', 'QApplication qapp();') \
+ and not conf.CheckLibWithHeader('qt-mt3', 'qapp.h', 'c++', 'QApplication qapp();'):
print 'Did not find qt libraries, exiting!'
Exit(1)
elif frontend == 'qt4':
# now, if msvc2005 is used, we will need that QT_LIB_PATH/QT_LIB.manifest file
if use_vc:
- if mode == 'debug':
- manifest = os.path.join(qt_lib_path, 'QtGuid4.dll.manifest')
- else:
- manifest = os.path.join(qt_lib_path, 'QtGui4.dll.manifest')
+ if frontend == 'qt3':
+ manifest = os.path.join(qt_lib_path, 'qt-mt3.dll.manifest')
+ elif frontend == 'qt4':
+ if mode == 'debug':
+ manifest = os.path.join(qt_lib_path, 'QtGuid4.dll.manifest')
+ else:
+ manifest = os.path.join(qt_lib_path, 'QtGui4.dll.manifest')
if os.path.isfile(manifest):
env['LINKCOM'] = [env['LINKCOM'], 'mt.exe /MANIFEST %s /outputresource:$TARGET;1' % manifest]
#define BOOST_ENABLE_ASSERT_HANDLER 1
#define BOOST_DISABLE_THREADS 1
-#define BOOST_NO_WREGEX 1
#define BOOST_NO_WSTRING 1
#ifdef __CYGWIN__
],
libs = [
('gdi32', 'HAVE_LIBGDI32'),
- (('iconv', 'libiconv'), 'HAVE_ICONV', 'ICONV_LIB'),
(('Aiksaurus', 'libAiksaurus'), 'HAVE_LIBAIKSAURUS', 'AIKSAURUS_LIB'),
],
custom_tests = [
'MKDIR_TAKES_ONE_ARG',
'Define if mkdir takes only one argument.'
),
+ (conf.CheckIconvConst(),
+ 'ICONV_CONST',
+ 'Define as const if the declaration of iconv() needs const.',
+ '#define ICONV_CONST const',
+ '#define ICONV_CONST',
+ ),
(conf.CheckLC_MESSAGES(),
'HAVE_LC_MESSAGES',
'Define if your <locale.h> file defines LC_MESSAGES.'
(spell_engine is not None, spell_engine,
'Spell engine to use'
),
+ # we need to know the byte order for unicode conversions
+ (sys.byteorder == 'big', 'WORDS_BIGENDIAN'
+ 'Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX).'
+ ),
],
extra_items = [
('#define PACKAGE "%s%s"' % (package, program_suffix),
# these keys are needed in env
for key in ['USE_ASPELL', 'USE_PSPELL', 'USE_ISPELL', 'HAVE_FCNTL',\
- 'HAVE_ICONV', 'HAVE_LIBGDI32', 'HAVE_LIBAIKSAURUS',
- 'ICONV_LIB', 'AIKSAURUS_LIB']:
+ 'HAVE_LIBGDI32', 'HAVE_LIBAIKSAURUS', 'AIKSAURUS_LIB']:
# USE_ASPELL etc does not go through result
if result.has_key(key):
env[key] = result[key]
('uintmax_t', 'HAVE_STDINT_H_WITH_UINTMAX', '#include <stdint.h>'),
],
libs = [
- (('iconv', 'libiconv'), 'HAVE_ICONV', 'ICONV_LIB'),
('c', 'HAVE_LIBC'),
],
custom_tests = [
(conf.CheckIconvConst(),
'ICONV_CONST',
'Define as const if the declaration of iconv() needs const.',
- '#define ICONV_CONST',
'#define ICONV_CONST const',
+ '#define ICONV_CONST',
),
(conf.CheckType('intmax_t', includes='#include <stdint.h>') or \
conf.CheckType('intmax_t', includes='#include <inttypes.h>'),
"Define to 1 if translation of program messages to the user's native anguage is requested.",
),
],
+ extra_items = [
+ ('#define HAVE_ICONV 1', 'Define if iconv or libiconv is found')
+ ],
config_post = '#endif'
)
# these keys are needed in env
for key in ['HAVE_ASPRINTF', 'HAVE_WPRINTF', 'HAVE_SNPRINTF', \
- 'HAVE_POSIX_PRINTF', 'HAVE_ICONV', 'HAVE_LIBC']:
+ 'HAVE_POSIX_PRINTF', 'HAVE_LIBC']:
# USE_ASPELL etc does not go through result
if result.has_key(key):
env[key] = result[key]
conf.CheckCHeader('io.h')
# only a few variables need to be rescanned
for key in ['USE_ASPELL', 'USE_PSPELL', 'USE_ISPELL', 'HAVE_FCNTL',\
- 'HAVE_ICONV', 'HAVE_LIBGDI32', 'HAVE_LIBAIKSAURUS',
- 'ICONV_LIB', 'AIKSAURUS_LIB']:
+ '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_ICONV', 'HAVE_LIBC']:
+ 'HAVE_POSIX_PRINTF', 'HAVE_LIBC']:
env[key] = env_cache[key]
# this looks misplaced, but intl/libintl.h is needed by src/message.C
# in their respective directory and specialized env.
if frontend == 'qt3':
# note: env.Tool('qt') my set QT_LIB to qt
- qt_libs = ['qt-mt']
- frontend_libs = ['qt-mt']
+ if platform_name == 'win32':
+ qt_libs = ['qt-mt3']
+ else:
+ qt_libs = ['qt-mt']
+ frontend_libs = qt_libs
elif frontend == 'qt4':
qt_libs = ['QtCore', 'QtGui']
# set the right lib names
# the final link step needs stdc++ to succeed under mingw
# FIXME: shouldn't g++ automatically link to stdc++?
if use_vc:
- system_libs = ['shlwapi', 'shell32', 'advapi32', 'zdll']
+ system_libs = [env['ICONV_LIB'], 'ole32', 'shlwapi', 'shell32', 'advapi32', 'zdll']
else:
- system_libs = ['shlwapi', 'stdc++', 'z']
+ system_libs = [env['ICONV_LIB'], 'shlwapi', 'stdc++', 'z']
elif platform_name == 'cygwin' and env['X11']:
- system_libs = ['GL', 'Xmu', 'Xi', 'Xrender', 'Xrandr', 'Xcursor',
- 'Xft', 'freetype', 'fontconfig', 'Xext', 'X11', 'SM', 'ICE', 'resolv',
- 'pthread', 'z']
+ system_libs = [env['ICONV_LIB'], 'GL', 'Xmu', 'Xi', 'Xrender', 'Xrandr',
+ 'Xcursor', 'Xft', 'freetype', 'fontconfig', 'Xext', 'X11', 'SM', 'ICE',
+ 'resolv', 'pthread', 'z']
else:
- system_libs = ['z']
+ system_libs = [env['ICONV_LIB'], 'z']
libs = [
- ('HAVE_ICONV', env['ICONV_LIB']),
('HAVE_LIBGDI32', 'gdi32'),
('HAVE_LIBAIKSAURUS', env['AIKSAURUS_LIB']),
('USE_ASPELL', aspell_lib),
qt3 = qt3env.StaticLibrary(
target = '$LOCALLIBPATH/qt3',
source = ['$BUILDDIR/common/frontends/qt3/%s' % x for x in src_frontends_qt3_files] \
- + qt3_moced_files + qt3_uiced_cc_files
+ + qt3_uiced_cc_files
)
Alias('qt3', qt3)
'-DQT_CLEAN_NAMESPACE',
'-DQT_GENUINE_STR',
'-DQT_NO_STL',
- '-DQT3_SUPPORT',
'-DQT_NO_KEYWORDS',
]
)
# ru.gmo ==> ru/LC_MESSAGES/lyxSUFFIX.mo
for gmo in gmo_files:
lan = os.path.split(str(gmo))[1].split('.')[0]
- dest_file = os.path.join(locale_dest_dir, lan, 'LC_MESSAGES', 'lyx' + version_suffix + '.mo')
+ dest_file = os.path.join(locale_dest_dir, lan, 'LC_MESSAGES', 'lyx' + program_suffix + '.mo')
env.InstallAs(dest_file, gmo)
Alias('install', dest_file)