office-gobmx/cppunit/ios.patch
Tor Lillqvist 8112e5ff23 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.
2011-07-10 14:52:49 +03:00

43 lines
1.9 KiB
Diff

--- 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() \