]> git.lyx.org Git - lyx.git/blobdiff - INSTALL
Avoid full metrics computation with Update:FitCursor
[lyx.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 2847ad807f80ac6f44c5584e9fa0a1b24351452a..9496fc16c78574805b43e9e88b178838e582ddb6 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -52,18 +52,17 @@ You will also probably need GNU m4 (perhaps installed as gm4).
 Requirements
 ------------
 
-First of all, you will need a C++11 standard conforming compiler, like gcc (at
-least 4.9) or clang.
+First of all, you will need a C++11 standard conforming compiler, like g++ (at
+least 4.9, to have proper srd::regex) or clang++.
 
-LyX makes great use of the 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 of LyX.
+LyX makes great use of the C++ Standard Library. This means that gcc
+users will have to install the relevant libstdc++ library to be able
+to compile this version of LyX.
 
 For full LyX usability we suggest to use Qt 5.6 and higher, or at the
-very least Qt 5.4. For compilation you need to compile against at least
-Qt 4.8 which has been widely tested, and for Windows we advise at least
-Qt 4.8.4. The only special point to make is that you must ensure that
-both LyX and the Qt libraries are compiled with the same C++ compiler.
+very least Qt 5.4. It is also possible to compile against Qt 6. The
+only special point to make is that you must ensure that both LyX and
+the Qt libraries are compiled with the same C++ compiler.
 
 To build LyX with spell checking capabilities included you have to
 install at least one of the development packages of the spell checker
@@ -84,11 +83,10 @@ compile LyX with up-to-date translations (at least gettext version
 
 The two following programs should be available at configuration time:
 
-  o Python 2.7 must be installed. Python is used for many simple tasks
-    that are executed by external scripts, such as the automatic
-    configuration step and the import of older LyX documents with the
-    lyx2lyx script (this script is called automatically when opening a
-    file). Python 3 (3.3 or later) support is work in progress.
+  o Python (2.7 or 3.5 and newer) must be installed. Python is used for many
+    simple tasks that are executed by external scripts, such as the automatic
+    configuration step and the import of older LyX documents with the lyx2lyx
+    script (this script is called automatically when opening a file).
 
 
 Creating the Makefile
@@ -109,14 +107,15 @@ flags:
     the settings in terms of various options that are described later
 
                       release   prerelease  development profiling gprof
-    optimization        -O2         -O2         -O         -O2     -O2
+    optimization        -O2         -O2         -Og        -O2     -O2
     assertions                       X           X
-    stdlib-debug                                 X
+    stdlib-assertions                            X
+    stdlib-debug
     warnings                         X           X
     debug                            X           X           X       X
     maintainer-mode                              X
 
-    The defaults are as follows in terms of version number
+    The defaults are as follows in terms of version number:
     release: stable release (2.x.y)
     prerelease: version number contains `alpha', `beta', `rc' or `pre'.
     development: version number contains `dev'.
@@ -125,8 +124,8 @@ flags:
 
     The `gprof' build type compiles and links with -pg option with gcc.
 
-  o --disable-qt5 that forces configuration with Qt 4.x when Qt 5.x is
-    also available. By default Qt5 is tried first, and then Qt4.
+  o --enable-qt6 that checks configuration with Qt 6.x, and then Qt
+    5.x. By default, only Qt5 is tried.
 
   o --with-extra-lib=DIRECTORY that specifies the path where LyX will
     find extra libraries (like Qt) it needs. Defaults to NONE
@@ -209,15 +208,16 @@ precisely (see the description of --enable-build-type for the default
 values):
 
   o --enable-cxx-mode=VALUE can be used to select a C++ standard, for
-    example --enable-cxx-mode=11. The default is to try C++14, and then
-    C++11.
+    example --enable-cxx-mode=11. The default is to try C++17, C++14, and
+    C++11, in this order.
 
   o --enable-optimization=VALUE enables you to set optimization to a
     higher level than the default, for example --enable-optimization=-O3.
+    Default is -Og when debugging is enabled, -O2 otherwise.
 
   o --disable-optimization - you can use this to disable compiler
     optimization of LyX. The compile may be much quicker with some
-    compilers, but LyX will run more slowly.
+    compilers, but LyX will be slower.
 
   o --enable-debug will add debug information to your binary. This
     requires a lot more disk space, but is a must if you want to try
@@ -230,12 +230,17 @@ values):
     code which checks that some variables have sane values. Opposite
     is --disable-assertions.
 
-  o --enable-stdlib-debug adds some debug code in the standard
-    library; this slows down the code, but has been helpful in the
-    past to find bugs. Note that this is in general incompatible with
-    the system hunspell library (as of version 1.5). You may have to use
-    --disable-stdlib-debug when linking development versions against
-    your system's hunspell library.
+  o --enable-stdlib-assertions adds some bound checking code in the
+    libstdc++ standard library; this slows down the code, but has been
+    helpful in the past to find bugs. This has no effect when using
+    llvm's libc++ library.
+
+  o --enable-stdlib-debug encompasses stdlib-assertions and adds
+    additional checks in libstdc++. Note that this changes the ABI and
+    is in general incompatible with the system hunspell library (as of
+    version 1.5). You may have to use --disable-stdlib-debug when
+    linking development versions against your system's hunspell
+    library. This has no effect when using llvm's libc++ library.