]> git.lyx.org Git - lyx.git/blobdiff - INSTALL.scons
Don't allow newline characters in document settings.
[lyx.git] / INSTALL.scons
index 482cf90e798e1b0aa78c1254f0cf38dc61a7ef7a..0969efa7e4df3e61cb5215f07fefdc3de67b7bd1 100644 (file)
@@ -30,13 +30,13 @@ Prerequisites:
 --------------
 
 * Python:
-  Python >= 1.5.2 is required to run scons, but Python >= 2.3 is used by
-  lyx itself so the newer version is needed. Python is widely
-  available on non-windows systems. Windows users can download and install
-  python from http://www.python.org.
+  Python >= 2.6.0 is required to run scons, while LyX itself requires
+  Python >= 2.4.0 for scripts such as configure.py. Python is widely
+  available on non-windows systems. Windows users can download and
+  install python from http://www.python.org.
 
 * SCons:
-  scons >= 0.96.92 is needed. You can either use a full system-wide scons
+  scons >= 1.1.0 is needed. You can either use a full system-wide scons
   distribution or a light-weight one (called scons-local) installed along
   with the lyx source tree. Both variants of scons are freely available
   from http://www.scons.org. Note that LyX source may ship with scons-base
@@ -56,8 +56,14 @@ The scons system resides under development/scons. You can invoke it from
 either development/scons by, for example:
   > cd development/scons
   > scons frontend=qt4 qt_dir=d:/qt4 -j3 lyx
-or from top source directory by:
-  > scons -f development/scons/SConstruct frontend=qt4 all
+or from any other directory and use -f option to point to the SConstruct
+file:
+  > mkdir build
+  > cd build
+  > scons -f ../development/scons/SConstruct frontend=qt4 all
+If you are tired of typing development/scons/SConstruct, you can link 
+development/scons/SConstruct to the top source directory and use this
+SConstruct file.
 
 There are three types of command line options:
   * key=value are user options. They are used to tell scons which
@@ -86,7 +92,7 @@ Components to use/build:
     one.
   * gettext=included/system/auto
   * nls=yes/no whether or not enable natural language support.
-  * spell=aspell/pspell/ispell/auto: spell engine
+  * spell=aspell/auto: spell engine
 
 
 Paths: Most of them will be probed if not specified.
@@ -104,12 +110,11 @@ Paths: Most of them will be probed if not specified.
 
 Convenience options:
 
-  * fast_start=yes/no: if true, bypass initial configuration step and use
-    existing src/config.h
   * 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.
+    Note that the option 'bundle' is not reloaded.
   * 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
@@ -122,9 +127,14 @@ Installation options:
   * prefix: directory where lyx will be installed
   * exec_dir: directory where lyx binaries will be installed.
     Default to $prefix/bin
-  * dest_dir: if specified, install to this directory instead of $prefix.
+  * DESTDIR: if specified, install to this directory instead of $prefix.
   * version_suffix=yes/no/something : if specified, this suffix will be 
     appended to the user data directory.
+  * win_installer: if specified under windows, and if 'installer' target
+    is given, generate NSIS installer specifed as win_installer which can 
+    be a full path name. The default is lyx-version-timestamp-Installer.exe
+    for a development version, and lyx-version-Installer.exe for a released
+    version.
 
 
 Compiler choice and flags:
@@ -146,9 +156,9 @@ You can specify one or more of the following targets:
   Programs:
     tex2lyx, client, lyx, all = tex2lyx + client + lyx
   Installation:
-    po, install = all + po
+    po, install = all + po, installer (windows only, need NSIS)
   Misc:
-    msvs_projects
+    msvs_projects, update_po
 
 Your built targets are put into $build_dir, which is debug (mode=debug),
 release (mode=release) or any name specified via build_dir=name. The
@@ -156,12 +166,16 @@ directory structure is:
   $build_dir
     - common: most of the intermediate files, mostly object files
     - libs: all static libraries
-    - qt4 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).
 
+update_po is similar to 'cd po; make update-po' but does not generate
+.gmo files, which is the task of the install target. Note that this 
+target is the only target that changes files (po/*.po in this case)
+of the lyx source tree.
+
 
 A typical working sequence:
 ---------------------------
@@ -173,12 +187,10 @@ A typical working sequence:
     (build lyx, client and tex2lyx, options like qt_dir will be carried
     over here)
   > scons rebuild=lyxbase
-    (working on lyx_main.C, so only need to rebuild lyxbase)
+    (working on LyX.cpp, so only need to rebuild lyxbase)
   > scons
     (build again, only lyxbase will be rebuilt)
-  > scons fast_start=no --config=force
-    (need to regenerate src/config.h)
-  > scons prefix=/usr/site dest_dir=/install/dir
+  > scons prefix=/usr/site DESTDIR=/install/dir
     (lyx is built for /usr/site, but install to /install/dir)
 
 
@@ -244,21 +256,15 @@ extra_inc_path etc is needed.
 4. Windows/cygwin
 =================
 
-LyX should be easy to compile, but you must use the most recent cygwin
-dll (version 1.5.20-1 as of July 2006) because qt library in older
-cygwin distribution does not work with previous versions due to broken
-threading support.
-
 To build lyx for cygwin, you should
 
   * install (using the cygwin setup program) at least the following
     packages and all other packages pulled in by dependencies:
 
-    aspell        gzip       libiconv     qt4-bin
-    aspell-dev    jpeg       libpng       qt4-devel
-    gcc           libintl    libpng2
-    gettext       libintl1   jpeg
-    gettext-devel libintl2   python
+    aspell        gzip             libiconv           libQtGui4
+    aspell-dev    gettext          libpng             libQtGui4-devel
+    gcc           gettext-devel    libQtCore4         pkg-config
+    gcc4          libintl8         libQtCore4-devel   python
 
   * install aiksaurus (http://aiksaurus.sourceforge.net/, optional):
     There is no cygwin package for aiksaurus, so you should build it from