| --- misc/cppunit-1.12.1/config/config.sub |
| +++ misc/build/cppunit-1.12.1/config/config.sub |
| @@ -120,7 +120,7 @@ |
| # Here we must recognize all the valid KERNEL-OS combinations. |
| maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` |
| case $maybe_os in |
| - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ |
| + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ |
| uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ |
| storm-chaos* | os2-emx* | rtmk-nova*) |
| os=-$maybe_os |
| @@ -1250,7 +1250,7 @@ |
| | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
| | -chorusos* | -chorusrdb* \ |
| | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
| - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ |
| + | -mingw32* | -linux-gnu* | -linux-androideabi* | -linux-newlib* | -linux-uclibc* \ |
| | -uxpv* | -beos* | -mpeix* | -udk* \ |
| | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ |
| | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |
| --- misc/cppunit-1.12.1/config/ltmain.sh |
| +++ misc/build/cppunit-1.12.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.12.1/src/cppunit/UnixDynamicLibraryManager.cpp |
| +++ misc/build/cppunit-1.12.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 |
| } |
| |
| |