1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
{ "defaults":
{ "type": "export"
, "target": "defaults (unexported)"
, "flexible_config":
["ARCH", "ENV", "HOST_ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG"]
}
, "defaults (unexported)":
{ "type": ["@", "rules", "CC", "defaults"]
, "arguments_config": ["TOOLCHAIN_CONFIG"]
, "CC": ["clang/bin/clang"]
, "CXX": ["clang/bin/clang++"]
, "AR": ["clang/bin/ar"]
, "DWP": ["clang/bin/dwp"]
, "CXXFLAGS":
{ "type": "if"
, "cond":
{ "type": "lookup"
, "key": "USE_LIBCXX"
, "map":
{ "type": "var"
, "name": "TOOLCHAIN_CONFIG"
, "default": {"type": "empty_map"}
}
}
, "then": ["-nostdlib++", "-stdlib=libc++"]
}
, "LDFLAGS":
{ "type": "if"
, "cond":
{ "type": "lookup"
, "key": "STATIC_RUNLIBS"
, "map":
{ "type": "var"
, "name": "TOOLCHAIN_CONFIG"
, "default": {"type": "empty_map"}
}
}
, "then":
{ "type": "++"
, "$1":
[ ["-static-libgcc"]
, { "type": "if"
, "cond":
{ "type": "lookup"
, "key": "USE_LIBCXX"
, "map":
{ "type": "var"
, "name": "TOOLCHAIN_CONFIG"
, "default": {"type": "empty_map"}
}
}
, "then":
[ "-Wl,--push-state"
, "-Wl,-Bstatic"
, "-lc++"
, "-lc++abi"
, "-Wl,--pop-state"
, "-lpthread"
]
, "else": ["-static-libstdc++", "-l:libstdc++.a"]
}
]
}
}
, "deps":
{ "type": "if"
, "cond":
{ "type": "lookup"
, "key": "STATIC_RUNLIBS"
, "map":
{ "type": "var"
, "name": "TOOLCHAIN_CONFIG"
, "default": {"type": "empty_map"}
}
}
, "then": []
, "else":
{ "type": "if"
, "cond":
{ "type": "lookup"
, "key": "USE_LIBCXX"
, "map":
{ "type": "var"
, "name": "TOOLCHAIN_CONFIG"
, "default": {"type": "empty_map"}
}
}
, "then": [["@", "clang", "", "runlibs_libcxx"]]
, "else": [["@", "clang", "", "runlibs"]]
}
}
, "toolchain": ["staged-clang"]
, "PATH": ["/bin", "/usr/bin"]
}
, "staged-clang": {"type": "install", "dirs": [[["", "toolchain"], "clang"]]}
}
|