Commit Graph

200 Commits

Author SHA1 Message Date
Georg Baum
7b0485dbb2 Remove gcc 3 traces
We claim that gcc 4.x is needed in INSTALL, so it does not make sense to keep
this old stuff. Instead, I made configure output an error if gcc is too old.
2015-05-10 10:01:33 +02:00
Georg Baum
51cc8aa9f6 Fix build with GNU libstdc++ C++11 ABI
The GNU libstdc++ that ships witch gcc 5 can be used with the same ABI as
older versions, or with a new ABI which is conformant to the C++11 standard.
LyX did not build if the latter was used:
https://kojipkgs.fedoraproject.org//work/tasks/1267/9651267/build.log

This is now fixed by detecting the ABI version and disabling the wrong forward
declarations. At the same time, STD_STRING_USES_COW is switched off for the
C++11 ABI version, because the std::basic_string implementation is now C++11
conformant. Since the GNU libstdc++ can also used by other compilers such as
clang, we must not test for the compiler version.
2015-05-08 21:12:42 +02:00
Scott Kostyshak
36c3495a3a Correct the spelling of "occured" to "occurred" 2015-02-09 18:44:02 -05: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
3fca2b557b Fixup commit ff42fe
It looks like bash pattern matching does not work as I think it does. Play safe for now.
2015-01-13 12:38:55 +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
Georg Baum
be22665ceb Fix autotools config for gcc < 4.9
Since LYX_USE_STD_REGEX is used in Makefile.am, it must always be defined, not
only if C++11 support is enabled.
2015-01-06 19:48:27 +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
7796ad3a36 Improve llvm libc++ detection
The old detection did only work if CFLAGS contained -std=c++11, since ciso646
was only included for __cplusplus > 199711.
Thanks to Koernel for the cmake part.
2014-12-21 17:26:21 +01:00
Jean-Marc Lasgouttes
385f3e8abd Check for string COW by checking for library, not compiler
Note in particular that clang++ uses libstdc++ (GNU) by default, and not libc++.
Therefore, it suffers from the string COW bug too.
2014-12-19 08:54:07 +01:00
Jean-Marc Lasgouttes
dd2be1777f Detect whether the C++ compiler is clang
This does not have a real effect for now.
2014-12-17 12:11:10 +01:00
Georg Baum
83bee109db Make trivstring class ready for use
The interface is now 100% unit tested, and the typedefs depend on the new
STD_STRING_USES_COW configuration variable. The only missing bit is to detect
clang and disable STD_STRING_USES_COW for clang.
2014-12-07 13:14:17 +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
Jean-Marc Lasgouttes
3cbd343a55 Cleanup the code for boost configuration 2014-05-05 10:11:18 +02:00
Jean-Marc Lasgouttes
5ff8a01cb6 Fix oversight in autotools packaging selection
The only consequence of this thinko is that the lyx.desktop and the svg icons were installed on Mac OS and Windows platform, whereas they are useless.
2014-04-21 11:51:59 -04:00
Jean-Marc Lasgouttes
aaacbe579b Update our documentation to mention git instead of svn.
Note that some mentions of svn remain in
* development/cmake/LyxPackaging.cmake
* development/LyX-Mac-binary-release.sh
* development/Win32/packaging/installer/settings.nsh
2013-05-27 18:19:59 +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
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
Lars Gullik Bjønnes
393ade85ec config/lyxinclude.m4: add support for --enable-cxx11
Using --enable-cxx11 turns on C++11 mode in gcc.
2012-10-24 23:46:48 +02:00
Kornel Benko
20359572ed Patch from Benjamin Piwowarski
Just some comments on the patch:

- The executable name has to match the information in Info.plist (development/MacOSX/Info.plist.in and CMakeLists.txt).  The autoconf config/lyxinclude.m4 file has been modified to make it work with autotools.

- The process to build OS X bundle is to first add all the files to be included to the bundle when calling add_executable (src/CMakeLists.txt) and then by calling setting the source file property of each of these files (development/cmake/Install.cmake, l.14) so that the files are properly located into the bundle. This is also why Install.cmake has to be included two times in src/CMakeLists.txt (once to build the list of files, once to set the location of the list of files).

- in CMakeLists.txt there is a line
install(CODE "set(BU_CHMOD_BUNDLE_ITEMS 1)")
What it does is to fix the owner permissions within the bundle - this is necessary because some libraries are copied within the bundle and might be owned by root

- An empty qt.conf is included in the bundle so that QT does not try to link to other QT libraries (which will not be included in the bundle)

- In development/cmake/Install.cmake, some OS X specific files (*.sdef, qt.conf, *.icns) have to be included in the bundle

Benjamin
2012-10-13 09:53:20 +02:00
Jean-Marc Lasgouttes
51cc826961 Fix detection of system boost
Using LDFLAGS is not a good idea since it is not at the end of the link command. LIBS is better.

