]> git.lyx.org Git - lyx.git/blobdiff - INSTALL
new layout and template file for ACM SIGPLAN articles
[lyx.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index b4c50ed967e41c36596b23d1999f171a8d8a7160..0b6d5305cfdac0c6dc5ae3e3c56c918c97bb7495 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -14,6 +14,7 @@ These four steps will compile, test and install LyX:
           When compiling for Qt, you may have to set
              --with-qt4-dir=<path-to-your-qt4-installation>
            if the environment variable QTDIR is not set. 
+          See Note below if ./configure script is not present.
 
        2) make
           compiles the program.
@@ -26,12 +27,12 @@ These four steps will compile, test and install LyX:
            if you want a smaller binary.
 
 
-Note for Subversion checkouts
+Note for Subversion (SVN) checkouts
 -----------------------------
 
 If you have checked this out from Subversion, you need to have:
 * automake >= 1.5
-* autoconf >= 2.52
+* autoconf >= 2.59c
 * gettext >= 0.12
 Then type "./autogen.sh" to build the needed configuration
 files and proceed as stated below.
@@ -100,19 +101,21 @@ For more complicated cases, LyX configure takes the following specific
 flags:
 
   o --enable-build-type=[rel(ease), dev(elopment), pre(release)]
-    allows to tweak the compiled code. The options are equivalent to:
-
-    release: --enable-optimization=-O2 --disable-assertions 
-             --disable-stdlib-debug --disable-concept-checks
-             --disable-warnings --disable-debug
-
-    prerelease: --enable-optimization=-O2 --enable-assertions 
-             --disable-stdlib-debug --enable-concept-checks
-             --enable-warnings --enable-debug
-
-    prerelease: --enable-optimization=-O --enable-assertions 
-             --enable-stdlib-debug --enable-concept-checks
-             --enable-warnings --enable-debug
+    allows to tweak the compiled code. The following table describes
+    the settings in terms of various options that are described later
+
+                      release   prerelease  development
+    optimization        -O2         -O2         -O
+    assertions                       X           X
+    stdlib-debug                                 X
+    concept-checks                   X           X
+    warnings                         X           X
+    debug                            X           X
+
+    The default are as follows in terms of version number
+    release: stable release (1.x.y)
+    prerelease: version number contains alpha, beta, rc or pre.
+    development: version number contains svn.
 
   o --with-extra-lib=DIRECTORY that specifies the path where LyX will
     find extra libraries (qt4) it needs. Defaults to NONE
@@ -127,10 +130,11 @@ flags:
        --with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
     If DIRECTORY is not specified, the current prefix is used.
 
-  o --with-version-suffix will install LyX as lyx-<version>, e.g. lyx-1.6.1
-    The LyX data directory will be something like <whatever>/lyx-1.6.1/.
+  o --with-version-suffix[=SUFFIX] will install LyX as lyxSUFFIX. The
+    LyX data directory will be something like <whatever>/lyxSUFFIX/.
     Additionally your user configuration files will be found in e.g.
-    $HOME/.lyx-1.6.1
+    $HOME/.lyxSUFFIX. The default for SUFFIX is "-<currentversion>",
+    e.g. lyx-1.6.1.
 
     You can use this feature to install more than one version of LyX
     on the same system. You can optionally specify a "version" of your
@@ -199,8 +203,11 @@ give a value to the CXX variable.
 If you encounter problems, please read the section 'Problems' at the end of
 this file.
 
-In particular, the following options could be useful in some desperate
-cases:
+The following options allow to tweak more precisely the generated code:
+
+  o --enable-profiling instruments the code for use with the gprof
+    profiler. The result are only meaningful in conjunction with
+    --enable-build-type=release.
 
   o --enable-optimization=VALUE enables you to set optimization to a
     higher level as the default (-O), for example --enable-optimization=-O3.
@@ -241,6 +248,11 @@ cases:
     want to use. The default value is qt4, which is the only available
     frontend for now.
 
+  o --enable-monolithic-[boost,client,insets,mathed,core,tex2lyx,frontend-qt4]
+    that enable monolithic build of the given part of the source code. This
+    should reduce the compilation time provided you have enough memory
+    (>500MB).
+
 
 Compiling and installing LyX
 ----------------------------
@@ -284,31 +296,6 @@ the source code directory.  After you have installed LyX for one
 architecture, use `make distclean' before reconfiguring for another
 architecture.
 
-Preparing a binary distribution for the use of others
-------------------------------------------------------
-
-  o Compile LyX with the right compiler switches for your
-    architecture. Make sure you use the --without-latex-config switch
-    of configure, since others might not be interested by your
-    configuration :-)
-
-  o Create a file README.bin describing your distribution and
-    referring to *you* if problems arise. As a model, you can use the
-    file development/tools/README.bin.example, which can be a good
-    starting point.
-
-  o Type `make bindist'. This will create a file
-    lyx-1.xx.yy-bin.tar.gz. Rename it to reflect you architecture
-    and the peculiarities of your build (e.g. static vs. dynamic).
-
-  o Check that everything is correct by unpacking the distribution
-    in some private place and running it. In particular, check the
-    output of `ldd lyx' to know which libraries are really needed.
-
-  o Upload your binary file to ftp.devel.lyx.org:/pub/incoming, and
-    notify larsbj@lyx.org.
-
-
 Problems
 --------
 
@@ -320,6 +307,47 @@ notify us.
   o On SUN Sparc Solaris, you need gnumake. The LyX makefiles do not
     work with Solaris make.
 
-    The Solaris ar seg-faults trying to build the insets library. You
+    The Solaris ar seg-faults trying to build the insets library. You
     will need to use the ar from the GNU binutils for this subdirectory.
+    There is no problem with the Solaris 9 and 10 ar.
+
+    Qt4 uses the Xrender X11 extension for antialiased fonts. This
+    extension was added to Xsun starting from the Solaris 10 8/07
+    release, but it is not activated by default. To activate it, you
+    must issue (as root) the following command:
+    svccfg -s svc:/application/x11/x11-server setprop options/server_args=+xrender
+    and then restart the X server.
+
+    There is a problem with the fontconfig library shipped with
+    Solaris 10 8/07 causing a seg-fault when it is used by Qt4.
+    Until this is fixed, a workaround is replacing the shared library
+    /usr/lib/libfontconfig.so.1 with a copy from a previous release or
+    installing a new version of fontconfig from http://www.sunfreeware.com/
+
+    On Solaris, the default fontconfig configuration gives preference
+    to bitmap fonts at (not so small) sizes. As bitmapped fonts are not
+    antialiased, you may prefer changing this configuration. This may be
+    done by adding the following stanza
+
+          <match target="pattern">
+              <edit name="prefer_bitmap">
+                  <bool>false</bool>
+              </edit>
+          </match>
+
+    to either ~/.fonts.conf (for a per-user change) or /etc/fonts/local.conf
+    (for a global system change). The stanza should be added between the
+    <fontconfig> and </fontconfig> tags. If neither ~/.fonts.conf nor
+    /etc/fonts/local.conf exist, you can create them with the following
+    content:
+
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+          <match target="pattern">
+              <edit name="prefer_bitmap">
+                  <bool>false</bool>
+              </edit>
+          </match>
+      </fontconfig>