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:
Audrey Dutcher
2024-06-12 07:41:44 -07:00
parent 41c2bba81e
commit ae7c4ca17f
3 changed files with 23 additions and 1 deletions
@@ -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