OLD | NEW |
1 # Copyright (c) 2014 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2014 The Native Client Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//native_client/build/config/sysroot.gni") | 5 import("//native_client/build/config/sysroot.gni") |
6 import("//native_client/build/toolchain/nacl_toolchain.gni") | 6 import("//native_client/build/toolchain/nacl_toolchain.gni") |
7 | 7 |
8 declare_args() { | 8 declare_args() { |
9 nacl_toolchain_dir = rebase_path("//native_client/toolchain", root_build_dir) | 9 nacl_toolchain_dir = rebase_path("//native_client/toolchain", root_build_dir) |
10 } | 10 } |
(...skipping 18 matching lines...) Expand all Loading... |
29 nacl_arm_newlib_rev = revisions[0] | 29 nacl_arm_newlib_rev = revisions[0] |
30 nacl_x86_newlib_rev = revisions[1] | 30 nacl_x86_newlib_rev = revisions[1] |
31 nacl_x86_glibc_rev = revisions[2] | 31 nacl_x86_glibc_rev = revisions[2] |
32 pnacl_newlib_rev = revisions[3] | 32 pnacl_newlib_rev = revisions[3] |
33 | 33 |
34 nacl_toolchain("newlib_arm") { | 34 nacl_toolchain("newlib_arm") { |
35 toolchain_package = "nacl_arm_newlib" | 35 toolchain_package = "nacl_arm_newlib" |
36 toolchain_revision = nacl_arm_newlib_rev | 36 toolchain_revision = nacl_arm_newlib_rev |
37 toolchain_cpu = "arm" | 37 toolchain_cpu = "arm" |
38 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/arm-nacl-" | 38 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/arm-nacl-" |
| 39 is_clang = false |
39 | 40 |
40 cc = toolprefix + "gcc" | 41 cc = toolprefix + "gcc" |
41 cxx = toolprefix + "g++" | 42 cxx = toolprefix + "g++" |
42 ar = toolprefix + "ar" | 43 ar = toolprefix + "ar" |
43 ld = cxx | 44 ld = cxx |
44 } | 45 } |
45 | 46 |
46 nacl_toolchain("newlib_x86") { | 47 nacl_toolchain("newlib_x86") { |
47 toolchain_package = "nacl_x86_newlib" | 48 toolchain_package = "nacl_x86_newlib" |
48 toolchain_revision = nacl_x86_newlib_rev | 49 toolchain_revision = nacl_x86_newlib_rev |
49 toolchain_cpu = "x86" | 50 toolchain_cpu = "x86" |
50 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/i686-nacl-" | 51 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/i686-nacl-" |
| 52 is_clang = false |
51 | 53 |
52 cc = toolprefix + "gcc" | 54 cc = toolprefix + "gcc" |
53 cxx = toolprefix + "g++" | 55 cxx = toolprefix + "g++" |
54 ar = toolprefix + "ar" | 56 ar = toolprefix + "ar" |
55 ld = cxx | 57 ld = cxx |
56 } | 58 } |
57 | 59 |
58 nacl_toolchain("newlib_x64") { | 60 nacl_toolchain("newlib_x64") { |
59 toolchain_package = "nacl_x86_newlib" | 61 toolchain_package = "nacl_x86_newlib" |
60 toolchain_revision = nacl_x86_newlib_rev | 62 toolchain_revision = nacl_x86_newlib_rev |
61 toolchain_cpu = "x64" | 63 toolchain_cpu = "x64" |
62 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/x86_64-nacl-" | 64 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/x86_64-nacl-" |
| 65 is_clang = false |
63 | 66 |
64 cc = toolprefix + "gcc" | 67 cc = toolprefix + "gcc" |
65 cxx = toolprefix + "g++" | 68 cxx = toolprefix + "g++" |
66 ar = toolprefix + "ar" | 69 ar = toolprefix + "ar" |
67 ld = cxx | 70 ld = cxx |
68 } | 71 } |
69 | 72 |
70 nacl_toolchain("newlib_pnacl") { | 73 nacl_toolchain("newlib_pnacl") { |
71 toolchain_package = "pnacl_newlib" | 74 toolchain_package = "pnacl_newlib" |
72 toolchain_revision = pnacl_newlib_rev | 75 toolchain_revision = pnacl_newlib_rev |
73 toolchain_cpu = "pnacl" | 76 toolchain_cpu = "pnacl" |
74 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/pnacl-" | 77 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/pnacl-" |
| 78 is_clang = true |
75 | 79 |
76 cc = toolprefix + "clang" | 80 cc = toolprefix + "clang" |
77 cxx = toolprefix + "clang++" | 81 cxx = toolprefix + "clang++" |
78 ar = toolprefix + "ar" | 82 ar = toolprefix + "ar" |
79 ld = cxx | 83 ld = cxx |
80 executable_extension = ".pexe.debug" | 84 executable_extension = ".pexe.debug" |
81 | 85 |
82 finalize = toolprefix + "finalize" | 86 finalize = toolprefix + "finalize" |
83 nonfinal_file = | 87 nonfinal_file = |
84 "{{root_out_dir}}/{{target_output_name}}${executable_extension}" | 88 "{{root_out_dir}}/{{target_output_name}}${executable_extension}" |
85 finalized_file = "{{root_out_dir}}/{{target_output_name}}.pexe" | 89 finalized_file = "{{root_out_dir}}/{{target_output_name}}.pexe" |
86 postlink = "$finalize $nonfinal_file -o $finalized_file" | 90 postlink = "$finalize $nonfinal_file -o $finalized_file" |
87 link_outputs = [ finalized_file ] | 91 link_outputs = [ finalized_file ] |
88 } | 92 } |
89 | 93 |
90 nacl_toolchain("glibc_x86") { | 94 nacl_toolchain("glibc_x86") { |
91 toolchain_package = "nacl_x86_glibc" | 95 toolchain_package = "nacl_x86_glibc" |
92 toolchain_revision = nacl_x86_glibc_rev | 96 toolchain_revision = nacl_x86_glibc_rev |
93 toolchain_cpu = "x86" | 97 toolchain_cpu = "x86" |
94 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/i686-nacl-" | 98 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/i686-nacl-" |
| 99 is_clang = false |
95 | 100 |
96 cc = toolprefix + "gcc" | 101 cc = toolprefix + "gcc" |
97 cxx = toolprefix + "g++" | 102 cxx = toolprefix + "g++" |
98 ar = toolprefix + "ar" | 103 ar = toolprefix + "ar" |
99 ld = cxx | 104 ld = cxx |
100 } | 105 } |
101 | 106 |
102 nacl_toolchain("glibc_x64") { | 107 nacl_toolchain("glibc_x64") { |
103 toolchain_package = "nacl_x86_glibc" | 108 toolchain_package = "nacl_x86_glibc" |
104 toolchain_revision = nacl_x86_glibc_rev | 109 toolchain_revision = nacl_x86_glibc_rev |
105 toolchain_cpu = "x64" | 110 toolchain_cpu = "x64" |
106 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/x86_64-nacl-" | 111 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/x86_64-nacl-" |
| 112 is_clang = false |
107 | 113 |
108 cc = toolprefix + "gcc" | 114 cc = toolprefix + "gcc" |
109 cxx = toolprefix + "g++" | 115 cxx = toolprefix + "g++" |
110 ar = toolprefix + "ar" | 116 ar = toolprefix + "ar" |
111 ld = cxx | 117 ld = cxx |
112 } | 118 } |
113 | 119 |
114 nacl_toolchain("clang_newlib_x86") { | 120 nacl_toolchain("clang_newlib_x86") { |
115 toolchain_package = "pnacl_newlib" | 121 toolchain_package = "pnacl_newlib" |
116 toolchain_revision = pnacl_newlib_rev | 122 toolchain_revision = pnacl_newlib_rev |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)", | 188 "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)", |
183 ] | 189 ] |
184 } | 190 } |
185 | 191 |
186 # Uses newlib to match the Chrome build. | 192 # Uses newlib to match the Chrome build. |
187 nacl_toolchain("irt_arm") { | 193 nacl_toolchain("irt_arm") { |
188 toolchain_package = "nacl_arm_newlib" | 194 toolchain_package = "nacl_arm_newlib" |
189 toolchain_revision = nacl_arm_newlib_rev | 195 toolchain_revision = nacl_arm_newlib_rev |
190 toolchain_cpu = "arm" | 196 toolchain_cpu = "arm" |
191 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/arm-nacl-" | 197 toolprefix = "${os_toolchain_dir}/${toolchain_package}/bin/arm-nacl-" |
| 198 is_clang = false |
192 | 199 |
193 cc = toolprefix + "gcc" | 200 cc = toolprefix + "gcc" |
194 cxx = toolprefix + "g++" | 201 cxx = toolprefix + "g++" |
195 ar = toolprefix + "ar" | 202 ar = toolprefix + "ar" |
196 readelf = toolprefix + "readelf" | 203 readelf = toolprefix + "readelf" |
197 | 204 |
198 # Some IRT implementations (notably, Chromium's) contain C++ code, | 205 # Some IRT implementations (notably, Chromium's) contain C++ code, |
199 # so we need to link w/ the C++ linker. | 206 # so we need to link w/ the C++ linker. |
200 ld = "${python_path} ${link_irt} --tls-edit=tls_edit --link-cmd=${cxx} --reade
lf-cmd=${readelf}" | 207 ld = "${python_path} ${link_irt} --tls-edit=tls_edit --link-cmd=${cxx} --reade
lf-cmd=${readelf}" |
201 | 208 |
202 # TODO(ncbray): depend on link script | 209 # TODO(ncbray): depend on link script |
203 deps = [ | 210 deps = [ |
204 "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)", | 211 "//native_client/src/tools/tls_edit:tls_edit($host_toolchain)", |
205 ] | 212 ] |
206 } | 213 } |
OLD | NEW |