Commit Graph

594 Commits

Author SHA1 Message Date
Enrico Forestieri
5adc2c5ff2 Use a more portable construct
Some shells do not understand the $() notation for command substitution.
2016-07-17 23:50:34 +02:00
Enrico Forestieri
0c7bd9a57f Check path of Qt tools if qtchooser is detected
The full path of the tools is retained only if the Qt directory is
specified using --with-qt-dir. Now, when qtchooser was detected it
was blindly assumed that the corresponding system tools were being
used. These tools discriminate between Qt4 and Qt5 through the
option -qt=qt4 or -qt=qt5. However, the original Qt tools don't
understand these options, so that if they come first in the PATH,
configuration fails. So, only use those options if we are reasonably
sure that the system Qt is wanted. This is achieved by comparing the
paths of qtchooser and tools as, typically, they are located in the
same directory. In this way, if one prepends the bin directory of a
custom Qt build to PATH (and accordingly adjusts PKG_CONFIG_PATH),
configuration succeeds even if --with-qt-dir is not specified.
2016-07-17 12:31:24 +02:00
Enrico Forestieri
cb0c881b02 Fix paste of selection to (unfocused) external applications
With both Qt4 and Qt5, when using a click-to-focus policy, the first
attempt to paste a selection by middle mouse in an external application
which has no focus may fail. It is not clear why this succeeds for some
applications and fails for others, but refreshing the timestamp of the
selection request cures the issue. The cmake part is by Kornel.

See also this thread:
http://thread.gmane.org/gmane.editors.lyx.devel/162491
2016-07-10 19:31:32 +02:00
Enrico Forestieri
f0aa129938 Account for the case in which Qt tools are not in PATH
If the Qt directory is specified by --with-qt-dir, the full path
of the tools is retained. Otherwise, if qtchooser is detected,
the generic names are attempted with proper arguments to select
the desired Qt version. Otherwise, the generic names with and without
proper suffixes (either -qt5 or -qt4) are checked in the PATH.

This means that --with-qt-dir=qtdir should be used only if the tools
are not in the PATH, or qtdir/bin/{moc,rcc,uic} are the right versions
for the desired Qt. In any case, it is later checked that the selected
tools are the right ones and a warning is issued if there is a mismatch.
2016-07-07 23:12:07 +02:00
Jean-Marc Lasgouttes
14a6a4723f Use a proper test for detecting usable std::regex
The test is stolen from cmake code.

Tested on:

* ubuntu 12.04 with g++ 4.6, clang 3.3 (with libstdc++)

* ubuntu 16.04 with g++ 5.3, clang 3.7 (with libstdc++) and clang 3.7
  (with libc++)

The last combination fails, but it seems to be related to real bugs
(reported for debian), so this is OK.
2016-07-06 15:12:53 +02:00
Jean-Marc Lasgouttes
23dbcb59d2 New test to determine correct -std option for CXX compiler
The test file is stolen from cmake. The options tested are, from the
most desirable to the least desirable:
  -std=c++14 -std=c++11 "" -std=c++0x -std=gnu++14 -std=gnu++11 -std=gnu++0x

It is expected that the result will not be correct for cygwin, but
this is fixable.
2016-07-06 14:21:49 +02:00
Jean-Marc Lasgouttes
d044986724 Autoconf : Try to select the correct Qt tools by using the -qt option
With this change, it is now possible to configure with --enable-qt5
and have make use "moc -qt=qt5" automatically.

This is done when the command qtchooser is available nd the desired Qt
version (qt4/qt5) is available.

This means that it is now possible to have qt4 and qt5 builds easily
on a same linux system.
2016-07-05 12:01:13 +02:00
Jean-Marc Lasgouttes
67ac031a33 Gcc 6+ use C++14 as default, so there is no need to enforce C++11
Also, use gnu++11 unconditionnally with gcc as we used to do before 67385e69.
2016-07-04 12:15:01 +02:00
Enrico Forestieri
6863fe9606 Fix build with autotools and gcc 6 2016-06-26 19:45:50 +02:00
Georg Baum
e307944d18 Require gcc 4.6
See also 5de30b1210
2016-06-15 22:04:51 +02:00
Jean-Marc Lasgouttes
e8655e9a70 Detect clang version in autoconf (and use it a bit)
The version is read by checking the macros __clang_major__,
__clang_minor__ and __clang_patchlevel__. Hopefully they will have
coherent values everywhere.

For now, the version is used to set warnings a bit more reasonably for
older clang versions, which do not support -Wdeprecated-register and
some others that are used in pragmas in boost.

This removes many warnings when compiling with clang 3.3.
2016-06-13 11:25:23 +02:00
Georg Baum
20a00903b1 Fix linking with std::regex and included boost 2016-06-11 10:10:20 +02:00
Georg Baum
cf1e08f7f7 Skip boost linking test if not needed
We only link against boost libraries if we do not use std::regex.
Therefore, we do not need to test how to link against boost libs unconditionally.
Also, the warning regarding stdlib-debug is only needed if we link against boost.
2016-06-11 09:20:16 +02:00
Georg Baum
7293fc7b66 Get rid of boost signals in multithreading test
Test for regex instead since this is the only boost library we are linking against.
2016-06-11 09:04:50 +02: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
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
a73f2e6eb6 Autotools: restore deprecation warning
-Wno-deprecated-declarations was added at 314a121c.
2016-06-09 15:21:39 +01: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
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
Georg Baum
c8619110ff Fix packaging for mingw crosscompilation
The standard host triplet for mingw tools is is something like
x86_64-w64-mingw32 on debian and something like x86-64-w64-mingw32.shared for
mxe (http://mxe.cc). Detect windows packaging correctly for these build types.
2016-05-29 17:55:44 -04:00
Georg Baum
f434fd22b1 Configure included hunspell with autotools
The included hunspell 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 hunspell or not.
cmake does already support that.

Now the only other dependency you need to cross-compile for mingw on debian
or ubuntu is qt.
2016-05-29 17:55:44 -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
041bcbed74 Fix include path for zconf.h
I forgot that in the previous commit, and compilation seemed to work because
I had another zconf.h lying around.
2016-05-29 17:55:43 -04:00
Georg Baum
ee13c5b7e2 Fix packaging for mingw-64
See bug 10053 for details. Without this, the package is only set correctly
for 32bit mingw.
Thanks Enrico for suggesting this fix and Shankar Giri Venkita Giri for
testing it.
2016-05-29 17:55:43 -04:00
Georg Baum
6343a017f7 Do not search for X in mingw builds
The manual qt configuration did not work previously for mingw builds, since it
serached for X libraries, which are not used by LyX on mingw.
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
Jean-Marc Lasgouttes
3c2d3caf27 Do not add -std=c++11 to CPPFLAGS (because objc does not like it)
Since at least gcc 4.6 requires it, -std=c++11 has been passed to CPPFLAGS at 39717adfd. This was deemed necessary so that tests that use the preprocessor directly (AC_CHECK_HEADER) can have the right information.

It turns out that CPPFLAGS gets passed to objc compilation too (on Mac OS X) and this create compile-time errors.

Therefore we remove the -std flag from CPPFLAGS and re-add it to a separate variable cxx11_flags that is passed to LYX_CXX_USE_REGEX.
2016-02-23 15:01:16 +01:00
Jean-Marc Lasgouttes
39717adfda Fix the logic of selection of std::regex
This amends commit e1938aa2, which introduced some logic
errors: regex would be enabled for gcc versions which have unusable
<regex> header.

The new code separates better special gcc handling from special C++11
handling and should be more readable.

* set -std=c++11 in AM_CPPFLAGS instead of AM_CXXFLAGS, since the
  preprocessor uses this setting too.

* Before checking for header <regex>, set language to C++ and update
  value of AM_CPPFLAGS too.

* Separate code that checks for regex in its own macro.

* now unknown compiler which have the <regex> header, will use std::regex in C++11 mode.
2016-01-11 10:40:12 +01:00
Peter Kümmel
a8d78905b6 3rdparty/boost: build with autotools 2015-12-20 13:06:59 +01:00
Jean-Marc Lasgouttes
314a121c9e Autotools: use -Wno-deprecated-declarations also with --disable-warnings
-Wno-deprecated-declarations is needed to avoid warnings about auto_ptr being obsolete.

The old code meant that the warnings would be suppressed for development builds, but active for release builds. The new code avoids that.
2015-12-11 10:31:46 +01:00
Jean-Marc Lasgouttes
26b3674240 Fix syntax error whe testing old compilers 2015-12-07 22:51:36 +01:00
Jean-Marc Lasgouttes
a0b9b9b678 Disable warning for deprecated functions in autoconf builds
This gets rid in particular of warnings on auto_ptr. This flag should be removed when 2.3 development start and we switch to unique_ptr.
2015-11-02 16:14:43 +01: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
b7909e7e6c Remove support for precompiled headers for autotools
This was turned off by default for a long time, and it does not seem
to have any use these days.
2015-09-25 12:05:40 +02:00
Jean-Marc Lasgouttes
7f4101a556 Change --enable-cxx11 configure option to --disable-cxx11 2015-09-25 10:47:42 +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
a22f7b7001 Do not use -Wfloat-conversion with recent gcc versions 2015-09-10 18:12:35 +02:00
Enrico Forestieri
864a4db26b On cygwin, use -std=gnu++11 instead of -std=c++11
This allows compiling without monkeying with compiler guards.
2015-09-09 02:34:18 +02:00
Enrico Forestieri
bde1bee24e Make it compile on cygwin in c++11 mode
When using -std=c++11, the cygwin compiler automatically defines
__STRICT_ANSI__ which is used as a guard for not declaring essential
unix standard calls such as setenv, popen, etc. As a result,
compilation stops with errors such as "xxxx has not been declared".
By undefining the guard, compilation succeeds and lyx works Ok.
2015-09-09 01:54:49 +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
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
Jean-Marc
e471e6cd49 Do not forget QtSvg when using pkgconfig in autoconf 2015-07-12 19:12:51 +02:00
Jean-Marc Lasgouttes
ba13a832d6 Do not require libm when searching for system boost
Doing so breaks building under Haiku, which does not have libm.

See ticket #7568 for details.
2015-06-11 18:08:19 +02:00
Jessica Hamilton
dcfb918f15 Add packaging support for Haiku
See bug #7568 for details.
2015-06-08 17:18:14 +02:00
Stephan Witt
cadc406363 #9130 Text in main work area isn't rendered with high resolution
Add Qt5Svg for pkgconfig based compile and linker flags setup.
2015-05-20 11:04:26 +02:00
Jean-Marc Lasgouttes
329eae5605 Use explicit macro to declare that we want to use C++11
This replaces tests for __cplusplus >= 201103L, which are wrong with gcc 4.6 and earlier. Indeed these versions of gcc define __cplusplus = 1.

Reference:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773
2015-05-20 10:19:19 +02:00
Stephan Witt
0933df0011 Add Qt's Svg module to the list of used modules. This is required to allow the use of e.g. the QSvgRenderer class. 2015-05-19 22:46:26 +02:00
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
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
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
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
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
Stephan Witt
1812984b42 finally ASPELL_FRAMEWORK is not used anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36844 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-12 18:43:02 +00:00
Stephan Witt
39645b33b4 correct the Qt framework names
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35527 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-28 19:27:10 +00:00
Stephan Witt
d18995cd79 #6874 prepare configure based build with Qt4 frameworks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35524 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-28 15:07:07 +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
Stephan Witt
042e8bb4d0 consolidate dictionary lookup of spellchecker and thesaurus, prepare builtin distribution of dictionaries
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34540 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-29 14:36:51 +00:00
Stephan Witt
fb43bbbf6c tiger support on mac snow leopard, include Qt4 frameworks, smart build script with parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34132 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-14 13:22:00 +00:00
Jean-Marc Lasgouttes
2425391657 remove variables initializations that are immediately overridden
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33317 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-02 19:26:04 +00:00
Jürgen Spitzmüller
7746747506 * add support for the enchant spell checker (bug 6226).
SCons might be broken.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33157 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-22 15:26:38 +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
89dde39404 clarify message for spelling libs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31545 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 15:21:24 +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
Jean-Marc Lasgouttes
c9f1c6cf5f small cleanup, now that we require automake 1.8
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31431 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-21 12:16:42 +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
Abdelrazak Younes
97a33c4f51 New support files for Hunspell support. Only autotools for now.
Hunspell is not used yet, don't try it.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30527 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 22:46:01 +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
Abdelrazak Younes
863b102f87 boost filesystem and iostream are no longer used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29873 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-28 08:57:49 +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
209f2167f0 fix compilation with external boost
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28444 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-11 14:27:42 +00:00
Pavel Sanda
1457b2c107 ispell leftover.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg146777.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27892 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-16 11:43:08 +00:00
André Pönitz
8e2f971ada remove ispell and pspell
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27472 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 18:47:25 +00:00
André Pönitz
bb12808b20 remove libtool
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 17:45:55 +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
1ad4fd55ea Remove traces of Q_CYGWIN_WIN
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26916 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-15 23:00:42 +00:00
Jean-Marc Lasgouttes
ca67cfffe0 do not check for X libraries if pkg-config succeeded
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26829 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-09 14:10:09 +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
Jean-Marc Lasgouttes
5a5ec02829 Better compatibility with autoconf 2.62.
* config/*: update files to libtool 1.5.26 (latest 1.x version)
	* configure.ac: use AC_USE_SYSTEM_EXTENSIONS instead of AC_AIX and
	friends (available since 2.59c, which is now required); work around
	a bug with gettext.m4 and autoconf 2.62.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26117 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-11 23:27:08 +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
Jean-Marc Lasgouttes
33258e1197 put the 0.16.1 code from gettext back
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25208 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-09 13:50:05 +00:00
Jean-Marc Lasgouttes
3b99db73e4 Remove our in tree gettext version and replace with a mechanism to import it.
* autogen.sh: use autopoint to poulate the gettext code; simplify.

	* po/Rules-lyx: move the LyX-specific code of the Makefile here.

	* configure.ac: add magic incantation telling autopoint to import 
	gettext 0.16.1. Generate config.h in toplevel directory to please 
	gettext.

	* src/tex2lyx/Makefile.am:
	* src/client/Messages.cpp: compile fix

	* remove all files that came from a gettext distribution.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25167 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 15:25:55 +00:00
André Pönitz
c6886926ec remove unused defines QT_CLEAN_NAMESPACE and QT_GENUINE_STR
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23867 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 15:08:36 +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
1aed51c75c configure chack for rcc
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20733 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-04 16:57:16 +00:00
André Pönitz
581b67b26e move ChangeLogs to the attic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20587 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 14:12:55 +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
José Matox
309c75046e Make --without-include-boost compile (autotools)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20407 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-21 07:18:21 +00:00
Enrico Forestieri
9e8f0b9d91 Compile all minizip sources also on *nix platforms, as platform
specific code is #ifdef'd out.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19782 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-24 18:02:14 +00:00
Enrico Forestieri
468d29423e Compile fix for mingw
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19713 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-22 04:52:40 +00:00
Jean-Marc Lasgouttes
626a5b5f96 make sure that the C++ preprocessor is set up
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19618 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-17 08:53:27 +00:00
Enrico Forestieri
60c73c05a3 Add version information to the lyx executable on Windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19537 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 01:34:26 +00:00
André Pönitz
c534500a9b more verbose message
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19473 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 19:24:05 +00:00
Christian Ridderström
9b541f922f fix warning on possibly(?) unused precompiled headers due to different -fPic settings on pch creation and use
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19467 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 18:39:06 +00:00
Jean-Marc Lasgouttes
121b80a227 small tweak of configure help messages
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19466 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 18:31:25 +00:00