summaryrefslogtreecommitdiff
path: root/cppunit
diff options
context:
space:
mode:
Diffstat (limited to 'cppunit')
-rw-r--r--cppunit/aix.patch21
-rw-r--r--cppunit/android.patch11
-rw-r--r--cppunit/avoid-synthetised-destructor.patch29
-rw-r--r--cppunit/ios.patch43
-rw-r--r--cppunit/ldflags.patch11
-rw-r--r--cppunit/makefile.mk167
-rw-r--r--cppunit/ooo-DllPlugInTester.mk50
-rw-r--r--cppunit/ooo-cppunit_dll.mk100
-rw-r--r--cppunit/prj/build.lst2
-rw-r--r--cppunit/prj/d.lst38
-rw-r--r--cppunit/solarisfinite.patch14
-rw-r--r--cppunit/warnings.patch22
-rw-r--r--cppunit/windows.patch48
13 files changed, 556 insertions, 0 deletions
diff --git a/cppunit/aix.patch b/cppunit/aix.patch
new file mode 100644
index 000000000000..2bc78f3f9224
--- /dev/null
+++ b/cppunit/aix.patch
@@ -0,0 +1,21 @@
+--- misc/cppunit-1.12.1.orig/config/config.guess 2010-09-15 10:25:54.000000000 -0500
++++ misc/build/cppunit-1.12.1/config/config.guess 2010-09-15 10:26:50.000000000 -0500
+@@ -532,7 +532,7 @@
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+- *:AIX:*:[456])
++ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+@@ -544,6 +544,9 @@
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
++ if [ "$IBM_REV" == "V7BETA" ]; then
++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
diff --git a/cppunit/android.patch b/cppunit/android.patch
new file mode 100644
index 000000000000..595f840ab712
--- /dev/null
+++ b/cppunit/android.patch
@@ -0,0 +1,11 @@
+--- misc/cppunit-1.12.1/config/config.sub
++++ misc/build/cppunit-1.12.1/config/config.sub
+@@ -1246,7 +1246,7 @@
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
++ | -udi* | -eabi* | -androideabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
diff --git a/cppunit/avoid-synthetised-destructor.patch b/cppunit/avoid-synthetised-destructor.patch
new file mode 100644
index 000000000000..82b79291c998
--- /dev/null
+++ b/cppunit/avoid-synthetised-destructor.patch
@@ -0,0 +1,29 @@
+rhbz#641350 impl. destructor of CppUnit::Message causes segfault when test
+is built with debug. STL
+
+diff -up cppunit-1.12.1/include/cppunit/Message.h.dt cppunit-1.12.1/include/cppunit/Message.h
+--- misc/build/cppunit-1.12.1/include/cppunit/Message.h.dt 2010-10-08 14:02:26.514477964 +0200
++++ misc/build/cppunit-1.12.1/include/cppunit/Message.h 2010-10-08 14:02:15.411948098 +0200
+@@ -57,6 +57,8 @@ public:
+ const std::string &detail2,
+ const std::string &detail3 );
+
++ ~Message();
++
+ Message &operator =( const Message &other );
+
+ /*! \brief Returns the short description.
+diff -up cppunit-1.12.1/src/cppunit/Message.cpp.dt cppunit-1.12.1/src/cppunit/Message.cpp
+--- misc/build/cppunit-1.12.1/src/cppunit/Message.cpp.dt 2010-10-08 14:02:39.421768852 +0200
++++ misc/build/cppunit-1.12.1/src/cppunit/Message.cpp 2010-10-08 14:02:54.066829633 +0200
+@@ -47,6 +47,10 @@ Message::Message( const std::string &sho
+ addDetail( detail1, detail2, detail3 );
+ }
+
++Message::~Message()
++{
++}
++
+ Message &
+ Message::operator =( const Message &other )
+ {
diff --git a/cppunit/ios.patch b/cppunit/ios.patch
new file mode 100644
index 000000000000..89204618ef4e
--- /dev/null
+++ b/cppunit/ios.patch
@@ -0,0 +1,43 @@
+--- misc/build/cppunit-1.12.1/configure
++++ misc/build/cppunit-1.12.1/configure
+@@ -23273,7 +23273,7 @@
+ { echo "$as_me:$LINENO: result: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
+ echo "${ECHO_T}creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6; }
+ if test -f $ac_prefix_conf_INP ; then
+- $as_dirname -- /* automatically generated */ ||
++ $as_dirname -- '/* automatically generated */' ||
+ $as_expr X/* automatically generated */ : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X/* automatically generated */ : 'X\(//\)[^/]' \| \
+ X/* automatically generated */ : 'X\(//\)$' \| \
+@@ -23318,5 +23318,5 @@
+ echo "$as_me: error: input file $ac_prefix_conf_IN does not exist, skip generating $ac_prefix_conf_OUT" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+- rm -f conftest.*
++ rm -f -r conftest.*
+ fi
+--- misc/build/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h
++++ misc/build/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h
+@@ -106,7 +106,9 @@
+ * CppUnitTestPlugIn *CPPUNIT_PLUGIN_EXPORTED_NAME(void);
+ * \endcode
+ */
++#ifndef CPPUNIT_PLUGIN_EXPORTED_NAME
+ #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTestPlugIn
++#endif
+
+ /*! \brief Type of the function exported by a plug-in.
+ * \ingroup WritingTestPlugIn
+@@ -143,6 +143,12 @@
+ #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
+ typedef char __CppUnitPlugInImplementMainDummyTypeDef
+
++// Actually this is for iOS where we build the cppunit tests libraries
++// as plain archives and just link them statically into test fixture programs,
++// and don't want any stinking duplicate main(), but shouldn't hurt for MacOSX either.
++#elif defined(__APPLE__)
++#define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
++ typedef char __CppUnitPlugInImplementMainDummyTypeDef
+ // Unix
+ #elif defined(CPPUNIT_HAVE_UNIX_DLL_LOADER) || defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)
+ #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
diff --git a/cppunit/ldflags.patch b/cppunit/ldflags.patch
new file mode 100644
index 000000000000..ee8d5ed897ce
--- /dev/null
+++ b/cppunit/ldflags.patch
@@ -0,0 +1,11 @@
+--- misc/cppunit-1.12.1/src/cppunit/Makefile.in 2008-02-20 06:59:55.000000000 +0100
++++ misc/build/cppunit-1.12.1/src/cppunit/Makefile.in 2010-06-21 17:01:38.324370072 +0200
+@@ -300,7 +300,7 @@
+
+ libcppunit_la_LDFLAGS = \
+ -no-undefined -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+- -release $(LT_RELEASE)
++ -release $(LT_RELEASE) $(LIBADD_DL)
+
+ all: all-am
+
diff --git a/cppunit/makefile.mk b/cppunit/makefile.mk
new file mode 100644
index 000000000000..7fba665c5bd3
--- /dev/null
+++ b/cppunit/makefile.mk
@@ -0,0 +1,167 @@
+#*************************************************************************
+# 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
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#***********************************************************************/
+
+PRJ = .
+PRJNAME = cppunit
+TARGET = cppunit
+
+.INCLUDE: settings.mk
+
+TARFILE_NAME = cppunit-1.12.1
+TARFILE_MD5=bd30e9cf5523cdfc019b94f5e1d7fd19
+ # from <https://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/
+ # cppunit-1.12.1.tar.gz/download>
+
+PATCH_FILES = solarisfinite.patch warnings.patch windows.patch ldflags.patch aix.patch avoid-synthetised-destructor.patch android.patch ios.patch
+ # solarisfinite.patch: see <https://sourceforge.net/tracker/?func=detail&
+ # aid=2912590&group_id=11795&atid=311795>
+ # warnings.patch: see <https://sourceforge.net/tracker/?func=detail&
+ # aid=2912630&group_id=11795&atid=311795>
+
+.IF "$(OS)" == "WNT"
+.IF "$(COM)" == "MSC"
+
+# On Windows, CppUnit appears to support either the Unix-style configure/make
+# approach with cygwin and gcc (and libtool fails miserably if gcc is replaced
+# by MSVC cl), or a Visual Studio project (CppUnitLibraries.dsw). However, the
+# latter is too old to work with vcbuild from a wntmsci12 tool chain. So, the
+# easiest way appears to inject hand-crafted dmake makefiles to build the
+# relevant parts. (Another approach would be to manually use the Visual Studio
+# IDE to convert CppUnitLibraries.dsw to modern format, inject the resulting
+# cppunit_dll.vcproj and DllPlugInTester.vcproj and build those with vcbuild.)
+
+CONFIGURE_ACTION = $(SED) -e s:@BACKPATH@:../$(BACK_PATH): \
+ < ../$(BACK_PATH)$(PATH_IN_MODULE)/ooo-cppunit_dll.mk \
+ > src/cppunit/ooo-cppunit_dll.mk && \
+ $(SED) -e s:@BACKPATH@:../$(BACK_PATH): \
+ < ../$(BACK_PATH)$(PATH_IN_MODULE)/ooo-DllPlugInTester.mk \
+ > src/DllPlugInTester/ooo-DllPlugInTester.mk
+
+BUILD_ACTION = cd src/cppunit && dmake -f ooo-cppunit_dll.mk debug=$(debug) verbose=$(verbose) && \
+ cd ../DllPlugInTester && dmake -f ooo-DllPlugInTester.mk debug=$(debug) verbose=$(verbose)
+
+OUTDIR2INC = include/cppunit
+
+.INCLUDE: set_ext.mk
+.INCLUDE: target.mk
+.INCLUDE: tg_ext.mk
+
+$(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE): ooo-cppunit_dll.mk ooo-DllPlugInTester.mk
+
+.ELSE
+.IF "$(COM)" == "GCC"
+EXTRA_CFLAGS += -mthreads
+LDFLAGS += -Wl,--enable-runtime-pseudo-reloc-v2
+
+CONFIGURE_ACTION = ./configure
+CONFIGURE_FLAGS = --prefix=$(shell cd $(PACKAGE_DIR) && \
+ pwd $(PWDFLAGS))/$(TARFILE_ROOTDIR)/ooo-install \
+ --disable-dependency-tracking --disable-static --disable-doxygen \
+ --disable-html-docs --disable-latex-docs CC='$(CC)' CXX='$(CXX)' \
+ CXXFLAGS='$(EXTRA_CFLAGS)' \
+ LDFLAGS='$(LDFLAGS)' \
+ LIBS='$(MY_LIBS)'
+
+.IF "$(CROSS_COMPILING)"=="YES"
+CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
+.ENDIF
+
+BUILD_ACTION = $(GNUMAKE) -j$(EXTMAXPROCESS)
+BUILD_FLAGS = install
+
+OUTDIR2INC = ooo-install/include/cppunit
+
+# WTF? A *Cygwin* DLL?
+#OUT2BIN = ooo-install/bin/DllPlugInTester.exe \
+# ooo-install/bin/cygcppunit-1-12-1.dll
+OUT2BIN = ooo-install/bin/DllPlugInTester.exe \
+ ooo-install/bin/libcppunit-1-12-1.dll
+OUT2LIB = ooo-install/lib/libcppunit.dll.a
+
+.INCLUDE: set_ext.mk
+.INCLUDE: target.mk
+.INCLUDE: tg_ext.mk
+
+.ENDIF # "$(COM)" == "GCC"
+.ENDIF # "$(COM)" == "MSC"
+
+.ELSE
+
+# At least on Solaris with Sun CC, linking the cppunit dynamic library fails as
+# TestAssert.o uses fabs but -lm is missing from the command line (cppunit's
+# aclocal.m4 contains an unused AC_CHECK_LIBM, maybe using that would be a
+# better fix):
+.IF "$(OS)" == "SOLARIS" && "$(COM)" == "C52"
+MY_LIBS = -lm
+.END
+
+CONFIGURE_ACTION = ./configure
+
+.IF "$(debug)"!=""
+DEBUGFLAG=-g
+.ENDIF
+
+CONFIGURE_FLAGS = --prefix=$(shell cd $(PACKAGE_DIR) && \
+ pwd $(PWDFLAGS))/$(TARFILE_ROOTDIR)/ooo-install \
+ --disable-dependency-tracking --disable-static --disable-doxygen \
+ --disable-html-docs --disable-latex-docs CC='$(CC)' CXX='$(CXX)' \
+ CXXFLAGS='$(EXTRA_CFLAGS) $(DEBUGFLAG) $(EXTRA_CDEFS)' \
+ LDFLAGS='$(LDFLAGS)' \
+ LIBS='$(MY_LIBS)'
+
+.IF "$(OS)"=="IOS"
+CONFIGURE_FLAGS+=--disable-shared
+.ELSE
+CONFIGURE_FLAGS+=--disable-static
+.ENDIF
+
+.IF "$(CROSS_COMPILING)"=="YES"
+CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
+.ENDIF
+
+BUILD_ACTION = $(GNUMAKE) -j$(EXTMAXPROCESS)
+BUILD_FLAGS = install
+
+OUTDIR2INC = ooo-install/include/cppunit
+
+OUT2BIN = ooo-install/bin/DllPlugInTester
+.IF "$(OS)" == "MACOSX"
+OUT2LIB = ooo-install/lib/libcppunit-1.12.1.dylib
+EXTRPATH = NONE
+.ELIF "$(OS)" == "AIX"
+OUT2LIB = ooo-install/lib/libcppunit-1.12.a
+.ELIF "$(OS)" == "OPENBSD"
+OUT2LIB = ooo-install/lib/libcppunit-1.12.so.1.0
+.ELIF "$(OS)" == "IOS" || "$(OS)" == "ANDROID"
+OUT2LIB = ooo-install/lib/libcppunit.a
+.ELSE
+OUT2LIB = ooo-install/lib/libcppunit-1.12.so.1
+.END
+
+.INCLUDE: set_ext.mk
+.INCLUDE: target.mk
+.INCLUDE: tg_ext.mk
+
+.END
diff --git a/cppunit/ooo-DllPlugInTester.mk b/cppunit/ooo-DllPlugInTester.mk
new file mode 100644
index 000000000000..1c8c8a0a167b
--- /dev/null
+++ b/cppunit/ooo-DllPlugInTester.mk
@@ -0,0 +1,50 @@
+#*************************************************************************
+#
+# 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
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#***********************************************************************/
+
+PRJ = @BACKPATH@../..
+PRJNAME = cppunit
+TARGET = DllPlugInTester
+
+ENABLE_EXCEPTIONS = TRUE
+nodep = TRUE
+
+.INCLUDE: settings.mk
+
+CDEFS += -DCPPUNIT_DLL
+CFLAGSCXX += -I../../include
+UWINAPILIB =
+
+OBJFILES = $(APP1OBJS)
+
+APP1OBJS = \
+ $(OBJ)/CommandLineParser.obj \
+ $(OBJ)/DllPlugInTester.obj
+APP1RPATH = NONE
+APP1STDLIBS = icppunit_dll.lib
+APP1TARGET = DllPlugInTester_dll
+
+.INCLUDE: target.mk
diff --git a/cppunit/ooo-cppunit_dll.mk b/cppunit/ooo-cppunit_dll.mk
new file mode 100644
index 000000000000..048a51e90926
--- /dev/null
+++ b/cppunit/ooo-cppunit_dll.mk
@@ -0,0 +1,100 @@
+#*************************************************************************
+#
+# 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
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#***********************************************************************/
+
+PRJ = @BACKPATH@../..
+PRJNAME = cppunit
+TARGET = cppunit_dll
+
+ENABLE_EXCEPTIONS = TRUE
+EXTERNAL_WARNINGS_NOT_ERRORS = TRUE
+nodep = TRUE
+
+.INCLUDE: settings.mk
+
+CDEFS += -DCPPUNIT_BUILD_DLL
+CFLAGSCXX += -I../../include
+UWINAPILIB =
+
+SLOFILES = $(SHL1OBJS)
+
+SHL1IMPLIB = i$(SHL1TARGET)
+SHL1OBJS = \
+ $(SLO)/AdditionalMessage.obj \
+ $(SLO)/Asserter.obj \
+ $(SLO)/BeosDynamicLibraryManager.obj \
+ $(SLO)/BriefTestProgressListener.obj \
+ $(SLO)/CompilerOutputter.obj \
+ $(SLO)/DefaultProtector.obj \
+ $(SLO)/DllMain.obj \
+ $(SLO)/DynamicLibraryManager.obj \
+ $(SLO)/DynamicLibraryManagerException.obj \
+ $(SLO)/Exception.obj \
+ $(SLO)/Message.obj \
+ $(SLO)/PlugInManager.obj \
+ $(SLO)/PlugInParameters.obj \
+ $(SLO)/Protector.obj \
+ $(SLO)/ProtectorChain.obj \
+ $(SLO)/RepeatedTest.obj \
+ $(SLO)/SourceLine.obj \
+ $(SLO)/StringTools.obj \
+ $(SLO)/SynchronizedObject.obj \
+ $(SLO)/Test.obj \
+ $(SLO)/TestAssert.obj \
+ $(SLO)/TestCase.obj \
+ $(SLO)/TestCaseDecorator.obj \
+ $(SLO)/TestComposite.obj \
+ $(SLO)/TestDecorator.obj \
+ $(SLO)/TestFactoryRegistry.obj \
+ $(SLO)/TestFailure.obj \
+ $(SLO)/TestLeaf.obj \
+ $(SLO)/TestNamer.obj \
+ $(SLO)/TestPath.obj \
+ $(SLO)/TestPlugInDefaultImpl.obj \
+ $(SLO)/TestResult.obj \
+ $(SLO)/TestResultCollector.obj \
+ $(SLO)/TestRunner.obj \
+ $(SLO)/TestSetUp.obj \
+ $(SLO)/TestSuccessListener.obj \
+ $(SLO)/TestSuite.obj \
+ $(SLO)/TestSuiteBuilderContext.obj \
+ $(SLO)/TextOutputter.obj \
+ $(SLO)/TextTestProgressListener.obj \
+ $(SLO)/TextTestResult.obj \
+ $(SLO)/TextTestRunner.obj \
+ $(SLO)/TypeInfoHelper.obj \
+ $(SLO)/UnixDynamicLibraryManager.obj \
+ $(SLO)/Win32DynamicLibraryManager.obj \
+ $(SLO)/XmlDocument.obj \
+ $(SLO)/XmlElement.obj \
+ $(SLO)/XmlOutputter.obj \
+ $(SLO)/XmlOutputterHook.obj
+SHL1RPATH = NONE
+SHL1TARGET = cppunit_dll
+SHL1USE_EXPORTS = name
+DEF1NAME = $(SHL1TARGET)
+
+.INCLUDE: target.mk
diff --git a/cppunit/prj/build.lst b/cppunit/prj/build.lst
new file mode 100644
index 000000000000..2178f5978728
--- /dev/null
+++ b/cppunit/prj/build.lst
@@ -0,0 +1,2 @@
+c5t cppunit : soltools NULL
+c5t cppunit nmake - all cppunit NULL
diff --git a/cppunit/prj/d.lst b/cppunit/prj/d.lst
new file mode 100644
index 000000000000..1cfdb55e5587
--- /dev/null
+++ b/cppunit/prj/d.lst
@@ -0,0 +1,38 @@
+mkdir: %_DEST%\inc\cppunit
+..\%__SRC%\inc\cppunit\*.h %_DEST%\inc\cppunit\*.h
+mkdir: %_DEST%\inc\cppunit\config
+..\%__SRC%\inc\cppunit\config\*.h %_DEST%\inc\cppunit\config\*.h
+mkdir: %_DEST%\inc\cppunit\extensions
+..\%__SRC%\inc\cppunit\extensions\*.h %_DEST%\inc\cppunit\extensions\*.h
+mkdir: %_DEST%\inc\cppunit\plugin
+..\%__SRC%\inc\cppunit\plugin\*.h %_DEST%\inc\cppunit\plugin\*.h
+mkdir: %_DEST%\inc\cppunit\portability
+..\%__SRC%\inc\cppunit\portability\*.h %_DEST%\inc\cppunit\portability\*.h
+mkdir: %_DEST%\inc\cppunit\tools
+..\%__SRC%\inc\cppunit\tools\*.h %_DEST%\inc\cppunit\tools\*.h
+mkdir: %_DEST%\inc\cppunit\ui\text
+..\%__SRC%\inc\cppunit\ui\text\*.h %_DEST%\inc\cppunit\ui\text\*.h
+
+..\%__SRC%\bin\cppunit_dll.dll %_DEST%\bin\cppunit_dll.dll
+..\%__SRC%\lib\icppunit_dll.lib %_DEST%\lib\icppunit_dll.lib
+
+..\%__SRC%\bin\libcppunit-1-12-1.dll %_DEST%\bin\libcppunit-1-12-1.dll
+..\%__SRC%\lib\libcppunit.dll.a %_DEST%\lib\libcppunit.dll.a
+
+..\%__SRC%\lib\libcppunit-1.12.1.dylib %_DEST%\lib\libcppunit-1.12.1.dylib
+symlink: %_DEST%\lib\libcppunit-1.12.1.dylib %_DEST%\lib\libcppunit.dylib
+
+..\%__SRC%\lib\libcppunit-1.12.so.1 %_DEST%\lib\libcppunit-1.12.so.1
+symlink: %_DEST%\lib\libcppunit-1.12.so.1 %_DEST%\lib\libcppunit.so
+
+..\%__SRC%\lib\libcppunit-1.12.so.1.0 %_DEST%\lib\libcppunit-1.12.so.1.0
+symlink: %_DEST%\lib\libcppunit-1.12.so.1.0 %_DEST%\lib\libcppunit.so
+
+..\%__SRC%\lib\libcppunit-1.12.a %_DEST%\lib\libcppunit-1.12.a
+symlink: %_DEST%\lib\libcppunit-1.12.a %_DEST%\lib\libcppunit.a
+
+..\%__SRC%\lib\libcppunit.a %_DEST%\lib\libcppunit.a
+
+..\%__SRC%\bin\DllPlugInTester %_DEST%\bin\DllPlugInTester
+..\%__SRC%\bin\DllPlugInTester.exe %_DEST%\bin\DllPlugInTester.exe
+..\%__SRC%\bin\DllPlugInTester_dll.exe %_DEST%\bin\DllPlugInTester_dll.exe
diff --git a/cppunit/solarisfinite.patch b/cppunit/solarisfinite.patch
new file mode 100644
index 000000000000..0c15cdcb77a7
--- /dev/null
+++ b/cppunit/solarisfinite.patch
@@ -0,0 +1,14 @@
+--- misc/cppunit-1.12.1/include/cppunit/portability/FloatingPoint.h Mon Mar 5 04:16:42 2007
++++ misc/build/cppunit-1.12.1/include/cppunit/portability/FloatingPoint.h Thu Dec 3 16:34:23 2009
+@@ -3,6 +3,11 @@
+
+ #include <cppunit/Portability.h>
+ #include <math.h>
++
++#if defined(__sun) && !defined(CPPUNIT_HAVE_ISFINITE) && defined(CPPUNIT_HAVE_FINITE)
++#include <ieeefp.h>
++ // <math.h> is still needed for usage of fabs in TestAssert.cpp
++#endif
+
+ CPPUNIT_NS_BEGIN
+
diff --git a/cppunit/warnings.patch b/cppunit/warnings.patch
new file mode 100644
index 000000000000..39e804aff7f0
--- /dev/null
+++ b/cppunit/warnings.patch
@@ -0,0 +1,22 @@
+--- misc/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h 2007-01-12 05:54:34.000000000 +0100
++++ misc/build/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h 2009-12-02 15:33:29.639857272 +0100
+@@ -151,9 +151,7 @@
+ #include <windows.h>
+ #endif
+ #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
+- BOOL APIENTRY DllMain( HANDLE hModule, \
+- DWORD ul_reason_for_call, \
+- LPVOID lpReserved ) \
++ BOOL APIENTRY DllMain( HANDLE, DWORD, LPVOID ) \
+ { \
+ return TRUE; \
+ } \
+@@ -162,7 +160,7 @@
+ // Unix
+ #elif defined(CPPUNIT_HAVE_UNIX_DLL_LOADER) || defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)
+ #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
+- int main( int argc, char *argv[] ) \
++ int main( int, char *[] ) \
+ { \
+ return 0; \
+ } \
diff --git a/cppunit/windows.patch b/cppunit/windows.patch
new file mode 100644
index 000000000000..9c510bb6d604
--- /dev/null
+++ b/cppunit/windows.patch
@@ -0,0 +1,48 @@
+--- misc/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h 2010-01-11 14:42:25.084658287 +0100
++++ misc/build/cppunit-1.12.1/include/cppunit/plugin/TestPlugIn.h 2010-01-11 14:42:18.660706180 +0100
+@@ -133,9 +133,8 @@
+ /*! \def CPPUNIT_PLUGIN_IMPLEMENT_MAIN()
+ * \brief Implements the 'main' function for the plug-in.
+ *
+- * This macros implements the main() function for dynamic library.
+- * For example, WIN32 requires a DllMain function, while some Unix
+- * requires a main() function. This macros takes care of the implementation.
++ * This macro implements the main() function for dynamic library
++ * on Unix for some weird reason.
+ */
+
+ // Win32
+@@ -149,21 +149,7 @@
+
+ // Win32
+ #if defined(CPPUNIT_HAVE_WIN32_DLL_LOADER)
+-#if !defined(APIENTRY)
+-#define WIN32_LEAN_AND_MEAN
+-#define NOGDI
+-#define NOUSER
+-#define NOKERNEL
+-#define NOSOUND
+-#define NOMINMAX
+-#define BLENDFUNCTION void // for mingw & gcc
+-#include <windows.h>
+-#endif
+ #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
+- BOOL APIENTRY DllMain( HANDLE, DWORD, LPVOID ) \
+- { \
+- return TRUE; \
+- } \
+ typedef char __CppUnitPlugInImplementMainDummyTypeDef
+
+ // Unix
+--- misc/cppunit-1.12.1/include/cppunit/TestAssert.h
++++ misc/build/cppunit-1.12.1/include/cppunit/TestAssert.h
+@@ -76,7 +76,7 @@
+ const int precision = 15;
+ #endif // #ifdef DBL_DIG
+ char buffer[128];
+-#ifdef __STDC_SECURE_LIB__ // Use secure version with visual studio 2005 to avoid warning.
++#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__) // Use secure version with visual studio 2005 to avoid warning.
+ sprintf_s(buffer, sizeof(buffer), "%.*g", precision, x);
+ #else
+ sprintf(buffer, "%.*g", precision, x);
+