Commit Graph

361 Commits

Author SHA1 Message Date
Georg Baum
273c67d8aa Require a C++11 compiler
As discussed on the list. If no C++11 compiler is found configuration stops
with an error. There are now unneeded parts of boost, the will be removed in
a second commit.
2016-06-07 20:34:52 +02:00
Jean-Marc Lasgouttes
87d4ce0ff7 Remove boost/format support
Only ChkTex.cpp used it, whereas the rest of our code uses the simpler bformat.
2016-05-29 17:55:45 -04:00
Jean-Marc Lasgouttes
5a76e5581f Do not use 'u' flag for ar
The Reproducible Builds effort (https://wiki.debian.org/ReproducibleBuilds) in Debian (at least) means that 'ar' is built in deterministic mode as default: all timestamps are set to 0.

This is not compatible with the use of the 'u' flag, and therefore ARFLAGS has to be changed from 'cru' to 'cr'.

This gets rid of the harmless but annoying warning
  ar: `u' modifier ignored since `D' is the default (see `U')
2016-05-29 17:55:45 -04:00
Georg Baum
26526b13c5 Properly check for windres
Use the standard way to check for the resource compiler, as e.g.
libtool does it: AC_CHECK_TOOL does already provide some cross compiling
magic, and we do also get an error now at configure time if windres is not
found.
2016-05-29 17:55:43 -04:00
Georg Baum
d8831eff15 Show help for WINDRES in configure
This is the official way to declare environment variables
2016-05-29 17:55:43 -04:00
Georg Baum
fddaa6adeb Make windres configurable
The windres program is typically not called windres for cross compilation.
Now you can call configure with the argument
	WINDRES=x86_64-w64-mingw32-windres
in order to use the windres program on a standard debian installation.
2016-05-29 17:55:43 -04:00
Georg Baum
08afc52c4c Configure included iconv with autotools
The included iconv should not be used on Linux or OS X, but (depending on
local configuration) it might be needed for crosscompiling a mingw target
from Linux. Now the user can choose whether to use the included iconv or not.
cmake does already support that.

eilseq.m4 was taken from the original libiconv 1.14 package.
2016-05-29 17:55:43 -04:00
Georg Baum
d5f2bad461 Mingw-w64 build fixes for long long
On mingw-w64, long long (64bit wide) is larger than long (32bit wide).
Therefore we need some more specializations for string, docstring,
otextstream and << overloaded ostream functions. The configuration code
is by me, the source code changes by Shankar Giri Venkita Giri (bug 10053).
2016-05-29 17:55:43 -04:00
Shankar Giri Venkita Giri
e07a01a3c3 Fix linking with autotools and mingw-64
ole32.lib is not linked automatically, but needed for mingw-64.
Patch by Shankar Giri Venkita Giri (bug 10053).
2016-05-29 17:55:43 -04:00
Georg Baum
78e17b1579 Configure included zlib with autotools
The included zlib should not be used on Linux or OS X, but (depending on
local configuration) it might be needed for crosscompiling a mingw target
from Linux. Now the user can choose whether to use the included zlib or not.
cmake does already support that.

