Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1768)

Unified Diff: build/config/android/BUILD.gn

Issue 1475943003: gn: add support for clang for MIPS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | build/config/compiler/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/config/android/BUILD.gn
diff --git a/build/config/android/BUILD.gn b/build/config/android/BUILD.gn
index e6270c31364481b346b7b4a8cdbec90b5ddc6b48..570417b080bde70c27ce08ccb17efaef8cc3b5ad 100644
--- a/build/config/android/BUILD.gn
+++ b/build/config/android/BUILD.gn
@@ -33,7 +33,7 @@ config("compiler") {
if (is_clang) {
rebased_android_toolchain_root =
rebase_path(android_toolchain_root, root_build_dir)
- if (current_cpu == "arm") {
+ if (current_cpu == "arm" || current_cpu == "mipsel") {
cflags += [
# TODO(hans) Enable integrated-as (crbug.com/124610).
"-no-integrated-as",
@@ -57,6 +57,11 @@ config("compiler") {
}
}
+ if (current_cpu == "mipsel" && is_clang) {
+ # Let clang find the ld.bfd in the NDK.
+ ldflags += [ "--gcc-toolchain=$rebased_android_toolchain_root" ]
+ }
+
ldflags += [
"-Wl,--no-undefined",
@@ -91,8 +96,7 @@ config("compiler") {
# TODO: Enable clang support for Android x64. http://crbug.com/539781
abi_target = "x86_64-linux-androideabi"
} else if (current_cpu == "mipsel") {
- # Place holder for mips support, not tested.
- abi_target = "mipsel-linux-androideabi"
+ abi_target = "mipsel-linux-android"
} else if (current_cpu == "mips64el") {
# Place holder for mips64 support, not tested.
abi_target = "mips64el-linux-androideabi"
@@ -146,6 +150,24 @@ config("runtime_library") {
} else {
libs = [ "c++_static" ]
}
+
+ # libgcc must come before libdl for ld.bfd (MIPS)
+ if (current_cpu == "mipsel") {
+ libs += [
+ # ld linker is used for mips Android, and ld does not accept library
+ # absolute path prefixed by "-l"; Since libgcc does not exist in mips
+ # sysroot the proper library will be linked.
+ # TODO(gordanac): Remove once gold linker is used for mips Android.
+ "gcc",
+ ]
+ } else {
+ libs += [
+ # Manually link the libgcc.a that the cross compiler uses. This is
+ # absolute because the linker will look inside the sysroot if it's not.
+ rebase_path(android_libgcc_file),
+ ]
+ }
+
libs += [
"c",
"dl",
@@ -166,22 +188,6 @@ config("runtime_library") {
ldflags += [ "-Wl,--warn-shared-textrel" ]
}
- if (current_cpu == "mipsel") {
- libs += [
- # ld linker is used for mips Android, and ld does not accept library
- # absolute path prefixed by "-l"; Since libgcc does not exist in mips
- # sysroot the proper library will be linked.
- # TODO(gordanac): Remove once gold linker is used for mips Android.
- "gcc",
- ]
- } else {
- libs += [
- # Manually link the libgcc.a that the cross compiler uses. This is
- # absolute because the linker will look inside the sysroot if it's not.
- rebase_path(android_libgcc_file),
- ]
- }
-
# Clang with libc++ does not require an explicit atomic library reference.
if (!is_clang) {
libs += [ "atomic" ]
« no previous file with comments | « no previous file | build/config/compiler/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698