Commit Graph

168 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
6ba2b5c5b9 Require at least Qt 5.12
Update the #if confitional accordingly everywhere excpt in frontends/qt.

Update INSTALL and README.

Cmake will need to be updated too.
2024-10-23 10:50:23 +02:00
Pavel Sanda
3f6eb9523d Document GCC dependency. 2024-10-22 21:05:39 +02:00
Jean-Marc Lasgouttes
c916bd1502 Require C++17
Add a test that requires <any> header.

Update documentation.

Remove test for C++14.

Typical gcc version we have in mind is gcc 8.
2024-10-22 17:05:56 +02:00
Jean-Marc Lasgouttes
09684899d6 Clean up after removal of strfwd.h
Remove autoconf tests for whether std::string uses COW, since this is
forbidden by C++11 standard.

Forbid the use of gcc 4.9 (which still uses COW).

Remove code in debug.h that added forward declarations for LLVM's
libc++, since we do not do forward declarations anymore.

Remove configure test for libc++.
2024-10-05 15:15:21 +02:00
Pavel Sanda
854b53bff5 Document gcc 5 dependency.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg223072.html
2024-10-04 20:51:51 +02:00
Pavel Sanda
979aabfaed ftp->http 2024-06-24 22:54:21 +02:00
José Matos
ef5f142b9a Update python requirements notice in INSTALL 2024-06-13 10:44:56 +01:00
Jean-Marc Lasgouttes
623cc13b60 Autotools: optimize with -Og when debugging
When debug (-g) is enabled (default when compiling a development
version), the existing -O optimization level is not correct, since
many variables are optimized out when debugging.

Use -Og instead, and condition not on compiling a development version,
but on --enable-debug. This is the same by default, but it more
precise in our case.
2024-04-25 12:30:48 +02:00
Jean-Marc Lasgouttes
1b50e72570 small change 2024-04-19 17:16:00 +02:00
Jean-Marc Lasgouttes
44c0b4e4cc fix documentation of --enable-cxx-mode 2024-03-21 22:51:05 +01:00
Jean-Marc Lasgouttes
b659d7e3bd typo 2024-03-21 22:40:19 +01:00
Jean-Marc Lasgouttes
e658113ea6 Add support for libstdc++ assertions in autoconf builds
This is less powerful than stdlib-debug, but at least it does not
change the ABI. This avoids crashes with Qt6 in particular.

The new defaults are:
- stdlib-assertions is enabled by default in development builds;
- stdlib-debug has to be enabled explicitely.

Fixes bug #12215.
2022-12-04 19:28:09 +01:00
Jean-Marc Lasgouttes
4310430a38 autoconf: remove support for compiling against Qt4
Most of the changes consist in assuming that USE_QT5=yes.

Update INSTALL and README accordingly.
2022-11-19 19:41:49 +01:00
Scott Kostyshak
963fad6929 Update Python requirement in INSTALL
Consistent with 92345167.
2021-02-07 22:13:23 -05:00
Jean-Marc Lasgouttes
3093789e8d remove most traces of boost::regex
1/ remove boost regex code from 3rdparty/boost. Only the cmake stuff remains.

2/ remove traces of BOOST_LIB since there is no need anymore to
   compile boost stuff.

3/ remove traces of boost regexp in config/lyxinclude.m4 and INSTALL

4/ require gcc 4.9 as minimal version in autoconf.

Unfortunately, the net gain is only 10% of included boost size (now 21M).
2020-11-28 19:59:17 +01:00
Yuriy Skalko
9b55d2f71e Bump minimal GCC version to 4.9 2020-11-16 19:37:12 +02:00
Jean-Marc Lasgouttes
ce526607ff Make it possible to select C++ standard with autoconf
Introduce new configure option --enable-cxx-mode=MODE, which allows to
force a C++ version. The default is {14,11}, which means that C++14 is
chosen if it is supported, and C++11 will be selected as a fallback.

