]> git.lyx.org Git - lyx.git/blobdiff - INSTALL
Moving to have the Tabular-Layout-Form tabbed and in the GUI-indep directory.
[lyx.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index f3136328a4270659d308a8ca92190f84d0be92c9..2a89c4b01a3d5136229e848a1025503384e8c5ee 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -24,7 +24,8 @@ These four steps will compile, test and install LyX:
           runs the program so you can check it out.
 
        4) make install
-          will install it.
+          will install it. You can use "make install-strip" instead
+           if you want a smaller binary. 
 
 
 Requirements
@@ -34,8 +35,8 @@ You will need to have both an Xforms library and Xpm library to compile
 LyX.  It is imperative that you have the correct versions of these 
 libraries, and their associated header files.
 
-As of LyX version 1.1.1, you will need to have Xforms library and header
-version 0.81, 0.86, or 0.88.  Version 0.88 is a stable release and the
+As of LyX version 1.1.5, you will need to have Xforms library and header
+version 0.88 or 0.89.  Version 0.88 is a stable release and the
 recommended version.  On some systems, such as linux ELF, there are shared 
 library versions of the Xforms library, which require an installation step 
 to configure the system.
@@ -44,8 +45,8 @@ Xforms is available (free) only in binary format, source code is not
 available.  If it is not available for your machine, contact the Xforms
 developers to request a version for your system.  You can get it from
 
-    http://bragg.phys.uwm.edu/xforms
-    ftp://bragg.phys.uwm.edu/pub/xforms/
+    http://world.std.com/~xforms/
+    ftp://ncmir.ucsd.edu/pub/xforms/
     ftp://ftp.lyx.org/pub/xforms/
     ftp://ftp.fu-berlin.de/unix/X11/gui/xforms
     ftp://ftp.cs.ruu.nl/pub/XFORMS/
@@ -58,10 +59,16 @@ libXpm can be found at:
            (or similar locations at other sunsites like sunsite.unc.edu)
 
 You will also need a recent C++ compiler, where recent means that the
-compilers knows a bit about the C++ standard. Compilers that are known
-to compile LyX are gcc 2.8.1 and 2.95.x, the various versions of egcs
-and Digital C++ version 6.1. Please tell us your experience with other
-compilers. 
+compilers are close to C++ standard conforming. Compilers that are
+known to compile LyX are gcc 2.8.1 and 2.95.x, the various versions of
+egcs and Digital C++ version 6.1. Please tell us your experience with
+other compilers. It is _not_ possible to compile LyX with gcc 2.7.x,
+and this is not likely to change in the future.
+
+Note that, contrary to LyX 1.0.x, LyX 1.1.x makes great use of C++
+Standard Template Library (STL); this means that gcc users will have
+to install the relevant libstdc++ library to be able to compile this
+version.
 
 If you make modifications to files in src/ (for example by applying a 
 patch), you will need to have the GNU gettext package installed, due to 
@@ -113,7 +120,12 @@ flags:
 
   o --with-extra-prefix[=DIRECTORY] that is equivalent to
        --with-extra-lib=DIRECTORY/lib --with-extra-inc=DIRECTORY/include
-   If DIRECTORY is not specified, the current prefix is used.
+    If DIRECTORY is not specified, the current prefix is used.
+
+  o --with-lyxname=STRING sets the name of the installed LyX binary and 
+    of the LyX library directory to STRING. This may be used to
+    compile lyx as lyx-1.1 and avoid clashes with earlier/later
+    versions. Default is "lyx". 
 
   o --with-two-colors=[yes|no] that forces LyX to use two colors pixmaps
     (bitmaps) instead of the full-colored standard ones.  Defaults to no.
@@ -145,10 +157,6 @@ Moreover, the following generic configure flags may be useful:
     installation. [defaults to where lyx has already been installed or
     /usr/local]
 
-  o --program-suffix=STRING sets the name of the installed LyX binary and 
-      of the LyX library directory to lyxSTRING. This may be used to
-      compile lyx as lyx-1.0.0 and avoid clashes with earlier/later versions.
-
   o --datadir=DIRECTORY gives the directory where all extra LyX 
     files (lyxrc example, documentation, templates and layouts
     definitions) will be installed. 
@@ -184,7 +192,7 @@ desperate cases:
     this flag is on for development versions only.
 
   o --enable-assertions that make the compilier generater run-time
-    code which checks that some variables have sane values.  Opposite
+    code which checks that some variables have sane values. Opposite
     is --disable-assertions.  By default, this flag is on for
     development versions only. 
 
@@ -211,6 +219,12 @@ Once you've got the Makefile created, you just have to type:
 
 All should be OK ;)
 
+Since the binaries with debug information tend to be huge (although
+this does not affect the run-time memory footprint), you maight want
+to strip the lyx binary. In this case replace "make install" with
+
+  make install-strip
+
 BTW: in the images subdirectory there is also a small icon "lyx.xpm",
 that can be used to display lyx-documents in filemanagers.
 
@@ -237,17 +251,34 @@ the source code directory.  After you have installed LyX for one
 architecture, use `make distclean' before reconfiguring for another
 architecture.
 
-Stripping LyX
--------------
+Preparing a binary distribution for the use of others
+------------------------------------------------------
 
-A LyX binary for linux is about 1M when compiled without debug-information 
-and with dynamic libraries.  If yours is much bigger you probably compiled 
-it with debug-informations (-g).  If you don't want to debug LyX just enter
+  o Compile LyX with the right compiler switches for your
+    architecture. In particular you might want to ensure that
+    libraries like xforms and xpm are statically linked. To this end,
+    you can use a command like
 
-          strip src/lyx
+                make LYX_LIBS='/foo/libforms.a /bar/libXpm.a'
 
-before installing.  Note that this is done automatically for public
-versions.
+    Moreover, 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.lyx.org:/pub/lyx/uploads.
 
 
 Problems
@@ -322,14 +353,6 @@ notify us.
     The option --without-liberty disable the detection of -liberty.  It
     is meant for debugging purpose only.
 
-  o There are several known bugs in gcc 2.7.xx that cause compiler
-    errors.  This is in particular the case in spellchecker.C under
-    HP-UX 9.05 (ask Bernhard Iselborn <biselbor@rhrk.uni-kl.de> for
-    more comments) and in lyxrc.C under Linux/Alpha or DEC OSF/1.  In
-    both cases, the solution is to recompile the offending file
-    without optimization and resume the compilation process with
-    'make'.    
-
   o According to David Sundqvist <David_Sundqvist@vd.volvo.se>, some
     changes are needed to compile with aCC on HP-UX 10.20. These are the
     relevant changes in the makefile (with comments tagged on):