X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=INSTALL;h=63c79198b90c6c0bf18d4495d06a57e27be2ff46;hb=e653907b84298d09d18dab330758a0808b148654;hp=2847ad807f80ac6f44c5584e9fa0a1b24351452a;hpb=3093789e8d285db909a98d733e19a28f48caa7b8;p=lyx.git diff --git a/INSTALL b/INSTALL index 2847ad807f..63c79198b9 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. +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 @@ -72,6 +71,10 @@ libraries. See the RELEASE-NOTES for details. Users of debian-based distributions are well advised to run 'apt-get build-dep lyx' before compiling to install proper dependencies. +Python 3.8 (or 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). * Other things to note @@ -80,15 +83,7 @@ translations or you change the translation files themselves (po/*.po) files, you will need to have the GNU gettext package installed to compile LyX with up-to-date translations (at least gettext version 0.16.1 is needed). You can get the latest version from: - ftp://ftp.gnu.org/gnu/gettext/ - -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. + https://ftp.gnu.org/gnu/gettext/ Creating the Makefile @@ -109,14 +104,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 +121,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 +205,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 +227,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. @@ -281,4 +283,3 @@ variable, you have to compile LyX for one architecture at a time in the source code directory. After you have installed LyX for one architecture, use `make distclean' before reconfiguring for another architecture. -