Merge changes from topics 'ndk-libc++-libdl', 'ndk-compiler-rt_extras'
* changes:
Always link libdl with libc++ for the NDK.
Use libcompiler-rt_extras with NDK builds.
diff --git a/cc/linker.go b/cc/linker.go
index df19de7..4ee38dc 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -108,7 +108,7 @@
deps.ReexportStaticLibHeaders = append(deps.ReexportStaticLibHeaders, linker.Properties.Export_static_lib_headers...)
deps.ReexportSharedLibHeaders = append(deps.ReexportSharedLibHeaders, linker.Properties.Export_shared_lib_headers...)
- if !ctx.sdk() && ctx.ModuleName() != "libcompiler_rt-extras" {
+ if ctx.ModuleName() != "libcompiler_rt-extras" {
deps.LateStaticLibs = append(deps.LateStaticLibs, "libcompiler_rt-extras")
}
diff --git a/cc/stl.go b/cc/stl.go
index a7e362c..874e7ae 100644
--- a/cc/stl.go
+++ b/cc/stl.go
@@ -114,9 +114,15 @@
// The system STL doesn't have a prebuilt (it uses the system's libstdc++), but it does have
// its own includes. The includes are handled in CCBase.Flags().
deps.SharedLibs = append([]string{"libstdc++"}, deps.SharedLibs...)
- case "ndk_libc++_shared", "ndk_libstlport_shared":
+ case "ndk_libc++_shared":
+ deps.SharedLibs = append(deps.SharedLibs, stl.Properties.SelectedStl,
+ "libdl")
+ case "ndk_libc++_static":
+ deps.StaticLibs = append(deps.StaticLibs, stl.Properties.SelectedStl)
+ deps.SharedLibs = append(deps.SharedLibs, "libdl")
+ case "ndk_libstlport_shared":
deps.SharedLibs = append(deps.SharedLibs, stl.Properties.SelectedStl)
- case "ndk_libc++_static", "ndk_libstlport_static", "ndk_libgnustl_static":
+ case "ndk_libstlport_static", "ndk_libgnustl_static":
deps.StaticLibs = append(deps.StaticLibs, stl.Properties.SelectedStl)
default:
panic(fmt.Errorf("Unknown stl: %q", stl.Properties.SelectedStl))