zconf.h.in was taken from the original zlib 1.2.8 package. The generation of
zconf.h was made equivalent to the one generated by cmake.
2016-05-29 17:55:43 -04:00
Richard Heck
7ca8ffb7ef Update version in configure.ac. 2016-05-28 17:43:01 -04:00
Scott Kostyshak
97a3a64290 This is LyX 2.2.0 2016-05-23 19:49:15 -04:00
Scott Kostyshak
d1b3d20c43 Back to development 2016-04-11 21:33:21 -04:00
Scott Kostyshak
2ed943195f This is LyX 2.2.0rc1 2016-04-11 21:31:28 -04:00
Peter Kümmel
1660e096c6 use more portable ustar tar format 2016-02-14 22:35:46 +01:00
Scott Kostyshak
2393d2545a Back to development 2016-02-12 22:25:04 -05:00
Scott Kostyshak
ce1814c608 This is LyX 2.2.0beta2 2016-02-12 22:23:19 -05:00
Scott Kostyshak
74abe54e3c Back to development 2016-02-09 21:41:02 -05:00
Scott Kostyshak
3bc884c399 This is LyX 2.2.0beta1 2016-02-09 21:38:47 -05:00
Peter Kümmel
5287f1c8b6 default tar-v7 format supports only 99 character pathes 2015-12-20 13:32:33 +01:00
Peter Kümmel
a8d78905b6 3rdparty/boost: build with autotools 2015-12-20 13:06:59 +01:00
Georg Baum
c829eeebb7 Add 3rdparty to source package
The new 3rdparty libraries are not added to the autotools build system, so
that they appear in the source package. They cannot be compiled yet with
autotools (although this would make sense for cross compilation with mingw),
but adding configure support for enabling/disabling these like we do for
boost is a bit more work, so I did not do it for now. Nevertheless, the
three new Makefile.am are already prepared for compilation.
2015-12-19 16:49:52 +01:00
Georg Baum
fe5f88ddf9 Add the first dedicated export test
Thanks to Kornel we do now have the infrastructure for running dedicated
export tests. This is the first one, showing a language nesting bug which is
already in 2.1. It is inverted for now, but this will hopefully change soon.
2015-11-28 17:00:59 +01:00
Scott Kostyshak
7657562265 Back to development 2015-11-27 03:25:49 -05:00
Scott Kostyshak
5c717f46c4 This is LyX 2.2.0alpha2 2015-11-27 03:23:23 -05:00
Jean-Marc Lasgouttes
d1b866c99b Do not invoke AM_NLS twice. 2015-11-23 18:24:01 +01:00
Scott Kostyshak
bcf4c78845 Back to development 2015-11-13 23:05:13 -05:00
Scott Kostyshak
41cf01e9b6 This is LyX 2.2.0alpha1 2015-11-13 23:02:34 -05:00
Jean-Marc Lasgouttes
67385e69fc Improve detection of C++11 mode
This replaces commit 329eae56 with a better solution. Indeed, while
__cpluplus is useless with g++ 4.[3-6] because its value is always 1,
these compilers define __GXX_EXPERIMENTAL_CXX0X__ when "-std c++0x" is used.

Therefore the code now relies on both macros to detect C++11 mode
instead of setting it when --enable-cxx11 is used.

Also, use pure c++ mode instead of gnu++ extensions on gcc
2015-09-03 10:22:56 +02:00
Jessica Hamilton
e02f0a0bab configure: also search for sockets in libnetwork
This is required for Haiku support.

See bug #7568 for details.
2015-06-08 17:00:38 +02:00
Jean-Marc Lasgouttes
4f3d9d0092 Autotools: configure AR program
Some distros may use target-specific prefix for ar program (like
x86_64-pc-linux-gnu-ar). Automake can handle that since version 1.12.

Since we still support automake 1.8 (not that it is really crucial,
but ubuntu 12.04 ships with automake 1.11.3), make the code
conditional.

Update a bit the gitignore files (automake creates some files in config/).

Based on a patch from Nikolay Orlyuk <virkony@gmail.com>.
2015-05-06 17:08:56 +02:00
Jean-Marc Lasgouttes
3d7ec5e25f Autotool python support: allow to set version in configure.ac. 2015-03-24 12:09:21 +01:00
Jean-Marc Lasgouttes
babe5e05f8 Autotools: check for python >= 2.7.0 or >= 3.3.0
A new macro adapted from AM_PROG_PYTHON is defined. It does the dual version testing for python 2 and python 3. The rest of the functionnality of AM_PROG_PYTHON has been stripped off.

