Commit Graph

420 Commits

Author SHA1 Message Date
Scott Kostyshak
ca53991043 This is LyX 2.3.0alpha1 2017-04-24 00:03:20 -04: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
Jean-Marc Lasgouttes
0e50ad8b16 Update bundled mythes to version 1.2.5
Move it to 3rdparty/ directory alongside the other ones.
2017-03-06 17:08:38 +01:00
Jean-Marc Lasgouttes
8cb021b32f Rewrite detection of MyThes library
Now configure searches in this order
1. system-installed library
2. code bundled with LyX

If --with-included-mythes or if no mythes library is installed, then
the script selects the bundled version. There should be no cases
leading to error message.
2017-03-06 16:10:11 +01:00
Jean-Marc Lasgouttes
2f701e6a1c Clarify configure help for 3rd party code
The configure code suggests that the default for
--with-included-(iconv|zlib|hunspell) is "yes", which is wrong: by
default is indeed to use the system libraries.

Change the MyThes detection to use the system version by default.

Also add to the verison information a line which lists the bundled libraries.
2017-03-02 14:35:39 +01:00
Enrico Forestieri
f70dd65bb2 Fix building on cygwin after 23dbcb59 2016-07-07 23:37:14 +02:00
Georg Baum
2047ea5eb4 Replace Boost.Signals with Boost.Signals2
Boost.Signals is deprecated. This fixes bug #9943.
The only thing left to do is to rewrite (or get rid of) the boost -mt test
in config/lyxinclude.m4 not to use signals anymore.
2016-06-09 22:25:34 +02:00
Guillaume Munch
af5f69cea7 unique_ptr and make_unique 2016-06-09 15:21:39 +01:00
Pavel Sanda
3f4901de9c Improve build for FreeBSD.
Patch from Shankar Giri Venkita Giri.
2016-06-08 19:33:08 -07:00
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
Jean-Marc Lasgouttes
6c8a775c73 Use subdir-objects for automake 1.14 or newer
This option is going to be mandatory starting with automake 2.0.
LyX is able to use this since version 2.1, but it turns out that it is
badly implemented in versions of automake older than 1.14.

We rely on some (undocumented) symbol to detect automake 1.14 and
use the subdirs-objects option in this case.

For more details, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181023.html

Making everything work with autotools required making a copy of two
files from support/tests. It seems that we should not point to source files
that are handled by another Makefile.am.
2014-04-21 11:52:00 -04:00
Vincent van Ravesteijn
f0f8157099 Start the 2.2 development cycle 2014-04-18 12:03:13 +02:00
Vincent van Ravesteijn
fde16219ca This is LyX 2.1.0. 2014-04-13 19:26:04 +02:00
Vincent van Ravesteijn
5d66e91de8 configure.ac: back to development version 2014-04-01 21:41:13 +02:00
Vincent van Ravesteijn
fd7c0c2993 This is LyX 2.1.0rc1 2014-03-24 18:54:57 +01:00
Vincent van Ravesteijn
e83606c98a Not yet rc1: Revert "This is LyX 2.1.0rc1"
This reverts commit c571866e7f.
2014-03-20 22:15:33 +01:00
Vincent van Ravesteijn
c571866e7f This is LyX 2.1.0rc1 2014-03-20 22:11:14 +01:00
Kornel Benko
805e51eff8 Implement file locking and apply to configure
Functions for file locking are added. They are used for ensuring that
for specified userdir only one LyX process runs configure.
2013-11-20 19:40:32 +01:00
Vincent van Ravesteijn
86205f4ba2 Back to development version 2013-11-13 21:54:37 +01:00
Vincent van Ravesteijn
86efb5938d This is lyx2.1.0beta2 2013-11-10 21:08:39 +01:00
Raphael Kubo da Costa
ca7214b410 Remove FreeBSD checks when defining USE_WCHAR_T.
The problems the comments in the build systems refer to seem to have been
fixed for years. [1] says the checks in libstdc++ have been improved, and
all supported FreeBSD versions enable wchar_t support unconditionally in
libstdc++. Additionally, this needlessly impacts FreeBSD when libc++ is used
instead of libstdc++.

[1] http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.freebsd_wchar
2013-10-18 03:07:30 +02:00
Vincent van Ravesteijn
e117361638 Revert "This is lyx2.1.0beta2"
This was committed by accident.

This reverts commit c85ff678c3.
2013-10-12 02:41:44 +02:00
Vincent van Ravesteijn
c85ff678c3 This is lyx2.1.0beta2 2013-10-12 02:38:15 +02:00
Vincent van Ravesteijn
26df0977d1 Revert "Enable automake subdir-objects"
The reason for adding this option is to kill a warning with automake 1.14. However, the "make distclean" target does not work with the subdir-objects options for older versions of automake. To still allow older versions of automake, we remove this option and live with the warning when using automake 1.14.

