Auto merge of #46273 - semarie:openbsd-libc++, r=alexcrichton
make OpenBSD to use libc++ instead of (e)stdc++
This commit is contained in:
commit
73df30d467
@ -34,6 +34,7 @@ pub fn opts() -> TargetOptions {
|
||||
is_like_openbsd: true,
|
||||
pre_link_args: args,
|
||||
position_independent_executables: true,
|
||||
eliminate_frame_pointer: false, // FIXME 43575
|
||||
relro_level: RelroLevel::Full,
|
||||
.. Default::default()
|
||||
}
|
||||
|
@ -252,8 +252,8 @@ fn main() {
|
||||
let llvm_static_stdcpp = env::var_os("LLVM_STATIC_STDCPP");
|
||||
|
||||
let stdcppname = if target.contains("openbsd") {
|
||||
// OpenBSD has a particular C++ runtime library name
|
||||
"estdc++"
|
||||
// llvm-config on OpenBSD doesn't mention stdlib=libc++
|
||||
"c++"
|
||||
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {
|
||||
// NetBSD uses a separate library when relocation is required
|
||||
"stdc++_pic"
|
||||
|
@ -27,7 +27,7 @@ fn main() {
|
||||
} else if target.contains("netbsd") {
|
||||
println!("cargo:rustc-link-lib=gcc_s");
|
||||
} else if target.contains("openbsd") {
|
||||
println!("cargo:rustc-link-lib=gcc");
|
||||
println!("cargo:rustc-link-lib=c++abi");
|
||||
} else if target.contains("solaris") {
|
||||
println!("cargo:rustc-link-lib=gcc_s");
|
||||
} else if target.contains("bitrig") {
|
||||
|
@ -92,7 +92,7 @@ ifeq ($(UNAME),SunOS)
|
||||
EXTRACFLAGS := -lm -lpthread -lposix4 -lsocket -lresolv
|
||||
else
|
||||
ifeq ($(UNAME),OpenBSD)
|
||||
EXTRACFLAGS := -lm -lpthread
|
||||
EXTRACFLAGS := -lm -lpthread -lc++abi
|
||||
RUSTC := $(RUSTC) -C linker="$(word 1,$(CC:ccache=))"
|
||||
else
|
||||
EXTRACFLAGS := -lm -lrt -ldl -lpthread
|
||||
|
Loading…
Reference in New Issue
Block a user