diff options
| author | 2023-08-18 17:07:09 +0000 | |
|---|---|---|
| committer | 2023-08-18 17:07:09 +0000 | |
| commit | c5414a7c8c404e0c30c2904e763ba3f0beb4671c (patch) | |
| tree | 97998bc8c905c07168b3209c56ed283f19ff1f15 | |
| parent | cdbed9933e9b64e07a70d249477155993ec2efdc (diff) | |
| parent | a8e994b05be3b648dd07985755ee7f619ef1bd1f (diff) | |
Merge "Use llndk.libraries.txt from system if VNDK is deprecated" into main am: b2d6cc2e41 am: 95c85d27bb am: a8e994b05b
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2703694
Change-Id: I147190693f1e06311d918118597273e2f8061a7e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/graphicsenv/GraphicsEnv.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/libs/graphicsenv/GraphicsEnv.cpp b/libs/graphicsenv/GraphicsEnv.cpp index 5fbae3c712..9d3e674d6c 100644 --- a/libs/graphicsenv/GraphicsEnv.cpp +++ b/libs/graphicsenv/GraphicsEnv.cpp @@ -60,6 +60,17 @@ typedef bool (*fpANGLEShouldBeUsedForApplication)(void* rulesHandle, int rulesVe typedef bool (*fpANGLEFreeRulesHandle)(void* handle); typedef bool (*fpANGLEFreeSystemInfoHandle)(void* handle); +namespace { +static bool isVndkEnabled() { +#ifdef __BIONIC__ + // TODO(b/290159430) Use ro.vndk.version to check if VNDK is enabled instead + static bool isVndkEnabled = !android::base::GetBoolProperty("ro.vndk.deprecate", false); + return isVndkEnabled; +#endif + return false; +} +} // namespace + namespace android { enum NativeLibrary { @@ -71,6 +82,8 @@ static constexpr const char* kNativeLibrariesSystemConfigPath[] = {"/apex/com.android.vndk.v{}/etc/llndk.libraries.{}.txt", "/apex/com.android.vndk.v{}/etc/vndksp.libraries.{}.txt"}; +static const char* kLlndkLibrariesTxtPath = "/system/etc/llndk.libraries.txt"; + static std::string vndkVersionStr() { #ifdef __BIONIC__ return base::GetProperty("ro.vndk.version", ""); @@ -108,8 +121,14 @@ static bool readConfig(const std::string& configFile, std::vector<std::string>* } static const std::string getSystemNativeLibraries(NativeLibrary type) { - std::string nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type]; - insertVndkVersionStr(&nativeLibrariesSystemConfig); + std::string nativeLibrariesSystemConfig = ""; + + if (!isVndkEnabled() && type == NativeLibrary::LLNDK) { + nativeLibrariesSystemConfig = kLlndkLibrariesTxtPath; + } else { + nativeLibrariesSystemConfig = kNativeLibrariesSystemConfigPath[type]; + insertVndkVersionStr(&nativeLibrariesSystemConfig); + } std::vector<std::string> soNames; if (!readConfig(nativeLibrariesSystemConfig, &soNames)) { |