This reverts commit 03343bd4e6.
2013-10-05 16:40:18 +02:00
Vincent van Ravesteijn
03343bd4e6 Enable automake subdir-objects 2013-09-29 15:26:25 +02:00
Jean-Marc Lasgouttes
56e2448546 Fix compilation on Solaris 11.1 (bug #8783)
Make sure that the configure script only checks features using the C++ compiler.

Also get rid of our last C files, since they are not compiled nor distributed anyway.
2013-09-09 11:02:14 +02:00
Juergen Spitzmueller
3698fde0d8 Revert part of 16cdf70d0c
Our source is not yet ready for subdir-objects (causes bad lyx/tex2lyx interferences). See http://marc.info/?l=lyx-devel&m=137673178123427&w=2 for details
2013-08-19 10:47:42 +02:00
Enrico Forestieri
b885b80bc0 Fix compiling on platforms lacking setenv
Using autotools, the availability of putenv is not checked, so
the macro HAVE_PUTENV is not defined and compiling stops with
the error "No environment-setting function has been defined."
Thus, also check for putenv.
2013-07-26 20:48:34 +02:00
Stephan Witt
16cdf70d0c enable automake version 1.14 2013-07-26 13:04:32 +02:00
Vincent van Ravesteijn
6386ed4812 Back to development 2013-07-13 23:54:07 +02:00
Vincent van Ravesteijn
290f3af862 This is LyX 2.1.0beta1 2013-07-13 23:13:12 +02:00
Richard Heck
34e3aa4ca2 Fix comment in configure.ac. This was causing a warning during
configuration.
2013-06-11 11:05:31 -04:00
Jean-Marc Lasgouttes
6b8d47a203 Add some more m4 macro files for gettext 2013-06-03 15:37:13 +02: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
Jean-Marc Lasgouttes
d9cbac2fd3 Small updates to the configure script
Remove some tests that are not needed. Put --enable and --with options together in help output.
2013-03-19 15:38:47 +01:00
Jean-Marc Lasgouttes
04a8db4af8 Get rid of LYX_ERROR in our configure file.
We use the standard AC_MSG_ERROR instead, which just stops the configure process where the problem happens.
2013-03-19 15:15:56 +01:00
Jean-Marc Lasgouttes
1d08d5232d Add a test to configure for minimal Qt version
* use AS_COMPARE_VERSION to check whether the Qt version is correct.
* upgrade minimal requirement for autoconf to version 2.60 (released in 2006!).
2013-03-19 12:59:38 +01:00
Jean-Marc Lasgouttes
81d863fd41 Fix bug #8537: LyX creates the environment variable LC_ALL
The current code is not able to unset an environment variable, only to set it to an empty value. This patch refactors a bit the Message class and uses a new EnvChanger helper class that allows to change temporarily an environment variable and that is able to unset variables if needed.

The patch also adds new functions hasEnv and unsetEnv in environment.cpp.

Open issues:
 * there may be systems where unsetenv is not available and putenv("name=") does not do the right thing;
 * unsetenv may lead to leaks on some platforms.
 * when using unsetenv, we may need to remove strings from the internal map that setEnv uses.
2013-02-12 12:14:06 +01:00
Scott Kostyshak
122d21184f Remove C Compiler information from -version output 2012-10-31 06:07:20 -04:00
Pavel Sanda
b589c86168 Change version identifier from svn to dev (already in branch). 2012-09-24 22:57:02 +02:00
Jean-Marc Lasgouttes
a86de5d3c0 Revert "Read list of translated languages from a file"
This reverts commit ed1515ef69.
2012-09-08 16:59:18 +02:00
Jean-Marc Lasgouttes
ed1515ef69 Read list of translated languages from a file
The previous scheme of loading all possible translations and checking whether the work
is a bit too much "brute force" and causes problems on Mac OS X (documents loaded
with the wrong language).

In the new scheme, autotools install a file lib/installed_translations that contains a list of installed languages (the .gmo files that got installed). This file is read
in Languages::readInstalledTranslations and allows to set the translated() property
of each language.
2012-07-19 00:21:28 +02:00
Georg Baum
26e5f1a8ec Use libmagic for file format detection if available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40789 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:29:44 +00:00
Jean-Marc Lasgouttes
2bf021ee73 Improve support for distributing desktop files and icons
* add proper INSTALL_POSIX conditional for makefiles
* move all the code to Makefile.am
* rename lyx.desktop to lyx.desptop.in and add proper tags to allow handling of program_suffix.
* add code to install desktop entry and icons under the proper name.

I did not touch scons and cmake, I hope it was not necessary.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40531 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-20 13:11:03 +00:00
Enrico Forestieri
6781444835 Warn user that build will fail if bc is not installed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39945 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 15:35:36 +00:00
Julien Rioux
7ddf5f3ba1 We nowadays require python >=2.4
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39889 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-19 20:50:41 +00:00
Pavel Sanda
e265317839 Back to svn.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38565 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-01 23:05:21 +00:00
Pavel Sanda
107e105ecd Final release of LyX 2.0.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38559 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-29 00:31:54 +00:00
Pavel Sanda
4358b490c2 Back to svn
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38331 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-10 22:01:06 +00:00
Pavel Sanda
fa5b453803 Prepare RC3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38329 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-10 21:59:37 +00:00