1 import("//clang/resource_dir.gni")
2 import("//libcxx/config.gni")
3 import("//llvm/utils/gn/build/write_cmake_config.gni")
6 # Install libc++ support headers.
7 libcxx_install_support_headers = true
10 libcxx_needs_site_config =
11 libcxx_abi_version != 1 || libcxx_abi_namespace != "" || libcxx_abi_unstable
13 if (libcxx_needs_site_config) {
14 write_cmake_config("write_config") {
15 input = "__config_site.in"
16 output = "$target_gen_dir/__config_site"
19 if (libcxx_abi_version != 1) {
20 values += [ "_LIBCPP_ABI_VERSION=$libcxx_abi_version" ]
22 if (libcxx_abi_namespace != "") {
23 values += [ "_LIBCPP_ABI_NAMESPACE=$libcxx_abi_namespace" ]
25 if (libcxx_abi_unstable) {
26 values += [ "_LIBCPP_ABI_UNSTABLE=" ]
30 # Generate a custom __config header. The new header is created
31 # by prepending __config_site to the current __config header.
32 action("concat_config") {
33 script = "//libcxx/utils/cat_files.py"
35 "$target_gen_dir/__config_site",
39 "$target_gen_dir/__config",
42 "$target_gen_dir/__config_site",
45 "$target_gen_dir/__config",
54 "$target_gen_dir/__config",
57 "$clang_resource_dir/include/c++/v1/{{source_file_part}}",
68 "__bsd_locale_defaults.h",
69 "__bsd_locale_fallbacks.h",
74 "__functional_base_03",
85 "__threading_support",
112 "condition_variable",
130 "experimental/__config",
131 "experimental/__memory",
132 "experimental/algorithm",
133 "experimental/coroutine",
134 "experimental/deque",
135 "experimental/filesystem",
136 "experimental/forward_list",
137 "experimental/functional",
138 "experimental/iterator",
141 "experimental/memory_resource",
142 "experimental/propagate_const",
143 "experimental/regex",
146 "experimental/string",
147 "experimental/type_traits",
148 "experimental/unordered_map",
149 "experimental/unordered_set",
150 "experimental/utility",
151 "experimental/vector",
224 "//libcxxabi/include",
226 if (!libcxx_needs_site_config) {
227 sources += [ "__config" ]
229 deps += [ ":copy_config" ]
231 if (libcxx_install_support_headers) {
233 "support/android/locale_bionic.h",
234 "support/fuchsia/xlocale.h",
235 "support/ibm/limits.h",
236 "support/ibm/locale_mgmt_aix.h",
237 "support/ibm/support.h",
238 "support/ibm/xlocale.h",
239 "support/musl/xlocale.h",
240 "support/newlib/xlocale.h",
241 "support/solaris/floatingpoint.h",
242 "support/solaris/wchar.h",
243 "support/solaris/xlocale.h",
244 "support/xlocale/__nop_locale_mgmt.h",
245 "support/xlocale/__posix_l_fallback.h",
246 "support/xlocale/__strtonum_fallback.h",
248 if (target_os == "win") {
250 "support/win32/limits_msvc_win32.h",
251 "support/win32/locale_win32.h",
256 "$root_build_dir/include/c++/v1/{{source_target_relative}}",