Using --enable-cxx-mode=11 ensures that LyX compiles correctly
with an older C++11 compiler.
2020-11-03 15:12:20 +01:00
Jean-Marc Lasgouttes
670d540fa6 Small update to INSTALL 2020-07-11 19:54:06 +02:00
Pavel Sanda
2b7ab02252 This has been asked numerous times on users list. 2020-04-16 18:57:31 +02:00
Pavel Sanda
748bb5a046 Only gcc 4.8 is C++11 feature complete. 2020-02-20 09:25:00 +01:00
Jean-Marc Lasgouttes
3abbc3a277 Cleanup INSTALL
Remove references to Solaris 10 problems.
2019-06-12 15:14:11 +02:00
Jean-Marc Lasgouttes
22f599250e Remove support for gcc 4.6
This was kept so long because of Ubuntu 12.04 LTS, but having a
not-really-c++11 compiler is not nice.
2019-06-12 15:03:18 +02:00
Jean-Marc Lasgouttes
dd8fd3d90a Get rid of monolithic build support for autoconf
It is not useful anymore on modern machines with several cores.
2018-08-30 11:35:37 +02:00
Jean-Marc Lasgouttes
913c190989 Document that building with Qt5 is the default. 2018-08-29 17:53:06 +02:00
Juergen Spitzmueller
1efef5542b Adapt to new hunspell C++ ABI
Fixes: #10547

CMake support still missing.
2018-03-29 18:43:11 +02:00
Joel A. Kulesza
61db4af82d Update to accept automake 1.16 2018-03-19 10:09:28 +01:00
Pavel Sanda
8adba3896c small doc glitches 2018-02-21 14:47:03 +01:00
Jean-Marc Lasgouttes
86ae7dad3f Require automake 1.14 and autoconf 2.65
This allows to fix distclean properly, since we know that
subdir-objects is used. When it is the case, it is not a good idea for
a Makefile to use a source file which is under the control of another
one. This could not be made to work work with old automake versions
(<1.14).

Therefore we refer directly to object files in Makefile.am instead of
source files. The actually leads to less compilation in tex2lyx.

Update the code here and there to remove compatibility hacks. Update
documentation.

Re-enable the layout test and fix the Length test, which was ovewriting
memory in test_inPixels() because lyxrc did not had a correct layout.
2017-04-06 14:56:30 +02:00
Georg Baum
e307944d18 Require gcc 4.6
See also 5de30b1210
2016-06-15 22:04:51 +02:00
Guillaume Munch
36099dce44 rewrite 51a15c45
Poor wording
2016-06-12 19:17:33 +01:00
Guillaume Munch
51a15c4569 Clarify Qt requirements for 2.3
As discussed on the list. If the needs to drop Qt 4.8 arises, then this should
be discussed again.
2016-06-11 05:25:34 +01:00
Jean-Marc Lasgouttes
6f585055d9 Allow to disable std::regex manually with autoconf
Update INSTALL and remove mention of --disable-cxx11.
2016-06-10 12:01:53 +02:00
Georg Baum
8a20f4b394 Mention C++11 requirement in INSTALL
Thanks to Scott and Jean-Marc for pointing that out, I forgot it.
2016-06-07 22:29:38 +02:00
Georg Baum
ad63374e26 Require at least gcc 4.3
This is a prerequisite for mandatory C++11 support.
I could not find a cmake gcc version check btw.
2016-06-05 15:40:00 +02:00
Jean-Marc Lasgouttes
e1938aa240 Fix some compilation problems in C++11 mode
Only enable std::regex when the header <regex> is present (fix Mac OS X issue).

Remove support for concept checks. The page
  https://gcc.gnu.org/onlinedocs/libstdc++/manual/concept_checking.html
says about concept checking:

  Please note that the checks are based on the requirements in the
  original C++ standard, many of which were relaxed in the C++11
  standard and so valid C++11 code may be incorrectly rejected by the
  concept checks. Additionally, some correct C++03 code might be
  rejected by the concept checks, for example template argument types
  may need to be complete when used in a template definition, rather
  than at the point of instantiation. There are no plans to address
  these shortcomings.

