Commit Graph

441 Commits

Author SHA1 Message Date
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
Enrico Forestieri
d4428ceb81 Adjust preprocessor guards for Qt5/X11.
This fixes the -geometry command line option and restores the
"Use icons from system's theme" checkbox in the preferences.

There is still code addressing Qt4 and xlib that has to be
audited. This code cannot be compiled with Qt5 because the
default backend is now xcb and not xlib. I have marked such
code with a "FIXME QT5" comment.
2015-01-11 19:44:35 +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
Enrico Forestieri
ab3259885b Fix configuring for Qt5 with autotools on non-Mac platforms. 2015-01-01 18:44:01 +01:00
Stephan Witt
0379bade17 #9323 add check for Qt5MacExtras to use it on Mac with --enable-qt5 2014-12-29 00:18:40 +01:00
Enrico Forestieri
9126a99e97 Fix bug #9217: [Qt5] QWindowsMime class not available
The support for QWindowsMime has been reintroduced in Qt 5.4.0.
The class name has been changed to QWinMime but the interface
is exactly the same.
2014-12-26 16:53:31 +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
Stephan Witt
327da4f275 Add QtMacExtras detection for Qt5 support 2014-08-21 18:22:43 +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
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
3e073ec919 Quick workaround for detection of Qt/Mac using pkg-config 2013-07-19 16:03:54 +02:00
Jean-Marc Lasgouttes
b58b8e7c73 Fix Qt tools search when a Qt directory has been specified
When --with-qt-dir has been specified, programs like "moc" in the Qt
directory are unlikely to have a qualified name like moc-qt4.
Therefore, such qualified names are only considered when the base
version has not been found.
2013-07-13 22:44:28 +02: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
Stephan Witt
141fbb6f8c Prepare LyX code to compile and link with Qt5:
* some functionality is in new modules now
  new header locations and library names: QtConcurrent and QtWidgets
* method setResizeMode is renamed to setSectionResizeMode
* deprecated QAbstractItemModel::reset() is dropped now
* platform specific code like QApplication::syncX() is not common anymore
* QString::fromAscii() is dropped now
* some QDesktopServices methods has been moved to QStandardPaths
2013-02-03 19:26:21 +01:00
Stephan Witt
6fb0d9035c ignore auto maked script test-driver 2013-01-20 12:45:34 +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
Stephan Witt
040374f343 use -F instead of -L to link Qt frameworks 2012-09-23 16:06:55 +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
Lars Gullik Bjønnes
c7bb190fd3 Setup .gitignore for generated files
Setting up .gitignore or .git/info/excludes is something that should
be done. Not doing it makes it a lot harder to see actual new files
that should be added.

Signed-off-by: Lars Gullik Bjønnes <larsbj@gullik.org>
2012-03-22 02:16:12 +01:00
Jean-Marc Lasgouttes
ae872178fb Remove from svn the files that are provided by automake. This ensures that we always use the correct version.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40635 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-20 09:31:06 +00: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
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
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
Stephan Witt
c29d13569e restore old hunspell library detection code as fallback when pkg-config is not available - for Mac OS X
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39484 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-14 07:17:12 +00:00
Pavel Sanda
9359d73dde Using pkgconfig to configure hunspell.
(hunspell 1.3 is not correctly recognized otherwise).

Patch from Rex Dieter, posted by Jose.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39040 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-14 14:32:42 +00:00
Jean-Marc Lasgouttes
6b88f5bcb7 streamline hunspell checking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37988 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-21 22:30:36 +00:00
Stephan Witt
45e4c6b94b do not check for hunspell libraries if header is not present
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37887 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-09 15:40:03 +00:00
José Matox
b8836fcd19 Fix config detection for hunspell-1.2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37850 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-04 20:47:05 +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