Commit Graph

26 Commits

Author SHA1 Message Date
Georg Baum
be41e2d16f 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-12 21:24:05 +02: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
Kornel Benko
0ea6654228 Cmake build: Creating a define for a header file found
need now only changes in the list of header files in ConfigureChecks.cmake.
2013-02-12 19:01:16 +01:00
Kornel Benko
5970aff01a Cmake build: If checking for new function, say xyzzy, we want
have a definition '#define HAVE_XYZZY 1'.
Now, it is sufficient to add xyzzy to list of functions in ConfigureChecks.cmake'
2013-02-12 17:22:07 +01:00
Kornel Benko
36c5c7b9c5 Cmake build: 1.) Sort function checcking alphabetically
2.) add definition HAVE_UNSETENV to header
2013-02-12 15:27:39 +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
Stephan Witt
f494131d06 add missing check for setenv: environment.cpp and POSIX standards prefer setenv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35194 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-25 05:57:06 +00:00
Kornel Benko
8e02385cea Applied revision 31646 to cmake-build too
Do not check for headers strings.h, io.h, process.h

Do not check for functions mkstemp, mktemp

Do not check for declarations of istreambug_iterator, iterator, mktemp



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31647 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-16 10:51:58 +00:00
Kornel Benko
14a2d495a5 Check for fcntl is maybe more more portable, than searching in
header files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29931 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-04 15:01:31 +00:00
Kornel Benko
a9ed2f18f4 Enable sockets on linux too. "fcntl" defined at /usr/include/fcntl.h.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29895 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-31 11:53:52 +00:00
Peter Kümmel
b581607b55 cmake: gettext patch from Kornel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27931 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-20 09:25:55 +00:00
Peter Kümmel
f712b9840f cmake: add endian check, thx to Jose and pdv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26469 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-20 19:43:52 +00:00
Peter Kümmel
07502281bc MinGW fixes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24381 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 11:06:08 +00:00
Peter Kümmel
5c90a54ac1 cmake: enable lyxserver on linux
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22382 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-05 13:12:37 +00:00
Abdelrazak Younes
34f0cc2ae1 Enable HAVE_DECL_ISTREAMBUF_ITERATOR checking as istreambuf_iterator exists and work correctly with MSVC2005
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21844 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-28 09:53:45 +00:00
André Pönitz
214f1de1b8 do not check for Standard C++ features anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19762 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 21:18:53 +00:00
André Pönitz
1452e0d285 revert accidental change in last commit
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19400 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 15:09:34 +00:00
André Pönitz
aa82b4dd3e we desparately need a fourth buildsystem. so let's start one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19399 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 14:56:41 +00:00
Georg Baum
5ed606f9c5 Add a cache for converted image files. This needs to be enabled in the
preferences file with \use_converter_cache true. It is disabled by default,
and no GUI support for changing the preferences is yet implemented.

	* src/insets/insetgraphics.C
	(InsetGraphics::prepareFile): Use image file cache

	* src/insets/ExternalSupport.C
	(updateExternal): Use image file cache

	* src/exporter.C
	(Exporter::Export): Do not use image file cache

	* src/graphics/GraphicsCacheItem.C

	(CacheItem::Impl::imageConverted): Add the converted file to the
	image file cache
	(CacheItem::Impl::convertToDisplayFo): Use image file cache

	* src/converter.C
	(Converters::convert): Use image file cache if the caller allowed that

	* src/converter.h
	(Converters::convert): Adjust arguments

	* src/Makefile.am: Add new files

	* src/support/lyxlib.h
	(chmod): new function
	(copy): add mode argument

	* src/support/copy.C
	(chmod): new function
	(copy): implement mode argument

	* src/support/mkdir.C
	(lyx::support::mkdir): Add warning if permissions are ignored

	* src/lyxrc.[Ch]: Add new settings \converter_cache_maxage and
	\use_converter_cache

	* src/ConverterCache.[Ch]: New image file cache

	* src/importer.C
	(Importer::Import): Do nut use the image file cache

	* src/lyx_main.C
	(LyX::init): Initialize the image file cache

	* src/mover.[Ch]
	(Mover::do_copy): Add mode argument
	(SpecialisedMover::do_copy): ditto

	* configure.ac: Check for chmod

	* development/cmake/ConfigureChecks.cmake: ditto

	* development/cmake/config.h.cmake: ditto

	* development/scons/SConstruct: ditto

	* development/scons/scons_manifest.py: Add new files


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15897 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 10:27:57 +00:00
Peter Kümmel
de161c40b1 move definition of variables to the main cmake file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15104 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-21 10:51:50 +00:00
Peter Kümmel
7c9876766c add copyright notice
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15012 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-15 17:05:20 +00:00
Peter Kümmel
d6cc4b9f0b test for the size of wchar_t and define the macro SIZEOF_WCHAR_T with the size
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14992 a592a061-630c-0410-9148-cb99ea01b6c8
2006-09-13 21:45:52 +00:00
Peter Kümmel
d308909bee check for ICONV_CONST
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14675 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 16:38:04 +00:00
Peter Kümmel
ee07d30cbf search for alloca also in malloc.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14664 a592a061-630c-0410-9148-cb99ea01b6c8
2006-08-14 08:59:30 +00:00
Peter Kümmel
330db5cce1 correct svn properties, upadte aspell handling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14121 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-15 15:11:25 +00:00
Peter Kümmel
7c00f14cc1 Initial cmake support.
trunk/development/cmake/README.cmake:

Building LyX with CMake

CMake 2.4.2 or CVS version from www.cmake.org


Building Visual C++ 2005 project files:

- install Visual C++ 2005
- install Platform SDK 2005, "Core" and "Web Workshop"
- add include and library paths of the SDK to the IDE search paths,
  menu: Tools->Options->VC++ directories->Library files + Include files
- install zlib (www.zlib.net) into %ProgramFiles%/GnuWin32/include+lib
  or %ProgramFiles%/zlib/include+lib
- create a build directory, e.g. .../trunk/../build
- call in the build directory cmake ..\trunk\development\cmake
- start lyx.sln


To generate other build files call "cmake" 
which shows a list of possibilities.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14071 a592a061-630c-0410-9148-cb99ea01b6c8
2006-06-11 11:57:25 +00:00