From 1b8cf3c668764501adb2b0cf4e8abdb405ad624d Mon Sep 17 00:00:00 2001 From: Doubango Telecom Date: Sat, 16 Nov 2019 12:45:12 +0100 Subject: [PATCH] - --- base/android/compv_android_dexclassloader.cxx | 4 ++-- base/compv_base.cxx | 5 +++-- base/include/compv/base/compv_base.h | 8 +++++-- base/vs_android/CompVBase.vcxproj | 21 ++++++++++++++++--- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/base/android/compv_android_dexclassloader.cxx b/base/android/compv_android_dexclassloader.cxx index 41af11584..c56ffe945 100755 --- a/base/android/compv_android_dexclassloader.cxx +++ b/base/android/compv_android_dexclassloader.cxx @@ -423,8 +423,8 @@ COMPV_ERROR_CODE CompVAndroidDexClassLoader::moveDexFileFromAssetsToData(JNIEnv* if (!nativeLibFileName.empty()) { bool bNativeLibFound = false; - COMPV_CHECK_EXP_RETURN(CompVBase::CPU_ABI().empty(), (err = COMPV_ERROR_CODE_E_SYSTEM)); - const std::string nativeLibSourceFilePath = std::string("lib/") + CompVBase::CPU_ABI() + std::string("/") + nativeLibFileName; + COMPV_CHECK_EXP_RETURN(CompVBase::Build_CPU_ABI().empty(), (err = COMPV_ERROR_CODE_E_SYSTEM)); + const std::string nativeLibSourceFilePath = std::string("lib/") + CompVBase::Build_CPU_ABI() + std::string("/") + nativeLibFileName; COMPV_DEBUG_INFO_EX(COMPV_THIS_CLASSNAME, "DexClassLoader trying to extract native lib from '%s'", nativeLibSourceFilePath.c_str()); // jobjectBufferInputStream.reset() jEnv->CallVoidMethod(jobjectBufferInputStream, s_MethodBufferedInputStreamReset); diff --git a/base/compv_base.cxx b/base/compv_base.cxx index 27ee2c32c..8bf906497 100755 --- a/base/compv_base.cxx +++ b/base/compv_base.cxx @@ -42,6 +42,7 @@ DWORD CompVBase::s_dwMinorVersion = -1; #endif #if COMPV_OS_ANDROID std::string CompVBase::s_strCPU_ABI = ""; +int CompVBase::s_intSDK_INT = 0; #endif bool CompVBase::s_bTesting = false; @@ -161,8 +162,8 @@ COMPV_ERROR_CODE CompVBase::init(int numThreads COMPV_DEFAULT(-1)) if (clazz_VERSION) { jfieldID fieldID_SDK_INT = jEnv->GetStaticFieldID(clazz_VERSION, "SDK_INT", "I"); if (fieldID_SDK_INT) { - jint SDK_INT = jEnv->GetStaticIntField(clazz_VERSION, fieldID_SDK_INT); - COMPV_DEBUG_INFO_EX(COMPV_THIS_CLASSNAME, "android/os/Build$VERSION.SDK_INT: %d", static_cast(SDK_INT)); + s_intSDK_INT = static_cast(jEnv->GetStaticIntField(clazz_VERSION, fieldID_SDK_INT)); + COMPV_DEBUG_INFO_EX(COMPV_THIS_CLASSNAME, "android/os/Build$VERSION.SDK_INT: %d", s_intSDK_INT); } } jclass clazz_Build = jEnv->FindClass("android/os/Build"); diff --git a/base/include/compv/base/compv_base.h b/base/include/compv/base/compv_base.h index 70e450268..d18a7f961 100755 --- a/base/include/compv/base/compv_base.h +++ b/base/include/compv/base/compv_base.h @@ -42,9 +42,12 @@ class COMPV_BASE_API CompVBase static bool isWinXPOrLater(); #endif #if COMPV_OS_ANDROID - static std::string CPU_ABI() { + static std::string Build_CPU_ABI() { return s_strCPU_ABI; } + static int Build_VERSION_SDK_INT() { + return s_intSDK_INT; + } #endif template static std::string to_string(T value) { @@ -63,7 +66,8 @@ class COMPV_BASE_API CompVBase static bool s_bInitializing; static bool s_bTesting; #if COMPV_OS_ANDROID - static std::string s_strCPU_ABI; + static std::string s_strCPU_ABI; // https://developer.android.com/reference/android/os/Build.html#CPU_ABI + static int s_intSDK_INT; // https://developer.android.com/reference/android/os/Build.VERSION.html#SDK_INT #endif #if COMPV_OS_WINDOWS && !COMPV_OS_WINDOWS_RT static DWORD s_dwMajorVersion; diff --git a/base/vs_android/CompVBase.vcxproj b/base/vs_android/CompVBase.vcxproj index a9be24969..c93158e1a 100755 --- a/base/vs_android/CompVBase.vcxproj +++ b/base/vs_android/CompVBase.vcxproj @@ -569,9 +569,24 @@ - - - + + -mavx %(AdditionalOptions) + -mavx %(AdditionalOptions) + -mavx %(AdditionalOptions) + -mavx %(AdditionalOptions) + + + -mavx2 %(AdditionalOptions) + -mavx2 %(AdditionalOptions) + -mavx2 %(AdditionalOptions) + -mavx2 %(AdditionalOptions) + + + -msse4.1 %(AdditionalOptions) + -msse4.1 %(AdditionalOptions) + -msse4.1 %(AdditionalOptions) + -msse4.1 %(AdditionalOptions) + -msse2 %(AdditionalOptions) -msse2 %(AdditionalOptions)