plist = get_target_outputs(":write_info_plist")
ldflags = [ "-Wl,-sectcreate,__TEXT,__info_plist," +
rebase_path(plist[0], root_out_dir) ]
+
+ # On macOS, libcxx headers are bundled with the compiler, not with the
+ # sysroot. As a convenience, automatically copy them over when buildling
+ # clang. This is different from the CMake build, which requires devs to
+ # explicitly build the "libcxx" target (which also needlessly compiles the
+ # libcxx sources) to get a working compiler.
+ deps += [ "//libcxx/include" ]
}
sources = [
"cc1_main.cpp",
"wchar.h",
"wctype.h",
]
- deps = [ "//libcxxabi/include" ]
+ deps = []
+ if (target_os != "mac" && target_os != "win") {
+ # libcxx/cmake/Modules/HandleLibCXXABI.cmake sets
+ # LIBCXX_CXX_ABI_HEADER_TARGET if the libcxx abi library either of
+ # "libstdc++", "libsupc++", "libcxxabi", "libcxxrt", but not if it's "none",
+ # "default", or "vcruntime". So on Windows, these don't get copied due to
+ # LIBCXX_CXX_ABI_HEADER_TARGET not being set.
+ # On macOS, libcxx/CMakeLists.txt sets LIBCXX_CXX_ABI_SYSTEM to 1, which
+ # causes an empty header list to be passed to setup_abi_lib, so these
+ # don't get copied on macOS due to that.
+ deps += [ "//libcxxabi/include" ]
+ }
if (!libcxx_needs_site_config) {
sources += [ "__config" ]
} else {