aboutsummaryrefslogtreecommitdiff
path: root/devel/aarch64-none-elf-gcc/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/aarch64-none-elf-gcc/Makefile')
-rw-r--r--devel/aarch64-none-elf-gcc/Makefile29
1 files changed, 20 insertions, 9 deletions
diff --git a/devel/aarch64-none-elf-gcc/Makefile b/devel/aarch64-none-elf-gcc/Makefile
index e6d1e217aa33..a347f73bfa2c 100644
--- a/devel/aarch64-none-elf-gcc/Makefile
+++ b/devel/aarch64-none-elf-gcc/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gcc
-PORTVERSION?= 8.4.0
+PORTVERSION?= 11.3.0
PORTREVISION= 3
CATEGORIES= devel
MASTER_SITES= GCC
@@ -7,6 +7,7 @@ PKGNAMEPREFIX?= aarch64-none-elf-
MAINTAINER= manu@FreeBSD.org
COMMENT?= GNU Compiler Collection for bare metal aarch64 cross-development
+WWW= https://gcc.gnu.org/
LICENSE= GPLv3 GPLv3RLE
LICENSE_COMB= multi
@@ -24,7 +25,7 @@ RUN_DEPENDS= ${GCC_TARGET}-as:devel/binutils@${PKGNAMEPREFIX:C/-$//:C/-/_/g}
USES= cpe gmake iconv libtool tar:xz makeinfo compiler:c++11-lang
CPE_VENDOR= gnu
-PLIST_SUB= TARGETARCH=${PKGNAMEPREFIX:C/-//g} \
+PLIST_SUB+= TARGETARCH=${PKGNAMEPREFIX:C/-//g} \
OPSYS=${OPSYS:tl} \
GCC_TARGET=${GCC_TARGET} \
GCC_VERSION=${PORTVERSION}
@@ -34,6 +35,7 @@ TARGETARCH= ${PKGNAMEPREFIX:C/-//g}
GCC_TARGET?= aarch64-none-elf
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_OUTSOURCE= yes
CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \
--enable-gnu-indirect-function \
@@ -52,6 +54,15 @@ INSTALL_TARGET= install-gcc install-target-libgcc
.include <bsd.port.pre.mk>
+# Extraction fails with poudriere on aarch64 for GCC 11.
+# It seems that the bug is specific to lang/gcc11 and lang/gcc12 only.
+# No other GCC port is affected.
+# See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271052
+# and https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246670
+.if ${ARCH} == aarch64
+EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
+.endif
+
post-patch:
@${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \
${WRKSRC}//gcc/cp/g++spec.c
@@ -77,18 +88,18 @@ post-install:
fi
.endfor
.for f in c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool
- @if [ ! -f ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ] ; then \
- if [ -f ${STAGEDIR}${PREFIX}/man/man1/$f.1 ] ; then \
- ${CP} ${STAGEDIR}${PREFIX}/man/man1/$f.1 \
- ${STAGEDIR}${PREFIX}/man/man1/${GCC_TARGET}-$f.1 ; \
+ @if [ ! -f ${STAGEDIR}${PREFIX}/share/man/man1/${GCC_TARGET}-$f.1 ] ; then \
+ if [ -f ${STAGEDIR}${PREFIX}/share/man/man1/$f.1 ] ; then \
+ ${CP} ${STAGEDIR}${PREFIX}/share/man/man1/$f.1 \
+ ${STAGEDIR}${PREFIX}/share/man/man1/${GCC_TARGET}-$f.1 ; \
fi \
fi
@${RM} ${STAGEDIR}${PREFIX}/bin/$f
- @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1
- @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1.gz
+ @${RM} ${STAGEDIR}${PREFIX}/share/man/man1/$f.1
+ @${RM} ${STAGEDIR}${PREFIX}/share/man/man1/$f.1.gz
.endfor
@${RM} ${STAGEDIR}${PREFIX}/share/info/*
- @${RM} ${STAGEDIR}${PREFIX}/man/man7/*
+ @${RM} ${STAGEDIR}${PREFIX}/share/man/man7/*
${RM} -r ${STAGEDIR}/usr/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include-fixed
.include <bsd.port.post.mk>