summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2011-07-10 14:52:49 +0300
committerTor Lillqvist <tml@iki.fi>2011-07-10 14:52:49 +0300
commit931d08961e8756d116b5e483d8ffd2411f81f126 (patch)
tree5d7eee52d7f70d11096d5035cc1324aa8c3805c8
parentf2ea09a2fabb1dd732a02bf5bc17f3d535978b89 (diff)
iOS hacks
For iOS, the LibreOffice unit tests that normally are built as "plugins", i.e. dynamic libraries, are actually built as static libraries, because we don't do any dynamic linking of own code on iOS. Enable giving the "plugin" unit test entry point a different name than a fixed "cppunitTestPlugIn", so that several unit tests can be linked together into one executable, for simplicity. Drop the stupid dummy main() function in cppunit plugins. I doubt any Unix platform we care for needs it, but drop just for iOS and MacOSX for now.
-rw-r--r--cppunit/ios.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/cppunit/ios.patch b/cppunit/ios.patch
index cfe548e..8920461 100644
--- a/cppunit/ios.patch
+++ b/cppunit/ios.patch
@@ -16,3 +16,28 @@
- 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() \