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.
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.
Note that some mentions of svn remain in
* development/cmake/LyxPackaging.cmake
* development/LyX-Mac-binary-release.sh
* development/Win32/packaging/installer/settings.nsh
* 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.
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
* 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
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
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
--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
* src/support/tempname.cpp: move code about HAVE_MKSTEMP here (only user)
* src/pch.h:
* src/Buffer.cpp:
* configure.ac: remove all traces of utime.h and HAVE_UTIME
* config/lyxinclude.m4: remove WITH_WARNING define (which be rendered useless in
a future commit from christian)
* development/scons/SConstruct: try to update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19395 a592a061-630c-0410-9148-cb99ea01b6c8
* development/MacOSX/lyxrc.dist.in: use it here instead of program_suffix
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19392 a592a061-630c-0410-9148-cb99ea01b6c8
INSTALL_MACOSX when packaging is macosx.
* development/Makefile.am: only install MacOSX when needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17988 a592a061-630c-0410-9148-cb99ea01b6c8