--- 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 }