| --- misc/cppunit-1.13.1/config/ltmain.sh |
| +++ misc/build/cppunit-1.13.1/config/ltmain.sh |
| @@ -3228,6 +3228,12 @@ |
| fi |
| else |
| |
| + # Force no versioning suffix for Android thanks to silly |
| + # apkbuilder which doesn't add extra native libs unless their |
| + # name ends with .so |
| + |
| + version_type=none |
| + |
| # Parse the version information argument. |
| save_ifs="$IFS"; IFS=':' |
| set dummy $vinfo 0 0 0 |
| --- misc/cppunit-1.13.1/src/cppunit/UnixDynamicLibraryManager.cpp |
| +++ misc/build/cppunit-1.13.1/src/cppunit/UnixDynamicLibraryManager.cpp |
| @@ -13,7 +13,15 @@ |
| DynamicLibraryManager::LibraryHandle |
| DynamicLibraryManager::doLoadLibrary( const std::string &libraryName ) |
| { |
| +#ifdef __ANDROID__ |
| + // Use our enhanced dlopen() wrapper, see sal/osl/android/jni/lo-wrapper.c |
| + void *(*lo_dlopen)(const char *) = (void *(*)(const char *)) dlsym( RTLD_DEFAULT, "lo_dlopen" ); |
| + if (lo_dlopen == NULL) |
| + return NULL; |
| + return (*lo_dlopen)( libraryName.c_str() ); |
| +#else |
| return ::dlopen( libraryName.c_str(), RTLD_NOW | RTLD_GLOBAL ); |
| +#endif |
| } |
| |
| |