lang/gcc13-devel: Expose non-default -stdlib=libc++ support

Fix -stdlib=libc++ option which produced "error: unrecognized
command-line option '-stdlib=libc++'".

PR:             265962
Reported by:    jbeich
This commit is contained in:
Jan Beich 2022-08-22 01:25:49 +02:00 committed by Lorenzo Salvadore
parent d33dfbef9f
commit 4de701de11
No known key found for this signature in database
GPG Key ID: B58F7C3CF6DB8A38
2 changed files with 20 additions and 0 deletions

View File

@ -1,5 +1,6 @@
PORTNAME= gcc
PORTVERSION= 13.0.0.s20220731
PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= GCC/snapshots/${DIST_VERSION}
PKGNAMESUFFIX= ${SUFFIX}-devel
@ -105,6 +106,7 @@ CONFIGURE_ARGS+=--disable-nls \
--with-as=${LOCALBASE}/bin/as \
--with-gmp=${LOCALBASE} \
--with-gxx-include-dir=${TARGLIB}/include/c++/ \
--with-gxx-libcxx-include-dir=/usr/include/c++/v1 \
--with-ld=${LOCALBASE}/bin/ld \
${ICONV_CONFIGURE_ARG} \
--with-pkgversion="FreeBSD Ports Collection" \

View File

@ -0,0 +1,18 @@
libc++ on FreeBSD always uses PathScale libcxxrt and cannot change to
LLVM libc++abi without breaking backward compatibility. Besides, mixing
different C++ ABIs is not supported unless subset via DT_FILTER.
https://github.com/llvm/llvm-project/commit/35479ffb1251
https://github.com/freebsd/freebsd-src/commit/cf56074e5271
--- gcc/cp/g++spec.cc.orig 2022-07-31 22:32:16 UTC
+++ gcc/cp/g++spec.cc
@@ -60,7 +60,7 @@ along with GCC; see the file COPYING3. If not see
#endif
#ifndef LIBCXXABI
-#define LIBCXXABI "c++abi"
+#define LIBCXXABI "cxxrt"
#endif
#ifndef LIBCXXABI_PROFILE
#define LIBCXXABI_PROFILE LIBCXXABI