been set up as an alternative way to build lyx. As of writing, this system
only supports qt3 and qt4 frontends.
-This README file is organized as follows:
+This file is organized as follows:
1. General usage of scons
2. *nix systems (Linux, Solaris and Mac OSX)
3. Windows/mingw
* fast_start=yes/no: if true, bypass initial configuration step and use
existing src/config.h
- * load_option=yes/no: if true, load previously saved command line
- options so you can run 'scons install' directly after a long
- 'scons all' building command.
+ * load_option=yes/no/opt1,opt2/-opt1,opt2: if true, load previously saved
+ command line options so you can run 'scons install' directly after a
+ long 'scons all' building command. You can load selected options using
+ load_option=opt1,opt2,... or exclude options using the - version of it.
* rebuild=target1,target2... By default, scons will exam all components
when you build lyx. You can free scons from some hard work and save
yourself some time by telling scons to rebuild only specified
Default to $prefix/bin
* dest_dir: if specified, install to this directory instead of $prefix.
+
Compiler choice and flags:
* use_vc: use msvc instead of mingw g++ under windows
- * CC, LINK, CPP, CXX, CCFLAGS, LDFLAGS etc: compiler commands and
- flags. They can be set as environment variables as well.
+ * optimization: optimization flag to use (e.g. -O2)
+ * CC, LINK, CPP, CXX, CCFLAGS, LINKFLAGS etc: compiler commands and
+ flags. Setting CCFLAGS etc will replace default flags. These variables
+ can be set as environment variables as well.
Targets:
$build_dir
- common: most of the intermediate files, mostly object files
- libs: all static libraries
- - qt3/qt4: lyx built with the frontend
+ - qt3 etc: lyx executable built with the frontend
- executables: lyxclient, tex2lyx, lyx
- MSVS projects will be put to development/scons (and you should invoke
- scons from there for this target).
+MSVS projects will be put to development/scons (and you should invoke
+scons from there for this target).
A typical working sequence:
> cd development/scons
> scons frontend=qt4 qt_dir=/path/to/qt4
- (build lyx, and all necessary libraries...)
+ (build lyx, and all needed libraries...)
> scons all -j3
(build lyx, client and tex2lyx, options like qt_dir will be carried
over here)
(lyx is built for /usr/site, but install to /install/dir)
-
2. *nix systems (Linux, Solaris and Mac OSX)
============================================
================
* install mingw with the following packages:
- FIXME: we only need gcc/g++ and win32 api.
binutils-2.16.91-...tar.gz
gcc-core-3.4.5-...tar.gz
gcc-g++-3.4.5-...tar.gz
mingw-utils-0.3.tar.gz
MSYS-1.0.11-...exe
msysDTK-1.0.1.exe
- msys-libtool-1.5.tar.bz2
w32api-3.6.tar.g
* install the latest Qt official "open source" binary package for
- Windows/Mingw
+ Windows/Mingw (required)
- * install iconv (libiconv):
- Download the windows binary (libiconv-x.x.x.bin.woe32.zip) of iconv
- from one of the GNU mirrors listed in http://www.gnu.org/prep/ftp.html.
+ * install mingw/zlib (required):
+ Download zlib binaries and developer files (zlib-1.2.3-bin.zip and
+ zlib-1.2.3-lib.zip) from http://gnuwin32.sourceforge.net/packages/zlib.htm .
- You may also try gnuwin32/libiconv from
- http://gnuwin32.sourceforge.net/packages/libiconv.htm
+ * install iconv (optional):
+ Download libiconv from http://gnuwin32.sourceforge.net/packages/libiconv.htm
+ The complete package (without source) is recommended.
- * install gettext (libintl):
- Download the windows binary (gettext-runtime-x.x.x.bin.woe32.zip and
- gettext-tools-x.x.x.bin.woe32.zip) from one of the GNU mirrors
- (e.g. http://mirrors.usc.edu/pub/gnu/gettext/) and decompress.
-
- You may also try gnuwin32/libintl from
- http://gnuwin32.sourceforge.net/packages/libintl.htm
+ You may also try the windows binary (libiconv-x.x.x.bin.woe32.zip) of
+ iconv from one of the GNU mirrors listed in http://www.gnu.org/prep/ftp.html.
- * install mingw/zlib:
- Download zlib binaries and developer files (zlib-1.2.3-bin.zip and
- zlib-1.2.3-lib.zip) from http://gnuwin32.sourceforge.net/packages/zlib.htm .
+ * install gettext (optional):
+ Download gettext from http://gnuwin32.sourceforge.net/packages/gettext.htm
+ The complete package (without source) is recommended.
- * aspell: this is difficult. Everybody has his own compiled library.
- Mine is in D:\program\Aspell-0.60.4.
+ You may also try the windows binary (gettext-runtime-x.x.x.bin.woe32.zip
+ and gettext-tools-x.x.x.bin.woe32.zip) from one of the GNU mirrors
+ (e.g. http://mirrors.usc.edu/pub/gnu/gettext/).
+
+ * install aspell (optional):
+ LyX uses aspell 0.60.4 and there is no, as of now, official windows
+ version. If you do not want to compile aspell from source by yourself,
+ your best bet is using Abdel's lyx 1.5.0svn experimental package located
+ at http://wiki.lyx.org/Windows/LyX150Experimental. The link to his
+ pre-built aspell package is http://younes.a.free.fr/Lyx-15-experimental
+
+ * install aiksaurus (optional):
+ Try to build aiksaurus from source (both mingw or msvc should work),
+ or look for pre-built package from the lyx 1.5.0svn experimental page.
* Open a mingw xterm, and start scons as usual.
* download and install the official zlib library from www.zlib.org.
- * install iconv (libiconv):
- Download the windows binary (libiconv-x.x.x.bin.woe32.zip) of iconv
- from one of the GNU mirrors listed in http://www.gnu.org/prep/ftp.html.
-
- You may also try gnuwin32/libiconv from
- http://gnuwin32.sourceforge.net/packages/libiconv.htm
-
- * install gettext (libintl):
- Download the windows binary (gettext-runtime-x.x.x.bin.woe32.zip and
- gettext-tools-x.x.x.bin.woe32.zip) from one of the GNU mirrors
- (e.g. http://mirrors.usc.edu/pub/gnu/gettext/) and decompress.
-
- You may also try gnuwin32/libintl from
- http://gnuwin32.sourceforge.net/packages/libintl.htm
-
- * set up other optional libraries like aspell (following mingw
- instructions)
+ * optionally install iconv, gettext, aspell, aiksaurus following
+ the mingw instructions.
* start from msvc command prompt, use the use_vc option to build lyx.
You may need to use extra_inc_path etc to point to zlib paths.