X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=5c9c4d74899a13e6c632f9d5127a7e0536b49146;hb=4c1db7cad866d99af2f2474d8467cc8581eb0eef;hp=6f26ee229c0526b647a28c4406672309d833e213;hpb=9b55d2f71e34e2ea73efb7ceb017a39b9623f543;p=lyx.git diff --git a/INSTALL b/INSTALL index 6f26ee229c..5c9c4d7489 100644 --- 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. 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 @@ -111,12 +109,13 @@ flags: release prerelease development profiling gprof optimization -O2 -O2 -O -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,8 +208,8 @@ 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. @@ -219,11 +218,6 @@ values): optimization of LyX. The compile may be much quicker with some compilers, but LyX will run more slowly. - o --disable-std-regex forces the compiler to use boost::regex. The - default is to use std::regex for known good C++ libraries, but the - test is not robust for clang. --enable-std-regex will force the - use of std::regex. - 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 to debug problems in LyX. There is no run-time penalty. @@ -235,16 +229,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 boost library (which is used when - --without-included-boost is specified). You may have to use - --disable-stdlib-debug when linking development versions against - your system's boost library. - The same problem applies to hunspell (as of hunspell 1.5). So either - compile --with-included-hunspell or --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.