]> git.lyx.org Git - lyx.git/blobdiff - INSTALL.scons
Fixed some lines that were too long. It compiled afterwards.
[lyx.git] / INSTALL.scons
index 47a5855f4efe899f6d661d06481fa0e8bc307a8a..6376e2f6d0d551b27bf1541603c7f72ab23c1140 100644 (file)
@@ -11,7 +11,7 @@ widely supported on the *nix systems, but not so under windows. They are
 not necessarily easy to use and maintain (at least to non-m4 experts)
 either. Because of these, a scons (http://www.scons.org) build system has
 been set up as an alternative way to build lyx. As of writing, this system
 not necessarily easy to use and maintain (at least to non-m4 experts)
 either. Because of these, a scons (http://www.scons.org) build system has
 been set up as an alternative way to build lyx. As of writing, this system
-only supports qt3 and qt4 frontends.
+only supports the qt4 frontend.
 
 This file is organized as follows:
 1. General usage of scons
 
 This file is organized as follows:
 1. General usage of scons
@@ -19,9 +19,8 @@ This file is organized as follows:
 3. Windows/mingw
 4. Windows/cygwin
 5. Windows/msvc
 3. Windows/mingw
 4. Windows/cygwin
 5. Windows/msvc
-6. Other versions of lyx (1.4.x)
-7. Tips and hints
-8. Troubleshooting
+6. Tips and hints
+7. Troubleshooting
 
 
 1. General usage of scons
 
 
 1. General usage of scons
@@ -44,7 +43,7 @@ Prerequisites:
   in the near future.
 
 * Other libraries:
   in the near future.
 
 * Other libraries:
-  These include zlib (required), qt3 or qt4 (required), gettext
+  These include zlib (required), qt4 (required), gettext
   (optional), boost (optional), aspell (optional) and Aiksaurus
   (optional). Please refer to the system-specific sections regarding the
   availability and installation of them.
   (optional), boost (optional), aspell (optional) and Aiksaurus
   (optional). Please refer to the system-specific sections regarding the
   availability and installation of them.
@@ -57,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
 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
 
 There are three types of command line options:
   * key=value are user options. They are used to tell scons which
@@ -78,9 +83,7 @@ command 'scons -h'.
 
 Components to use/build:
 
 
 Components to use/build:
 
-  * frontend=qt3/qt4: qt3 is the default for all *nix systems including
-    windows cygwin. qt4 is the default for windows/mingw and windows/
-    msvc. xform and gtk are not currently supported.
+  * frontend=qt4: qt4 is the only option right now.
   * mode=debug/release: lyx will be built under the debug or release
     directory, with different default build options.
   * boost=included/system/auto: whether or not use included boost, system
   * mode=debug/release: lyx will be built under the debug or release
     directory, with different default build options.
   * boost=included/system/auto: whether or not use included boost, system
@@ -107,16 +110,15 @@ Paths: Most of them will be probed if not specified.
 
 Convenience options:
 
 
 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.
   * 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
   * 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
-    component(s).
+    component(s). rebuild=no, none, yes or all can be used as well.
   * log_file: a log file of executed commands, default to scons_lyx.log
 
 
   * log_file: a log file of executed commands, default to scons_lyx.log
 
 
@@ -125,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
   * 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.
   * 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:
 
 
 Compiler choice and flags:
@@ -145,13 +152,13 @@ You can specify one or more of the following targets:
 
   Static libraries (names correspond to their directories):
     boost, intl, support, mathed, insets, frontends, graphics,
 
   Static libraries (names correspond to their directories):
     boost, intl, support, mathed, insets, frontends, graphics,
-    controllers, client, qt3, qt4, lyxbase
+    controllers, client, qt4, lyxbase
   Programs:
     tex2lyx, client, lyx, all = tex2lyx + client + lyx
   Installation:
   Programs:
     tex2lyx, client, lyx, all = tex2lyx + client + lyx
   Installation:
-    po, install = all + po
+    po, install = all + po, installer (windows only, need NSIS)
   Misc:
   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
 
 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
@@ -159,12 +166,16 @@ directory structure is:
   $build_dir
     - common: most of the intermediate files, mostly object files
     - libs: all static libraries
   $build_dir
     - common: most of the intermediate files, mostly object files
     - libs: all static libraries
-    - 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).
 
     - 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:
 ---------------------------
 
 A typical working sequence:
 ---------------------------
@@ -176,12 +187,10 @@ A typical working sequence:
     (build lyx, client and tex2lyx, options like qt_dir will be carried
     over here)
   > scons rebuild=lyxbase
     (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
     (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)
 
 
     (lyx is built for /usr/site, but install to /install/dir)
 
 
@@ -248,7 +257,7 @@ extra_inc_path etc is needed.
 =================
 
 LyX should be easy to compile, but you must use the most recent 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 the qt3 library in the
+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.
 
 cygwin distribution does not work with previous versions due to broken
 threading support.
 
@@ -257,8 +266,8 @@ 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:
 
   * install (using the cygwin setup program) at least the following
     packages and all other packages pulled in by dependencies:
 
-    aspell        gzip       libiconv     qt3-bin
-    aspell-dev    jpeg       libpng       qt3-devel
+    aspell        gzip       libiconv     qt4-bin
+    aspell-dev    jpeg       libpng       qt4-devel
     gcc           libintl    libpng2
     gettext       libintl1   jpeg
     gettext-devel libintl2   python
     gcc           libintl    libpng2
     gettext       libintl1   jpeg
     gettext-devel libintl2   python
@@ -270,10 +279,10 @@ To build lyx for cygwin, you should
   * run scons as you would do under linux.
 
 Note: cygwin/qt does not follow the usual $qt_dir/include, $qt_dir/bin,
   * run scons as you would do under linux.
 
 Note: cygwin/qt does not follow the usual $qt_dir/include, $qt_dir/bin,
-$qt_dir/lib directory structure. For example, cygwin/qt3 uses directories
-/usr/include/qt3, /usr/lib/qt3/bin and /usr/lib/qt3/lib. If these
+$qt_dir/lib directory structure. For example, cygwin/qt4 uses directories
+/usr/include/qt4, /usr/lib/qt4/bin and /usr/lib/qt4/lib. If these
 directories can not be detected automatically, use options, for example,
 directories can not be detected automatically, use options, for example,
-  qt_dir=/usr/lib/qt3 qt_inc_path=/usr/include/qt3
+  qt_dir=/usr/lib/qt4 qt_inc_path=/usr/include/qt4
 
 
 5. Windows/msvc
 
 
 5. Windows/msvc
@@ -293,7 +302,7 @@ To build lyx with msvc, you should
     directories in VCProjectEngine.dll.express.config, as suggested in
     http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/.
 
     directories in VCProjectEngine.dll.express.config, as suggested in
     http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/.
 
-  * build qt4
+  * build qt4 
     - download qt4 source from trolltech (not the binary version, which
       only works with mingw)
     - get q../free patch for qt4
     - download qt4 source from trolltech (not the binary version, which
       only works with mingw)
     - get q../free patch for qt4
@@ -319,22 +328,7 @@ To build lyx with msvc, you should
       - To use the msvc debugger, you have to use mode=debug (default).
 
 
       - To use the msvc debugger, you have to use mode=debug (default).
 
 
-6. Other versions of lyx (1.4.x)
-================================
-
-The scons build system is not yet distributed with lyx1.4.x. Support for
-the qt2 frontend of lyx1.4.x is, however, added to the trunk (1.5.x). If
-you have checked out both 1.4.x and the trunk, you can build lyx 1.4.x
-using commands similar to
-
-  > cd lyx-1.4.x
-  > scons -f ../lyx-1.5.x/development/scons/SConstruct
-
-Note that lyx 1.4.x does not use the latest version of the boost library
-so option boost=included is recommended.
-
-
-7. Tips and hints
+6. Tips and hints
 =================
 
   * Using external boost libraries (install boost libraries and use
 =================
 
   * Using external boost libraries (install boost libraries and use
@@ -343,7 +337,7 @@ so option boost=included is recommended.
     not be included in the dependency tree.
 
 
     not be included in the dependency tree.
 
 
-8. Troubleshooting
+7. Troubleshooting
 ==================
 
 When you get an error:
 ==================
 
 When you get an error: