# some global settings
#
-package_version = '1.5.0svn'
-package_cygwin_version = '1.5.0svn-1'
+# get version number from configure.ac so that JMarc does
+# not have to change SConstruct during lyx release
+package_version = utils.getVerFromConfigure(top_src_dir)
+package_cygwin_version = '%s-1' % package_version
boost_version = '1_33_1'
devel_version = True
'CheckCXXGlobalCstd' : utils.checkCXXGlobalCstd,
'CheckLC_MESSAGES' : utils.checkLC_MESSAGES,
'CheckIconvConst' : utils.checkIconvConst,
+ 'CheckSizeOfWChar' : utils.checkSizeOfWChar,
}
)
'Define if you want assertions to be enabled in the code'
),
],
+ types = [
+ ('wchar_t', 'HAVE_WCHAR_T', None),
+ ],
config_post = '''
#if defined(HAVE_OSTREAM) && defined(HAVE_LOCALE) && defined(HAVE_SSTREAM)
# check arg types of select function
(select_arg1, select_arg234, select_arg5) = conf.CheckSelectArgType()
+ # check the size of wchar_t
+ sizeof_wchar_t = conf.CheckSizeOfWChar()
+ # something wrong
+ if sizeof_wchar_t == 0:
+ print 'Error: Can not determine the size of wchar_t.'
+ Exit(1)
+
#
# create config.h
result = utils.createConfigFile(conf,
],
types = [
('std::istreambuf_iterator<std::istream>', 'HAVE_DECL_ISTREAMBUF_ITERATOR',
- '#include <streambuf>\n#include <istream>')
+ '#include <streambuf>\n#include <istream>'),
+ ('wchar_t', 'HAVE_WCHAR_T', None),
],
libs = [
('gdi32', 'HAVE_LIBGDI32'),
"Define to the type of arg 2, 3, 4 for `select'."),
('#define SELECT_TYPE_ARG5 %s' % select_arg5,
"Define to the type of arg 5 for `select'."),
+ ('#define SIZEOF_WCHAR_T %d' % sizeof_wchar_t,
+ 'Define to be the size of type wchar_t'),
],
config_post = '''/************************************************************
** You should not need to change anything beyond this point */
),
],
extra_items = [
- ('#define HAVE_ICONV 1', 'Define if iconv or libiconv is found')
+ ('#define HAVE_ICONV 1', 'Define if iconv or libiconv is found'),
+ ('#define SIZEOF_WCHAR_T %d' % sizeof_wchar_t,
+ 'Define to be the size of type wchar_t'),
],
config_post = '#endif'
)
# this looks misplaced, but intl/libintl.h is needed by src/message.C
if env['nls'] and included_gettext:
# libgnuintl.h.in => libintl.h
+ env.Depends('$TOP_SRCDIR/intl/libintl.h', '$BUILDDIR/intl/config.h')
env.substFile('$BUILDDIR/intl/libintl.h', '$TOP_SRCDIR/intl/libgnuintl.h.in')
env.Command('$BUILDDIR/intl/libgnuintl.h', '$BUILDDIR/intl/libintl.h',
[Copy('$TARGET', '$SOURCE')])
#
print "Processing files in src/support..."
+ env.Depends('$BUILDDIR/common/support/package.C', '$BUILDDIR/common/config.h')
env.substFile('$BUILDDIR/common/support/package.C', '$TOP_SRCDIR/src/support/package.C.in')
support = env.StaticLibrary(
#
print "Processing files in src..."
+ env.Depends('$BUILDDIR/common/version.C', '$BUILDDIR/common/config.h')
env.substFile('$BUILDDIR/common/version.C', '$TOP_SRCDIR/src/version.C.in')
if env.has_key('USE_ASPELL') and env['USE_ASPELL']:
if platform_name == 'cygwin':
# cygwin packaging requires a file /usr/share/doc/Cygwin/foot-vendor-suffix.README
- Cygwin_README = os.path.join(dest_prefix_dir, 'doc', 'Cygwin',
- '%s%s.README' % (package, package_cygwin_version))
+ Cygwin_README = os.path.join(dest_prefix_dir, 'share', 'doc', 'Cygwin',
+ '%s-%s.README' % (package, package_cygwin_version))
env.InstallAs(Cygwin_README,
os.path.join(env.subst('$TOP_SRCDIR'), 'README.cygwin'))
Alias('install', Cygwin_README)
# also a directory /usr/share/doc/lyx for README etc
- Cygwin_Doc = os.path.join(dest_prefix_dir, 'doc', package)
+ Cygwin_Doc = os.path.join(dest_prefix_dir, 'share', 'doc', package)
env.Install(Cygwin_Doc, [os.path.join(env.subst('$TOP_SRCDIR'), x) for x in \
['INSTALL', 'README', 'README.Cygwin', 'RELEASE-NOTES', 'COPYING', 'ANNOUNCE']])
Alias('install', Cygwin_Doc)
+ # cygwin fonts also need to be installed
+ Cygwin_fonts = os.path.join(share_dest_dir, 'fonts')
+ env.Install(Cygwin_fonts,
+ [env.subst('$TOP_SRCDIR/development/Win32/packaging/bakoma/%s' % file) \
+ for file in win32_bakoma_fonts])
+ Alias('install', Cygwin_fonts)
+ # we also need a post installation script
+ tmp_script = utils.installCygwinPostinstallScript('/tmp')
+ postinstall_script = os.path.join(dest_dir, 'etc', 'postinstall', 'lyx.sh')
+ env.Install(postinstall_script, tmp_script)
+ Alias('install', postinstall_script)
+
+ # subst and install lyx2lyx_version.py which is not in scons_manifest.py
+ env.Depends(share_dest_dir + '/lyx2lyx/lyx2lyx_version.py', '$BUILDDIR/common/config.h')
+ env.substFile(share_dest_dir + '/lyx2lyx/lyx2lyx_version.py',
+ '$TOP_SRCDIR/lib/lyx2lyx/lyx2lyx_version.py.in')
+ Alias('install', share_dest_dir + '/lyx2lyx/lyx2lyx_version.py')
- # lyx1.4.x does not have lyx2lyx_version.py.in
- if os.path.isfile(env.subst('$TOP_SRCDIR/lib/lyx2lyx/lyx2lyx_version.py.in')):
- # subst and install this file
- env.substFile(share_dest_dir + '/lyx2lyx/lyx2lyx_version.py',
- '$TOP_SRCDIR/lib/lyx2lyx/lyx2lyx_version.py.in')
- Alias('install', share_dest_dir + '/lyx2lyx/lyx2lyx_version.py')
# man
env.InstallAs(os.path.join(man_dest_dir, 'lyx' + version_suffix + '.1'),
env.subst('$TOP_SRCDIR/lyx.man'))