freebsd.libcxxrt: fixup in preparation for inclusion in stdenv
- add option to build without libcxx - don't build with libcxx - distribute headers
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
--- freebsd/lib/libcxxrt/Makefile 2024-05-30 14:27:42.328086005 -0700
|
||||
+++ freebsd/lib/libcxxrt/Makefile.mod 2024-05-30 14:27:48.048014581 -0700
|
||||
@@ -19,6 +19,8 @@
|
||||
SRCS+= terminate.cc
|
||||
SRCS+= typeinfo.cc
|
||||
|
||||
+INCS+=cxxabi.h unwind.h unwind-arm.h unwind-itanium.h
|
||||
+
|
||||
WARNS?= 0
|
||||
CFLAGS+= -isystem ${SRCDIR} -nostdinc++
|
||||
CXXSTD?= c++14
|
||||
@@ -1,4 +1,4 @@
|
||||
{ mkDerivation, ... }:
|
||||
{ mkDerivation }:
|
||||
# this package is quite different from stock libcxxrt.
|
||||
# as of FreeBSD 14.0, it is vendored from APPROXIMATELY libcxxrt
|
||||
# 5d8a15823a103bbc27f1bfdcf2b5aa008fab57dd, though the vendoring mechanism is
|
||||
@@ -8,4 +8,11 @@ mkDerivation {
|
||||
pname = "libcxxrt";
|
||||
path = "lib/libcxxrt";
|
||||
extraPaths = [ "contrib/libcxxrt" ];
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
"debug"
|
||||
];
|
||||
noLibcxx = true;
|
||||
libName = "cxxrt";
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
stdenvNoLibs,
|
||||
overrideCC,
|
||||
buildPackages,
|
||||
versionData,
|
||||
writeText,
|
||||
patches,
|
||||
@@ -27,6 +29,8 @@ lib.makeOverridable (
|
||||
stdenvNoCC
|
||||
else if attrs.noLibc or false then
|
||||
stdenvNoLibs
|
||||
else if attrs.noLibcxx or false then
|
||||
overrideCC stdenv buildPackages.llvmPackages.clangNoLibcxx
|
||||
else
|
||||
stdenv;
|
||||
in
|
||||
|
||||
Reference in New Issue
Block a user