Use soong_cc_prebuilt.mk instead of prebuilt.mk for Soong cc modules
Export Soong cc modules to Make using a new soong_cc_prebuilt.mk that
bypasses all of prebuilt_internal.mk, dynamic_binary.mk and binary.mk.
This also means that stripping is handled in Soong instead of Make.
Relands If9008c50920779048480f5eeeb0084f26006c998 with fixes for
mac builds.
Bug: 113936524
Test: m checkbuild
Change-Id: I9710ff57f0793f36eb889eabd08bd60a365a88dd
diff --git a/cc/stl.go b/cc/stl.go
index 6f63835..5c69948 100644
--- a/cc/stl.go
+++ b/cc/stl.go
@@ -19,18 +19,24 @@
"fmt"
)
-func getNdkStlFamily(ctx android.ModuleContext, m *Module) string {
+func getNdkStlFamily(m *Module) string {
+ family, _ := getNdkStlFamilyAndLinkType(m)
+ return family
+}
+
+func getNdkStlFamilyAndLinkType(m *Module) (string, string) {
stl := m.stl.Properties.SelectedStl
switch stl {
- case "ndk_libc++_shared", "ndk_libc++_static":
- return "libc++"
+ case "ndk_libc++_shared":
+ return "libc++", "shared"
+ case "ndk_libc++_static":
+ return "libc++", "static"
case "ndk_system":
- return "system"
+ return "system", "shared"
case "":
- return "none"
+ return "none", "none"
default:
- ctx.ModuleErrorf("stl: %q is not a valid STL", stl)
- return ""
+ panic(fmt.Errorf("stl: %q is not a valid STL", stl))
}
}