Kaydet (Commit) 8112e5ff authored tarafından Tor Lillqvist's avatar Tor Lillqvist

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.
üst 96f256c2
......@@ -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() \
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment