Use ART_TARGET_ANDROID instead of __ANDROID__

On golem, we build for ART_TARGET_LINUX, which doesn't have support for
linkerconfig. Therefore, guard all linker namespace code on
ART_TARGET_ANDROID instead of __ANDROID__ (which is unfortunately not
under ART's control).

Test: build for golem and run
Bug: 154074847
Change-Id: I7a2b81918177704b42d8aafbd6d7e9d06d34e5f4
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index 6092c00..d42a4b5 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -13,6 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+#if defined(ART_TARGET_ANDROID)
+
 #include "library_namespaces.h"
 
 #include <dirent.h>
@@ -392,3 +395,5 @@
 }
 
 }  // namespace android::nativeloader
+
+#endif  // defined(ART_TARGET_ANDROID)
diff --git a/libnativeloader/library_namespaces.h b/libnativeloader/library_namespaces.h
index e6d1a87..c41f2e4 100644
--- a/libnativeloader/library_namespaces.h
+++ b/libnativeloader/library_namespaces.h
@@ -17,8 +17,8 @@
 #ifndef ART_LIBNATIVELOADER_LIBRARY_NAMESPACES_H_
 #define ART_LIBNATIVELOADER_LIBRARY_NAMESPACES_H_
 
-#if !defined(__ANDROID__)
-#error "Not available for host"
+#if !defined(ART_TARGET_ANDROID)
+#error "Not available for host or linux target"
 #endif
 
 #define LOG_TAG "nativeloader"
diff --git a/libnativeloader/native_loader.cpp b/libnativeloader/native_loader.cpp
index 2a28a05..b187474 100644
--- a/libnativeloader/native_loader.cpp
+++ b/libnativeloader/native_loader.cpp
@@ -33,7 +33,7 @@
 #include <nativebridge/native_bridge.h>
 #include <nativehelper/scoped_utf_chars.h>
 
-#ifdef __ANDROID__
+#ifdef ART_TARGET_ANDROID
 #include <log/log.h>
 #include "library_namespaces.h"
 #include "nativeloader/dlext_namespaces.h"
@@ -42,7 +42,7 @@
 namespace android {
 
 namespace {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
 using android::nativeloader::LibraryNamespaces;
 
 std::mutex g_namespaces_mutex;
@@ -58,18 +58,18 @@
   }
   return nullptr;
 }
-#endif  // #if defined(__ANDROID__)
+#endif  // #if defined(ART_TARGET_ANDROID)
 }  // namespace
 
 void InitializeNativeLoader() {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   std::lock_guard<std::mutex> guard(g_namespaces_mutex);
   g_namespaces->Initialize();
 #endif
 }
 
 void ResetNativeLoader() {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   std::lock_guard<std::mutex> guard(g_namespaces_mutex);
   g_namespaces->Reset();
 #endif
@@ -78,7 +78,7 @@
 jstring CreateClassLoaderNamespace(JNIEnv* env, int32_t target_sdk_version, jobject class_loader,
                                    bool is_shared, jstring dex_path, jstring library_path,
                                    jstring permitted_path) {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   std::lock_guard<std::mutex> guard(g_namespaces_mutex);
   auto ns = g_namespaces->Create(env, target_sdk_version, class_loader, is_shared, dex_path,
                                  library_path, permitted_path);
@@ -94,7 +94,7 @@
 void* OpenNativeLibrary(JNIEnv* env, int32_t target_sdk_version, const char* path,
                         jobject class_loader, const char* caller_location, jstring library_path,
                         bool* needs_native_bridge, char** error_msg) {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   UNUSED(target_sdk_version);
   if (class_loader == nullptr) {
     *needs_native_bridge = false;
@@ -208,7 +208,7 @@
   free(msg);
 }
 
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
 void* OpenNativeLibraryInNamespace(NativeLoaderNamespace* ns, const char* path,
                                    bool* needs_native_bridge, char** error_msg) {
   auto handle = ns->Load(path);
diff --git a/libnativeloader/native_loader_namespace.cpp b/libnativeloader/native_loader_namespace.cpp
index 49f3035..79a9791 100644
--- a/libnativeloader/native_loader_namespace.cpp
+++ b/libnativeloader/native_loader_namespace.cpp
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#if defined(ART_TARGET_ANDROID)
+
 #define LOG_TAG "nativeloader"
 
 #include "native_loader_namespace.h"
@@ -175,3 +177,5 @@
 }
 
 }  // namespace android
+
+#endif  // defined(ART_TARGET_ANDROID)
diff --git a/libnativeloader/native_loader_namespace.h b/libnativeloader/native_loader_namespace.h
index ee84f61..a295d18 100644
--- a/libnativeloader/native_loader_namespace.h
+++ b/libnativeloader/native_loader_namespace.h
@@ -17,7 +17,7 @@
 #ifndef ART_LIBNATIVELOADER_NATIVE_LOADER_NAMESPACE_H_
 #define ART_LIBNATIVELOADER_NATIVE_LOADER_NAMESPACE_H_
 
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
 
 #include <string>
 #include <variant>
@@ -73,6 +73,6 @@
 };
 
 }  // namespace android
-#endif  // #if defined(__ANDROID__)
+#endif  // #if defined(ART_TARGET_ANDROID)
 
 #endif  // ART_LIBNATIVELOADER_NATIVE_LOADER_NAMESPACE_H_
diff --git a/libnativeloader/native_loader_test.cpp b/libnativeloader/native_loader_test.cpp
index 3f2505c..66d7531 100644
--- a/libnativeloader/native_loader_test.cpp
+++ b/libnativeloader/native_loader_test.cpp
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#if defined(ART_TARGET_ANDROID)
+
 #include <dlfcn.h>
 #include <memory>
 #include <unordered_map>
@@ -700,3 +702,5 @@
 
 }  // namespace nativeloader
 }  // namespace android
+
+#endif  // defined(ART_TARGET_ANDROID)
diff --git a/libnativeloader/public_libraries.cpp b/libnativeloader/public_libraries.cpp
index 258dbf6..4b56dc2 100644
--- a/libnativeloader/public_libraries.cpp
+++ b/libnativeloader/public_libraries.cpp
@@ -31,7 +31,7 @@
 #include <android-base/strings.h>
 #include <log/log.h>
 
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
 #include <android/sysprop/VndkProperties.sysprop.h>
 #endif
 
@@ -394,7 +394,7 @@
 }
 
 bool is_product_vndk_version_defined() {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   return android::sysprop::VndkProperties::product_vndk_version().has_value();
 #else
   return false;
@@ -402,7 +402,7 @@
 }
 
 std::string get_vndk_version(bool is_product_vndk) {
-#if defined(__ANDROID__)
+#if defined(ART_TARGET_ANDROID)
   if (is_product_vndk) {
     return android::sysprop::VndkProperties::product_vndk_version().value_or("");
   }