OLD | NEW |
---|---|
(Empty) | |
1 # Copyright 2015 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 assert(is_chromecast) | |
slan
2015/12/02 15:25:24
I'm surprised you don't need to import //build/con
brettw
2015/12/02 18:43:35
externally set build args are implicitly global (t
| |
6 | |
7 config("static_config") { | |
8 ldflags = [ | |
9 # We want to statically link libstdc++/libgcc. | |
10 "-static-libstdc++", | |
11 "-static-libgcc", | |
12 ] | |
13 } | |
14 | |
15 config("executable_config") { | |
16 ldflags = [ | |
17 # Export stdlibc++ and libgcc symbols to force shlibs to refer to these | |
18 # symbols from the executable. | |
19 "-Wl,--export-dynamic", | |
brettw
2015/12/02 18:43:35
I'd like to understand why this is so different th
bcf
2015/12/02 19:12:27
The main issue is we are forced to use -static-lib
| |
20 | |
21 "-lm", # stdlibc++ requires math.h | |
22 | |
23 # In case we redefined stdlibc++ symbols (e.g. tc_malloc) | |
24 "-Wl,--allow-multiple-definition", | |
25 | |
26 "-Wl,--whole-archive", | |
27 "-l:libstdc++.a", | |
28 "-l:libgcc.a", | |
29 "-Wl,--no-whole-archive", | |
30 ] | |
31 | |
32 # Despite including libstdc++/libgcc archives, we still need to specify | |
33 # static linking for them in order to prevent the executable from having a | |
34 # dynamic dependency on them. | |
35 configs = [ ":static_config" ] | |
36 } | |
37 | |
38 config("shlib_config") { | |
39 configs = [ ":static_config" ] | |
40 } | |
OLD | NEW |