diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2022-08-20 16:06:02 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2022-08-25 21:35:37 +0000 |
commit | 65fe81d73e72f1303557c9809a73716cc7fcd77b (patch) | |
tree | d0faff92c2b4d67d91d2641485910bbfaaac118f | |
parent | e6e0bd06a2eec3f9f5e2780869ce3682d6c81391 (diff) | |
download | ports-65fe81d73e72f1303557c9809a73716cc7fcd77b.tar.gz ports-65fe81d73e72f1303557c9809a73716cc7fcd77b.zip |
lang/gcc11: Expose non-default -stdlib=libc++ support
Fix -stdlib=libc++ option which produced "error: unrecognized
command-line option '-stdlib=libc++'".
PR: 265962
Approved by: salvadore (maintainer)
Exp-run by: antoine (via bug 265964)
-rw-r--r-- | lang/gcc11/Makefile | 2 | ||||
-rw-r--r-- | lang/gcc11/files/patch-libcxxrt | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lang/gcc11/Makefile b/lang/gcc11/Makefile index bf886a68e040..cf03da83347a 100644 --- a/lang/gcc11/Makefile +++ b/lang/gcc11/Makefile @@ -1,5 +1,6 @@ PORTNAME= gcc PORTVERSION= 11.3.0 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= GCC PKGNAMESUFFIX= ${SUFFIX} @@ -96,6 +97,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" \ diff --git a/lang/gcc11/files/patch-libcxxrt b/lang/gcc11/files/patch-libcxxrt new file mode 100644 index 000000000000..4e8a5c34305f --- /dev/null +++ b/lang/gcc11/files/patch-libcxxrt @@ -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.c.orig 2022-04-21 07:58:53 UTC ++++ gcc/cp/g++spec.c +@@ -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 |