Once our special macro has been invoked, we use the usual AM_PROG_PYTHON.
2015-03-24 10:34:08 +01: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
8fcbba8596 Fix --with-extra-inc and --with-extra-prefix.
From Enrico.
2015-01-27 23:09:56 +01:00
Enrico Forestieri
10be0c43f2 Adjust indentation after ff42fea8. 2015-01-13 18:05:31 +01:00
Jean-Marc Lasgouttes
33ff0f276a More tweaks to C++ compiler detection
Now CXXFLAGS is left alone by autoconf: only the user can override it.

Properly set -g and -O options, which were overriden.

Try to put the arguments in a more reasonable ordering.
2015-01-13 15:59:30 +01:00
Jean-Marc Lasgouttes
ff42fea8ab Cleanup autoconf compiler support
Get rid of some old useless compiler checking code

Do not touch CXXFLAGS and friends, only the AM_* version

Let the gcc-related options for latest known version be the default (assume they will still be fine in future versions)

Try to take clang in account in a better way (to be continued):
 * use proper option for C++11,
 * use -Wno-deprecated-register in this case because Qt has a lot of these
 * define version as being clang for internal testing (there is no real way to get the clang version)
2015-01-13 12:06:55 +01:00
Jean-Marc Lasgouttes
41405babc5 Cleanup support for std::regex with autotools
Do not link against system boost regex lib or build included boost regex when not needed.
2015-01-06 18:47:00 +01:00
Enrico Forestieri
dd2a8b616e Adjust autotools default configure options for Qt5.
* Disable concept-checks unless explicitly required (errors out with Qt5).
* Add -fPIC to CPPFLAGS for elf targets (required with Qt5).
2015-01-04 18:07:11 +01:00
Georg Baum
394e1bf99c Use std::regex if possible
It works with gcc >= 4.9.0 and clang (with libc++ or gcc libstdc++ from gcc
>= 4.9.0). The MSVC parg is missing, because I cannot test it, and the
autotools build still link against boost::regex even if it is not needed, but
I don't know how to fix that.
2014-12-28 18:08:18 +01:00
Georg Baum
6f34a8a640 Get rid of tr1 support
As discussed on the list. We don't need it anymore, either we have a modern
compiler that supports C++11, or we fall back to boost. I kept and adjusted
the regex #define, since we cannot use std regex completely yet.
2014-12-23 22:18:08 +01:00
Georg Baum
90b1f084bf Improve C++11 support
If we compile in C++11 mode, do not use the boost replacements for bind,
functional and shared_ptr. regex is excluded, since it misses match_partial, and
gcc does not provide a usable one in versions less than 4.9.0.
I also removed the #define for match_partial, since this is dangerous. Now you
get a compile error instead of subtle runtime differences.
2014-12-21 20:22:16 +01:00
Georg Baum
0842aa06e4 Do not use tr1 with libc++
clang defines __GNUC__ but libc++ does not have tr1, so we either need to use
boost, or std and compile in c++11 mode.
2014-12-21 18:22:33 +01:00
Jean-Marc Lasgouttes
0b09424017 Autotools: read git commit hash at compile time
Also do as cmake to avoid full recompilation when the hash changes.
2014-11-24 22:00:21 +01:00
Jean-Marc Lasgouttes
dc7ef3c81f Implement "callstack printing" checking for autotools
Contrary to cmake, we do not rely on platform/compiler check, but on the
availability of the reauired API.
2014-11-04 23:48:03 +01:00
Jean-Marc Lasgouttes
8ecb96c09a Add the git commit (if applicable) to LyX version
This only works for autotools right now, but adding that to cmake is trivial
2014-10-10 12:12:17 +02: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
Enrico Forestieri
bc00159530 Fix compilation on Solaris after last boost upgrade. 2014-05-29 22:31:56 +02:00
Vincent van Ravesteijn
a25c946b31 boost: Turn off warning that signals are deprecated 2014-04-29 17:25:38 +02:00