OLD | NEW |
(Empty) | |
| 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 |
| 3 # found in the LICENSE file. |
| 4 |
| 5 toolchain("x86_newlib") { |
| 6 toolprefix = "gen/sdk/toolchain/linux_x86_newlib/bin/x86_64-nacl-" |
| 7 cc = toolprefix + "gcc" |
| 8 cxx = toolprefix + "g++" |
| 9 ld = toolprefix + "g++" |
| 10 |
| 11 tool("cc") { |
| 12 command = "$cc -MMD -MF \$out.d \$defines \$includes \$cflags \$cflags_c -c
\$in -o \$out" |
| 13 description = "CC(NaCl x86 Newlib) \$out" |
| 14 depfile = "\$out.d" |
| 15 depsformat = "gcc" |
| 16 } |
| 17 tool("cxx") { |
| 18 # cflags_pch_cc |
| 19 command = "$cxx -MMD -MF \$out.d \$defines \$includes \$cflags \$cflags_cc -
c \$in -o \$out" |
| 20 description = "CXX(NaCl x86 Newlib) \$out" |
| 21 depfile = "\$out.d" |
| 22 depsformat = "gcc" |
| 23 } |
| 24 tool("alink") { |
| 25 command = "rm -f \$out && ${toolprefix}ar rcs \$out \$in" |
| 26 description = "AR(NaCl x86 Newlib) \$out" |
| 27 } |
| 28 tool("solink") { |
| 29 command = "if [ ! -e \$lib -o ! -e \${lib}.TOC ]; then $ld -shared \$ldflags
-o \$lib -Wl,-soname=\$soname -Wl,--whole-archive \$in \$solibs -Wl,--no-whole-
archive \$libs && { readelf -d \${lib} | grep SONAME ; nm -gD -f p \${lib} | cut
-f1-2 -d' '; } > \${lib}.TOC; else $ld -shared \$ldflags -o \$lib -Wl,-soname=\
$soname -Wl,--whole-archive \$in \$solibs -Wl,--no-whole-archive \$libs && { rea
delf -d \${lib} | grep SONAME ; nm -gD -f p \${lib} | cut -f1-2 -d' '; } > \${li
b}.tmp && if ! cmp -s \${lib}.tmp \${lib}.TOC; then mv \${lib}.tmp \${lib}.TOC ;
fi; fi" |
| 30 description = "SOLINK(NaCl x86 Newlib) \$lib" |
| 31 |
| 32 #pool = "link_pool" |
| 33 restat = "1" |
| 34 } |
| 35 tool("link") { |
| 36 command = "$ld \$ldflags -o \$out -Wl,--start-group \$in \$solibs -Wl,--end-
group \$libs" |
| 37 description = "LINK(NaCl x86 Newlib) \$out" |
| 38 |
| 39 #pool = "link_pool" |
| 40 } |
| 41 |
| 42 if (is_win) { |
| 43 tool("stamp") { |
| 44 command = "$python_path gyp-win-tool stamp \$out" |
| 45 description = "STAMP \$out" |
| 46 } |
| 47 } else { |
| 48 tool("stamp") { |
| 49 command = "touch \$out" |
| 50 description = "STAMP \$out" |
| 51 } |
| 52 } |
| 53 |
| 54 toolchain_args() { |
| 55 # Override the default OS detection. The build config will set the is_* |
| 56 # flags accordingly. |
| 57 current_os = "nacl" |
| 58 |
| 59 # Component build not supported in NaCl, since it does not support shared |
| 60 # libraries. |
| 61 is_component_build = false |
| 62 } |
| 63 } |
OLD | NEW |