Some additional cleanup.
2012-10-08 10:58:45 +02:00
Jean-Marc Lasgouttes
4471e65fa1 Handle version numbers like 2.0.5dev in LYX_CHECK_VERSION 2012-07-04 12:18:15 +02:00
Stephan Witt
a86893a84c #7927 apply patch from mft to support posix packageing on Mac for the Gentoo prefix project
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40573 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-05 19:50:18 +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
Julien Rioux
e8daa48bc1 Provide our own patched AM_PYTHON_CHECK_VERSION that requires python <3.0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39890 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-19 20:50:58 +00:00
Richard Heck
cf4ddb2ed5 Patch from Raphael Kubo de Costa to fix build on FreeBSD.
http://marc.info/?l=lyx-devel&m=131586604331711&w=2

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39768 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-26 15:51:28 +00:00
Georg Baum
f792fe8037 fix bug #7288: add configure option for external mythes library
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37585 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:31:07 +00:00
Jean-Marc Lasgouttes
0299c0be49 fix --disable-debug in configure; more cleanups to build_type handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37386 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-31 10:19:03 +00:00
Jean-Marc Lasgouttes
98b48a4969 Add and document build types profinling and gprof. Some clean up of build_type code in configure
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37323 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-25 13:49:49 +00:00
Jean-Marc Lasgouttes
3b316bc83f better fix to #7239. Actually the whole switch and kaboodle (see r37229) is needed (otherwise sweave is broken)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37322 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-25 11:22:47 +00:00
Jean-Marc Lasgouttes
eb18b4e835 Rename --enable-profiling to --enable-gprof to pave the way for a configure option for normal profiling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37245 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-18 09:57:03 +00:00
Enrico Forestieri
6d9763d413 Fix typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35467 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-20 22:52:13 +00:00
Enrico Forestieri
4a2243135c Instead of specifically addressing glibc, use NULL as second argument
of realpath() when PATH_MAX is not defined in limits.h.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35466 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-20 17:53:40 +00:00
Jean-Marc Lasgouttes
8acb4ba22d wrong syntax for command "test"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32218 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-27 09:59:50 +00:00
Jean-Marc Lasgouttes
06a229faf8 remove traces of libtool and of obsolete autoconf macros
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31544 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 15:13:20 +00:00
Jean-Marc Lasgouttes
84880b5842 cleanup the help messages of the configure script; now --with-version-suffix shows what the default suffix is
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31542 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 14:05:57 +00:00
Enrico Forestieri
fc97861803 Implement the LyXServer on Windows.
Only for autotools, I don't know how to update cmake and scons, sorry.
For cmake and scons, you should make sure that moc is called on Server.h
using the -D_WIN32 option.

In order to enable the server, specify the LyXServer pipe in
Tools->Preferences->Paths. The path to be entered there must have the
form "\\.\pipe\nameofyourchoice" (without quotes). After that, you can
send commands to LyX. For example, if the pipe path is \\.\pipe\lyxpipe,
typing the following in a terminal:

echo LYXCMD:test:file-open > \\.\pipe\lyxpipe.in
type \\.\pipe\lyxpipe.out

brings up the file dialog and returns the acknowledgment from LyX.
Beware of spaces when using cmd.exe. For example, the following:
echo LYXCMD:test:file-open:foo.lyx> \\.\pipe\lyxpipe.in
will correctly load the document named foo.lyx, but
echo LYXCMD:test:file-open:foo.lyx > \\.\pipe\lyxpipe.in
(notice the space before the redirection) will try to load a
document whose name is "foo.lyx .lyx" because cmd.exe will also
pass the space (sigh).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31189 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-21 22:58:38 +00:00
Enrico Forestieri
68d936250e Add some cygwin stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30327 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-30 23:28:48 +00:00
Georg Baum
65ef3251a8 partial fix for external boost detection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29856 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-26 19:50:37 +00:00
Jean-Marc Lasgouttes
68b291c62f Fix the following annoying problem: when
using --with-version-suffix (without value), config.status will be
written wrongly and try to run
  ./configure--with-qt4-lib= [...]

This is because the code that adds automatically the version number eats
the leading space.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27151 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-27 14:32:18 +00:00
Enrico Forestieri
9e5b5746e4 Spare a few cpu cycles
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26118 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-12 09:02:46 +00:00
Enrico Forestieri
bc72d3fc58 Automate setting of LYX_DIR_XXx and LYX_USERDIR_XXx environment variable names.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25898 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-26 10:45:38 +00:00
Jean-Marc Lasgouttes
86e6c73946 fix translation of manus on the mac
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25585 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-13 20:44:10 +00:00
José Matox
6998b9a47c Fix the usage report of included boost library
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23833 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-19 18:00:25 +00:00
Jean-Marc Lasgouttes
b6f210f4fa * config/lyxinclude.m4 (LYX_CHECK_VERSION): add new configure option
--enable-build-type=(rel*,pre*,dev*) that allows to override the 
	automatic setting of optimization, debugging and others.

	* INSTALL: document new option and remove a lot of cruft.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22945 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-11 15:11:15 +00:00
André Pönitz
95fed8bed6 disable pre-compiled headers for autotools. they slow down things rather
then speeding up. maybe our usage is wrong, though.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20586 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 14:01:44 +00:00