1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

gn build: Make builtin library build on macOS

For now, it only builds the x86_64 slice.

Differential Revision: https://reviews.llvm.org/D65513

llvm-svn: 367449
This commit is contained in:
Nico Weber 2019-07-31 17:12:33 +00:00
parent 1734130bb2
commit 4e2af2516a
5 changed files with 15 additions and 2 deletions

View File

@ -166,6 +166,8 @@ unix_toolchain("unix") {
}
}
# This template defines a toolchain that uses just-built clang and lld
# as compiler and linker.
template("stage2_unix_toolchain") {
unix_toolchain(target_name) {
forward_variables_from(invoker, "*")

View File

@ -10,9 +10,11 @@ group("default") {
"//lld/test",
"//llvm/test",
]
if (current_os == "linux" || current_os == "mac") {
deps += [ "//compiler-rt" ]
}
if (current_os == "linux") {
deps += [
"//compiler-rt",
"//libcxx",
"//libcxxabi",
"//libunwind",

View File

@ -1,4 +1,7 @@
group("compiler-rt") {
# In the GN build, compiler-rt is always built by just-built clang and lld.
# FIXME: For macOS and iOS builds, depend on lib in all needed target arch
# toolchains and then lipo them together for the final output.
deps = [
"//compiler-rt/lib(//llvm/utils/gn/build/toolchain:stage2_unix)",
]

View File

@ -11,7 +11,11 @@ declare_args() {
static_library("builtins") {
output_dir = crt_current_out_dir
output_name = "clang_rt.builtins$crt_current_target_suffix"
if (current_os == "mac") {
output_name = "clang_rt.osx"
} else {
output_name = "clang_rt.builtins$crt_current_target_suffix"
}
complete_static_lib = true
cflags = [
"-fPIC",

View File

@ -24,6 +24,8 @@ if (clang_enable_per_target_runtime_dir) {
if (current_os == "android") {
crt_current_target_suffix += "-android"
}
} else if (current_os == "mac") {
crt_current_out_dir = "$clang_resource_dir/lib/darwin"
} else {
assert(false, "unimplemented current_os " + current_os)
}