Minor cc_cmake_snapshot touch-ups
- Partial support for arm64 hosts (no prebuilts yet)
- Replace incorrect template function use MATCHES with STREQUAL
- Add more ignored system libs
- No need to explicitly add libc++ prebuilt
Bug: 285204695
Test: m binder_sdk
Change-Id: Id6508cc9f9ee6328c95c2821c325629f84eda138
diff --git a/cc/cmake_ext_add_aidl_library.txt b/cc/cmake_ext_add_aidl_library.txt
index af5bdf6..aa3235e3 100644
--- a/cc/cmake_ext_add_aidl_library.txt
+++ b/cc/cmake_ext_add_aidl_library.txt
@@ -25,7 +25,7 @@
endif()
set(DEPFILE_ARG)
- if (NOT ${CMAKE_GENERATOR} MATCHES "Unix Makefiles")
+ if (NOT ${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
set(DEPFILE_ARG DEPFILE "${GEN_SOURCE}.d")
endif()
@@ -57,7 +57,7 @@
"${GEN_DIR}/include"
)
- if (${LANG} MATCHES "ndk")
+ if (${LANG} STREQUAL "ndk")
set(BINDER_LIB_NAME "libbinder_ndk_sdk")
else()
set(BINDER_LIB_NAME "libbinder_sdk")
diff --git a/cc/cmake_main.txt b/cc/cmake_main.txt
index e9177d6..f6e21a6 100644
--- a/cc/cmake_main.txt
+++ b/cc/cmake_main.txt
@@ -11,7 +11,11 @@
set(ANDROID_BUILD_TOP "${CMAKE_CURRENT_SOURCE_DIR}")
endif()
-set(PREBUILTS_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/prebuilts/host/linux-x86/bin")
+if ("${CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "^(arm|aarch)")
+ set(PREBUILTS_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/prebuilts/host/linux_musl-arm64/bin")
+else()
+ set(PREBUILTS_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/prebuilts/host/linux-x86/bin")
+endif()
if (NOT AIDL_BIN)
find_program(AIDL_BIN aidl REQUIRED HINTS "${PREBUILTS_BIN_DIR}")
endif()
diff --git a/cc/cmake_snapshot.go b/cc/cmake_snapshot.go
index ad7beed..18c0180 100644
--- a/cc/cmake_snapshot.go
+++ b/cc/cmake_snapshot.go
@@ -61,8 +61,13 @@
}
var ignoredSystemLibs []string = []string{
+ "crtbegin_dynamic",
+ "crtend_android",
+ "libc",
"libc++",
"libc++_static",
+ "libdl",
+ "libm",
"prebuilt_libclang_rt.builtins",
"prebuilt_libclang_rt.ubsan_minimal",
}
@@ -267,7 +272,11 @@
{"arch", "x86_64"},
}
ctx.AddVariationDependencies(variations, cmakeSnapshotModuleTag, m.Properties.Modules...)
- ctx.AddVariationDependencies(variations, cmakeSnapshotPrebuiltTag, m.Properties.Prebuilts...)
+
+ if len(m.Properties.Prebuilts) > 0 {
+ prebuilts := append(m.Properties.Prebuilts, "libc++")
+ ctx.AddVariationDependencies(variations, cmakeSnapshotPrebuiltTag, prebuilts...)
+ }
}
func (m *CmakeSnapshot) GenerateAndroidBuildActions(ctx android.ModuleContext) {