OLD | NEW |
---|---|
(Empty) | |
1 # Copyright 2016 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 config("libcxx_config") { | |
6 cflags = [ | |
7 # Flags from upstream CMake build | |
8 "-D_DEBUG", | |
9 "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER", | |
10 "-D__STDC_CONSTANT_MACROS", | |
11 "-D__STDC_FORMAT_MACROS", | |
12 "-D__STDC_LIMIT_MACROS", | |
13 "-Dcxx_EXPORTS", | |
14 "-DLIBCXX_BUILDING_LIBCXXABI", | |
15 | |
16 "-UNDEBUG", | |
17 | |
18 "-fPIC", | |
19 "-fvisibility-inlines-hidden", | |
20 | |
21 "-Wall", | |
22 "-Werror=return-type", | |
23 | |
24 "-Wcast-qual", | |
25 "-Wcovered-switch-default", | |
26 "-Wdelete-non-virtual-dtor", | |
27 "-Wmissing-field-initializers", | |
28 "-Wno-error", | |
29 "-Wno-long-long", | |
30 "-Wno-long-long", | |
31 "-Wno-unused-parameter", | |
32 "-Wno-unused-parameter", | |
33 "-Wnon-virtual-dtor", | |
34 "-Wwrite-strings", | |
35 | |
36 "-std=c++11", | |
37 "-nostdinc++", | |
38 | |
39 # Use musl-based libc | |
40 "-D_LIBCPP_HAS_MUSL_LIBC", | |
viettrungluu
2016/01/15 23:41:50
Is this only used in the .cpp files?
(Ditto for s
Petr Hosek
2016/01/16 02:55:02
The problem with this approach is that everyone wh
| |
41 ] | |
42 } | |
43 | |
44 static_library("libcxx") { | |
45 cflags = [] | |
46 | |
47 configs = [] | |
48 configs += [ ":libcxx_config" ] | |
49 | |
50 include_dirs = [ | |
51 "libcxx/include", | |
52 "libcxxabi/include", | |
53 ] | |
54 | |
55 cflags += [ | |
viettrungluu
2016/01/15 23:41:50
Note: A simple "cflags = [ ... ]" here works and i
| |
56 "--sysroot", | |
viettrungluu
2016/01/15 23:41:50
Is this really the right way to do this?
Should w
| |
57 "obj/fusl/sysroot", | |
58 ] | |
59 | |
60 complete_static_lib = true | |
61 | |
62 deps = [ | |
63 "//fusl:sysroot", | |
64 ] | |
65 | |
66 sources = [ | |
67 "libcxx/src/algorithm.cpp", | |
68 "libcxx/src/any.cpp", | |
69 "libcxx/src/bind.cpp", | |
70 "libcxx/src/chrono.cpp", | |
71 "libcxx/src/condition_variable.cpp", | |
72 "libcxx/src/debug.cpp", | |
73 "libcxx/src/exception.cpp", | |
74 "libcxx/src/future.cpp", | |
75 "libcxx/src/hash.cpp", | |
76 "libcxx/src/ios.cpp", | |
77 "libcxx/src/iostream.cpp", | |
78 "libcxx/src/locale.cpp", | |
79 "libcxx/src/memory.cpp", | |
80 "libcxx/src/mutex.cpp", | |
81 "libcxx/src/new.cpp", | |
82 "libcxx/src/optional.cpp", | |
83 "libcxx/src/random.cpp", | |
84 "libcxx/src/regex.cpp", | |
85 "libcxx/src/shared_mutex.cpp", | |
86 "libcxx/src/stdexcept.cpp", | |
87 "libcxx/src/string.cpp", | |
88 "libcxx/src/strstream.cpp", | |
89 "libcxx/src/system_error.cpp", | |
90 "libcxx/src/thread.cpp", | |
91 "libcxx/src/typeinfo.cpp", | |
92 "libcxx/src/utility.cpp", | |
93 "libcxx/src/valarray.cpp", | |
94 ] | |
95 } | |
96 | |
97 config("libcxxabi_config") { | |
viettrungluu
2016/01/15 23:41:50
I wonder if we should share more of this with libc
| |
98 cflags = [ | |
99 # Flags from upstream CMake build | |
100 "-D_DEBUG", | |
101 "-D__STDC_CONSTANT_MACROS", | |
102 "-D__STDC_FORMAT_MACROS", | |
103 "-D__STDC_LIMIT_MACROS", | |
104 | |
105 "-fPIC", | |
106 "-fstrict-aliasing", | |
107 "-fvisibility-inlines-hidden", | |
108 | |
109 "-Wall", | |
110 "-Wcast-qual", | |
111 "-Wchar-subscripts", | |
112 "-Wconversion", | |
113 "-Wcovered-switch-default", | |
114 "-Wdelete-non-virtual-dtor", | |
115 "-Werror=return-type", | |
116 "-Wmismatched-tags", | |
117 "-Wmissing-braces", | |
118 "-Wmissing-field-initializers", | |
119 "-Wnewline-eof", | |
120 "-Wno-error", | |
121 "-Wno-long-long", | |
122 "-Wno-unused-function", | |
123 "-Wno-unused-parameter", | |
124 "-Wnon-virtual-dtor", | |
125 "-Wshadow", | |
126 "-Wshorten-64-to-32", | |
127 "-Wsign-compare", | |
128 "-Wsign-conversion", | |
129 "-Wstrict-aliasing=2", | |
130 "-Wstrict-overflow=4", | |
131 "-Wundef", | |
132 "-Wunused-parameter", | |
133 "-Wunused-variable", | |
134 "-Wwrite-strings", | |
135 "-Wwrite-strings", | |
136 | |
137 "-std=c++11", | |
138 "-pedantic", | |
139 "-nostdinc++", | |
140 | |
141 # Use musl-based libc | |
142 "-D_LIBCPP_HAS_MUSL_LIBC", | |
143 ] | |
144 } | |
145 | |
146 static_library("libcxxabi") { | |
147 cflags = [] | |
148 | |
149 configs = [] | |
150 configs += [ ":libcxxabi_config" ] | |
151 | |
152 include_dirs = [ | |
153 "libcxx/include", | |
154 "libcxxabi/include", | |
155 ] | |
156 | |
157 cflags += [ | |
158 "--sysroot", | |
159 "obj/fusl/sysroot", | |
160 ] | |
161 | |
162 complete_static_lib = true | |
163 | |
164 deps = [ | |
165 "//fusl:sysroot", | |
166 ] | |
167 | |
168 sources = [ | |
169 "libcxxabi/src/abort_message.cpp", | |
170 "libcxxabi/src/cxa_aux_runtime.cpp", | |
171 "libcxxabi/src/cxa_default_handlers.cpp", | |
172 "libcxxabi/src/cxa_demangle.cpp", | |
173 "libcxxabi/src/cxa_exception.cpp", | |
174 "libcxxabi/src/cxa_exception_storage.cpp", | |
175 "libcxxabi/src/cxa_guard.cpp", | |
176 "libcxxabi/src/cxa_handlers.cpp", | |
177 "libcxxabi/src/cxa_new_delete.cpp", | |
178 "libcxxabi/src/cxa_personality.cpp", | |
179 "libcxxabi/src/cxa_thread_atexit.cpp", | |
180 "libcxxabi/src/cxa_unexpected.cpp", | |
181 "libcxxabi/src/cxa_vector.cpp", | |
182 "libcxxabi/src/cxa_virtual.cpp", | |
183 "libcxxabi/src/exception.cpp", | |
184 "libcxxabi/src/private_typeinfo.cpp", | |
185 "libcxxabi/src/stdexcept.cpp", | |
186 "libcxxabi/src/typeinfo.cpp", | |
187 ] | |
188 } | |
OLD | NEW |