From bebc5687ca94696d8180a4c2a53b8ae0bd697167 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 3 Aug 2010 10:01:07 +0100 Subject: cmcfixes77: #i113503# system non-stlport cppunit with OOo stlport --- stlport/prj/d.lst | 1 + stlport/systemstlguards/postextstl.h | 36 +++++++++++++++++ stlport/systemstlguards/preextstl.h | 77 ++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 stlport/systemstlguards/postextstl.h create mode 100644 stlport/systemstlguards/preextstl.h (limited to 'stlport') diff --git a/stlport/prj/d.lst b/stlport/prj/d.lst index f379d7d14c36..29848a6475e3 100644 --- a/stlport/prj/d.lst +++ b/stlport/prj/d.lst @@ -17,6 +17,7 @@ mkdir: %_DEST%\inc%_EXT%\stl\wrap_std\h ..\%__SRC%\inc\stlport\using\h\* %_DEST%\inc%_EXT%\stl\using\h\* ..\%__SRC%\inc\stlport\wrap_std\* %_DEST%\inc%_EXT%\stl\wrap_std\* ..\%__SRC%\inc\stlport\wrap_std\h\* %_DEST%\inc%_EXT%\stl\wrap_std\h\* +..\systemstlguards\*.h %_DEST%\inc%_EXT%\stl\*.h ..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so ..\%__SRC%\lib\lib*.a %_DEST%\lib%_EXT%\lib*.a ..\%__SRC%\lib\*.lib %_DEST%\lib%_EXT%\*.lib diff --git a/stlport/systemstlguards/postextstl.h b/stlport/systemstlguards/postextstl.h new file mode 100644 index 000000000000..81a21e25c15b --- /dev/null +++ b/stlport/systemstlguards/postextstl.h @@ -0,0 +1,36 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifdef std_was_redefined_as_stlport +// put things back the way they were +# define std std_was_redefined_as_stlport +# undef _STLP_OUTERMOST_HEADER_ID +// force config to be re-read +# undef _STLP_NOTHROW_INHERENTLY +# undef _STLP_CONFIG_H +# include +#endif diff --git a/stlport/systemstlguards/preextstl.h b/stlport/systemstlguards/preextstl.h new file mode 100644 index 000000000000..763f0dfa79f3 --- /dev/null +++ b/stlport/systemstlguards/preextstl.h @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +//1. Force inclusion of a std:: using header to ensure the stlport define +//of std as "stlport" +#include +#if defined(ADAPT_EXT_STL) +//2. Force inclusion of stlport headers to get their stlport:: definitions +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +//3. Now force inclusion of native headers to get their std:: definitions +# if defined(std) +# define std_was_redefined_as_stlport std +# undef std +# define _STLP_OUTERMOST_HEADER_ID 0xdeadbeaf +# if defined(_GNUC__) +# pragma GCC visibility push(default) +# endif +# include _STLP_NATIVE_HEADER(exception_defines.h) +# include _STLP_NATIVE_HEADER(limits) +# include _STLP_NATIVE_HEADER(memory) +# include _STLP_NATIVE_HEADER(exception) +# include _STLP_NATIVE_HEADER(iosfwd) +# include _STLP_NATIVE_HEADER(algorithm) +# include _STLP_NATIVE_HEADER(string) +# include _STLP_NATIVE_HEADER(streambuf) +# include _STLP_NATIVE_HEADER(ios) +# include _STLP_NATIVE_HEADER(locale) +# include _STLP_NATIVE_HEADER(stdexcept) +# include _STLP_NATIVE_HEADER(ostream) +# include _STLP_NATIVE_HEADER(istream) +# include _STLP_NATIVE_HEADER(iostream) +# include _STLP_NATIVE_HEADER(sstream) +# include _STLP_NATIVE_HEADER(vector) +# include _STLP_NATIVE_HEADER(deque) +# include _STLP_NATIVE_HEADER(set) +# include _STLP_NATIVE_HEADER(list) +# include _STLP_NATIVE_HEADER(map) +# if defined(_GNUC__) +# pragma GCC visibility pop +# endif +# endif +#endif +//ext_std resolves to the std that external c++ libs, e.g. Graphite were built +//against regardless of whether that is stlport or system stl +namespace ext_std = std; -- cgit