OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium 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 # TODO(brettw) Use "gcc_toolchain.gni" like the Linux toolchains. This requires | 5 # TODO(brettw) Use "gcc_toolchain.gni" like the Linux toolchains. This requires |
6 # some enhancements since the commands on Mac are slightly different than on | 6 # some enhancements since the commands on Mac are slightly different than on |
7 # Linux. | 7 # Linux. |
8 | 8 |
9 import("../goma.gni") | 9 import("../goma.gni") |
| 10 import("//build/config/ios/ios_sdk.gni") |
10 | 11 |
11 assert(host_os == "mac") | 12 assert(host_os == "mac") |
12 | 13 |
13 import("//build/toolchain/clang.gni") | 14 import("//build/toolchain/clang.gni") |
14 import("//build/toolchain/goma.gni") | 15 import("//build/toolchain/goma.gni") |
15 | 16 |
16 if (use_goma) { | 17 if (use_goma) { |
17 goma_prefix = "$goma_dir/gomacc " | 18 goma_prefix = "$goma_dir/gomacc " |
18 } else { | 19 } else { |
19 goma_prefix = "" | 20 goma_prefix = "" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 command = "$cc -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {
{cflags_c}} -c {{source}} -o {{output}}" | 75 command = "$cc -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {
{cflags_c}} -c {{source}} -o {{output}}" |
75 depsformat = "gcc" | 76 depsformat = "gcc" |
76 description = "ASM {{output}}" | 77 description = "ASM {{output}}" |
77 outputs = [ | 78 outputs = [ |
78 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", | 79 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", |
79 ] | 80 ] |
80 } | 81 } |
81 | 82 |
82 tool("objc") { | 83 tool("objc") { |
83 depfile = "{{output}}.d" | 84 depfile = "{{output}}.d" |
84 command = "$cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}}
{{cflags_objc}} -c {{source}} -o {{output}}" | 85 command = "$cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}}
{{cflags_c}} {{cflags_objc}} -c {{source}} -o {{output}}" |
85 depsformat = "gcc" | 86 depsformat = "gcc" |
86 description = "OBJC {{output}}" | 87 description = "OBJC {{output}}" |
87 outputs = [ | 88 outputs = [ |
88 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", | 89 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", |
89 ] | 90 ] |
90 } | 91 } |
91 | 92 |
92 tool("objcxx") { | 93 tool("objcxx") { |
93 depfile = "{{output}}.d" | 94 depfile = "{{output}}.d" |
94 command = "$cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}}
{{cflags_objcc}} -c {{source}} -o {{output}}" | 95 command = "$cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}}
{{cflags_cc}} {{cflags_objcc}} -c {{source}} -o {{output}}" |
95 depsformat = "gcc" | 96 depsformat = "gcc" |
96 description = "OBJCXX {{output}}" | 97 description = "OBJCXX {{output}}" |
97 outputs = [ | 98 outputs = [ |
98 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", | 99 "{{target_out_dir}}/{{target_output_name}}/{{source_name_part}}.o", |
99 ] | 100 ] |
100 } | 101 } |
101 | 102 |
102 tool("alink") { | 103 tool("alink") { |
103 command = "rm -f {{output}} && ./gyp-mac-tool filter-libtool libtool -stat
ic -o {{output}} {{inputs}}" | 104 command = "rm -f {{output}} && ./gyp-mac-tool filter-libtool libtool -stat
ic -o {{output}} {{inputs}}" |
104 description = "LIBTOOL-STATIC {{output}}" | 105 description = "LIBTOOL-STATIC {{output}}" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 toolchain_cpu = "arm" | 198 toolchain_cpu = "arm" |
198 toolchain_os = "mac" | 199 toolchain_os = "mac" |
199 prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin", | 200 prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin", |
200 root_build_dir) | 201 root_build_dir) |
201 cc = "${goma_prefix}$prefix/clang" | 202 cc = "${goma_prefix}$prefix/clang" |
202 cxx = "${goma_prefix}$prefix/clang++" | 203 cxx = "${goma_prefix}$prefix/clang++" |
203 ld = cxx | 204 ld = cxx |
204 is_clang = true | 205 is_clang = true |
205 } | 206 } |
206 | 207 |
| 208 mac_toolchain("ios_clang_arm") { |
| 209 # TODO(GYP): Do we need ios_clang_armv7 and ios_clang_arm64 ? |
| 210 toolchain_cpu = "arm" |
| 211 toolchain_os = "mac" |
| 212 |
| 213 # TODO(GYP): We need to support being able to use the version of clang |
| 214 # shipped w/ XCode instead of the one pulled from upstream. |
| 215 prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin", |
| 216 root_build_dir) |
| 217 cc = "${goma_prefix}$prefix/clang" |
| 218 cxx = "${goma_prefix}$prefix/clang++" |
| 219 ld = cxx |
| 220 is_clang = true |
| 221 } |
| 222 |
207 mac_toolchain("arm") { | 223 mac_toolchain("arm") { |
208 toolchain_cpu = "arm" | 224 toolchain_cpu = "arm" |
209 toolchain_os = "mac" | 225 toolchain_os = "mac" |
210 cc = "${goma_prefix}/gcc" | 226 cc = "${goma_prefix}/gcc" |
211 cxx = "${goma_prefix}/g++" | 227 cxx = "${goma_prefix}/g++" |
212 ld = cxx | 228 ld = cxx |
213 is_clang = false | 229 is_clang = false |
214 } | 230 } |
215 | 231 |
216 mac_toolchain("clang_x64") { | 232 mac_toolchain("clang_x64") { |
217 toolchain_cpu = "x64" | 233 toolchain_cpu = "x64" |
218 toolchain_os = "mac" | 234 toolchain_os = "mac" |
219 prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin", | 235 prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin", |
220 root_build_dir) | 236 root_build_dir) |
221 cc = "${goma_prefix}$prefix/clang" | 237 cc = "${goma_prefix}$prefix/clang" |
222 cxx = "${goma_prefix}$prefix/clang++" | 238 cxx = "${goma_prefix}$prefix/clang++" |
223 ld = cxx | 239 ld = cxx |
224 is_clang = true | 240 is_clang = true |
225 } | 241 } |
226 | 242 |
227 mac_toolchain("x64") { | 243 mac_toolchain("x64") { |
228 toolchain_cpu = "x64" | 244 toolchain_cpu = "x64" |
229 toolchain_os = "mac" | 245 toolchain_os = "mac" |
230 cc = "${goma_prefix}/gcc" | 246 cc = "${goma_prefix}/gcc" |
231 cxx = "${goma_prefix}/g++" | 247 cxx = "${goma_prefix}/g++" |
232 ld = cxx | 248 ld = cxx |
233 is_clang = false | 249 is_clang = false |
234 } | 250 } |
OLD | NEW |