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

Unified Diff: build/toolchain/nacl/BUILD.gn

Issue 1341143002: Refactor NaCl IRT toolchains, use arm-nacl-clang (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months 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 | « build/config/compiler/BUILD.gn ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/toolchain/nacl/BUILD.gn
diff --git a/build/toolchain/nacl/BUILD.gn b/build/toolchain/nacl/BUILD.gn
index 5bda55280fff87351c51ae922dc50a88babe5bea..c3dcaf17c9e363dde3092257a62b72c8c544dde3 100644
--- a/build/toolchain/nacl/BUILD.gn
+++ b/build/toolchain/nacl/BUILD.gn
@@ -139,77 +139,50 @@ nacl_toolchain("clang_newlib_x64") {
ld = cxx
}
-link_irt = rebase_path("//native_client/build/link_irt.py", root_build_dir)
+template("nacl_irt_toolchain") {
+ toolchain_cpu = target_name
+ assert(defined(invoker.toolchain_tuple), "Must define toolchain_tuple")
-nacl_toolchain("irt_x86") {
toolchain_package = "pnacl_newlib"
toolchain_revision = pnacl_newlib_rev
- toolchain_cpu = "x86"
- toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/i686-nacl-"
- is_clang = true
+ toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/" +
+ invoker.toolchain_tuple + "-"
- cc = toolprefix + "clang"
- cxx = toolprefix + "clang++"
- ar = toolprefix + "ar"
- readelf = toolprefix + "readelf"
+ link_irt = rebase_path("//native_client/build/link_irt.py", root_build_dir)
tls_edit_label =
"//native_client/src/tools/tls_edit:tls_edit($host_toolchain)"
host_toolchain_out_dir =
rebase_path(get_label_info(tls_edit_label, "root_out_dir"),
root_build_dir)
-
- # Some IRT implementations (notably, Chromium's) contain C++ code,
- # so we need to link w/ the C++ linker.
- ld = "${python_path} ${link_irt} --tls-edit=${host_toolchain_out_dir}/tls_edit --link-cmd=${cxx} --readelf-cmd=${readelf}"
-
- # TODO(ncbray): depend on link script
- deps = [
- tls_edit_label,
- ]
+ tls_edit = "${host_toolchain_out_dir}/tls_edit"
+
+ nacl_toolchain("irt_" + toolchain_cpu) {
+ is_clang = true
+ cc = toolprefix + "clang"
+ cxx = toolprefix + "clang++"
+ ar = toolprefix + "ar"
+ readelf = toolprefix + "readelf"
+
+ # Some IRT implementations (notably, Chromium's) contain C++ code,
+ # so we need to link w/ the C++ linker.
+ ld = "${python_path} ${link_irt} --tls-edit=${tls_edit} --link-cmd=${cxx} --readelf-cmd=${readelf}"
+
+ # TODO(ncbray): depend on link script
+ deps = [
+ tls_edit_label,
+ ]
+ }
}
-nacl_toolchain("irt_x64") {
- toolchain_package = "pnacl_newlib"
- toolchain_revision = pnacl_newlib_rev
- toolchain_cpu = "x64"
- toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/x86_64-nacl-"
- is_clang = true
-
- cc = toolprefix + "clang"
- cxx = toolprefix + "clang++"
- ar = toolprefix + "ar"
- readelf = toolprefix + "readelf"
-
- # Some IRT implementations (notably, Chromium's) contain C++ code,
- # so we need to link w/ the C++ linker.
- ld = "${python_path} ${link_irt} --tls-edit=tls_edit --link-cmd=${cxx} --readelf-cmd=${readelf}"
-
- # TODO(ncbray): depend on link script
- deps = [
- "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)",
- ]
+nacl_irt_toolchain("x86") {
+ toolchain_tuple = "i686-nacl"
}
-# Uses newlib to match the Chrome build.
-nacl_toolchain("irt_arm") {
- toolchain_package = "nacl_arm_newlib"
- toolchain_revision = nacl_arm_newlib_rev
- toolchain_cpu = "arm"
- toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/arm-nacl-"
- is_clang = false
-
- cc = toolprefix + "gcc"
- cxx = toolprefix + "g++"
- ar = toolprefix + "ar"
- readelf = toolprefix + "readelf"
-
- # Some IRT implementations (notably, Chromium's) contain C++ code,
- # so we need to link w/ the C++ linker.
- ld = "${python_path} ${link_irt} --tls-edit=tls_edit --link-cmd=${cxx} --readelf-cmd=${readelf}"
+nacl_irt_toolchain("x64") {
+ toolchain_tuple = "x86_64-nacl"
+}
- # TODO(ncbray): depend on link script
- deps = [
- "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)",
- ]
+nacl_irt_toolchain("arm") {
+ toolchain_tuple = "arm-nacl"
}
« no previous file with comments | « build/config/compiler/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698