Therefore it seems reasonable to remove our support for this.
2015-09-25 14:12:30 +02:00
Jean-Marc Lasgouttes
d95c187b5a Give a warning when system boost and stdlib-debug are used together
In general this would lead to an immediate runtime crash because the
runtime checks of libstdc++ change the layout of some STL objects.
Therefore, this will only work when the boost libraries have been
compiled with this same flag. At this time, it is not known whether
any linux distribution contains such libraries.

Fixes bug #9736.
2015-09-22 14:38:31 +02:00
Jean-Marc Lasgouttes
893ae612e4 Use C++11 by default when possible
Compiler that are known to support C++11 (gcc >= 4.3 and clang) are
now used in this mode by default. It is still possible to override
this choice using --(en|dis)able-cxx11.

Moreover, c++11 mode is detected from the compiler itself, not from
the use of --enable-cxx11. This allows to support compilers other
than gcc or clang.

Update INSTALL file accordingly and clean it a little bit.
2015-09-07 11:42:39 +02:00
José Matos
631bbab889 First step to support python 2(.7) and 3(.3+)
When the work is finished the moniker "work in progress" should be removed.
2015-03-10 13:55:59 +00:00
Jean-Marc Lasgouttes
d33f4c91f2 Allow automake 1.15. 2015-03-03 10:59:11 +01:00
Scott Kostyshak
6773042d0c Typo 2015-01-20 22:08:00 -05:00
Enrico Forestieri
4bdeae2733 Update autotools for building with Qt5.
The option --enable-qt5 allows configuring for Qt5. The default is Qt4.
Nothing special is done with respect to Qt4, apart from pulling in the
correct libraries. Indeed, other than the core and gui libraries, now
also the concurrent and widgets libraries are needed.
2014-07-19 03:34:28 +02:00
Vincent van Ravesteijn
7511bcf39f INSTALL: Update INSTALL
- adjust the supported versions for autotools
- add a note about the adviced Qt version
- remove gettext as a hard requirement and adjust the note
2014-04-13 16:20:55 +02:00
Vincent van Ravesteijn
7ab58d5d9e Revert "Update INSTALL"
This reverts commit 30d1cf47c1.
2014-04-12 14:01:11 +02:00
Vincent van Ravesteijn
30d1cf47c1 Update INSTALL 2014-04-10 22:35:32 +02:00
Pavel Sanda
c51b091e09 * INSTALL - Solaris build should work now. 2013-09-09 02:52:01 -07:00
Pavel Sanda
778cff1cff Comment from bug #8783. 2013-08-25 21:30:04 -07:00
Jean-Marc Lasgouttes
d7e2705228 Get rid of all traces of libintl.
This requires to re-add some tests in configure.ac.

Note that the code to generate a Makefile in po/ has been kept.
2013-05-30 22:10:01 +02:00
Jean-Marc Lasgouttes
3ef4db2ce4 Continue pre-spring cleaning of configure script
* build-type=profiling implies -fno-omit-frame-pointer in gcc. This allows sysprof to yield proper call trees
 * remove --enable-grpof option (the build type is enough)
 * remove --with-frontend option since we have only one frontend. Move stuff around and generally simplify the Qt detection code
 * do not check for bc anymore.
 * Update README.
2013-03-19 16:41:14 +01:00
Scott Kostyshak
66dcc7f62c INSTALL: typos and grammar 2013-01-30 04:54:23 -05:00
Jean-Marc Lasgouttes
d5e0e21ba0 Fix compatibility with automake 1.13
Do not use AM_PROG_MKDIR_P, which is obsolete. We use  the AC_* version
now, which requires autoconf>=2.59d. This also mean that we need to use
the variable MKDIR_P instead of mkdir_p.
2013-01-21 10:15:27 +01:00