Index: head/base/gcc/Makefile =================================================================== --- head/base/gcc/Makefile (revision 474468) +++ head/base/gcc/Makefile (revision 474469) @@ -1,102 +1,107 @@ # $FreeBSD$ PORTNAME= gcc PORTVERSION= 6.4.0 +PORTREVISION= 1 CATEGORIES= base MASTER_SITES= GCC/releases/gcc-${DISTVERSION} \ http://www.mpfr.org/mpfr-3.1.6/:mpfr \ http://www.mpfr.org/mpfr-current/:mpfr \ GNU/gmp:gmp \ https://ftp.gnu.org/gnu/mpc/:mpc DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \ mpfr-3.1.6.tar.xz:mpfr \ gmp-6.1.2.tar.xz:gmp \ mpc-1.0.3.tar.gz:mpc PKGNAMEPREFIX= ${OPSYS:tl}- MAINTAINER= bapt@FreeBSD.org COMMENT= GNU Compiler Collection LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi .if !defined(CROSS_TOOLCHAIN) .error Please define CROSS_TOOLCHAIN before building .endif .if !defined(CROSS_SYSROOT) .error Please define CROSS_SYSROOT before building .endif GCC_TARGET= ${ARCH}-unknown-${OPSYS:tl}${OSREL} PREFIX= /usr CONFIGURE_ENV= NM=/usr/bin/nm \ AS_FOR_TARGET=/usr/bin/as \ LD_FOR_TARGET=/usr/bin/ld \ NM_FOR_TARGET=/usr/bin/nm USES= gmake libtool tar:xz makeinfo PLIST_SUB= TARGETARCH=${ARCH} \ OPSYS=${OPSYS:tl} \ GCC_TARGET=${GCC_TARGET} \ GCC_VERSION=${PORTVERSION} EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-format-extensions EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/patch-gcc-freebsd-mips GNU_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes CONFIGURE_ARGS+= \ --target=${GCC_TARGET} \ --enable-languages=c,c++ \ --enable-gnu-indirect-function \ --disable-nls \ --without-headers \ --with-gxx-include-dir=/usr/include/c++/v1/ \ --with-build-sysroot=${CROSS_SYSROOT} \ -with-pkgversion="GNU Collection for FreeBSD" ALL_TARGET?= all-gcc INSTALL_TARGET?= install-gcc .include + +.if ${OSVERSION} >= 1200000 +CONFIGURE_ARGS+= --enable-initfini-array +.endif .if ${ARCH:Mmips*} PLIST_SUB+= MIPS="" .else PLIST_SUB+= MIPS="@comment " .endif .if ${ARCH:Mpowerpc*} PLIST_SUB+= POWERPC="" .else PLIST_SUB+= POWERPC="@comment " .endif post-extract: cd ${WRKSRC}; ${LN} -sf ../mpfr-3.1.6 mpfr ; \ ${LN} -sf ../gmp-6.1.2 gmp ; \ ${LN} -sf ../mpc-1.0.3 mpc post-patch: @${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \ ${WRKSRC}//gcc/cp/g++spec.c @${REINPLACE_CMD} -e '/LOCAL_INCLUDE_DIR/ d ' \ ${WRKSRC}//gcc/Makefile.in post-install: ${MV} ${STAGEDIR}/usr/bin/gcov-tool ${STAGEDIR}/usr/bin/${GCC_TARGET}-gcov-tool ; \ for tool in cpp gcc g++ gcov; do \ ${MV} ${STAGEDIR}/usr/bin/$${tool} ${STAGEDIR}/usr/bin/${GCC_TARGET}-$${tool} ; \ ${LN} -sf ${GCC_TARGET}-$${tool} ${STAGEDIR}/usr/bin/$${tool} ; \ ${MV} ${STAGEDIR}/${MANDIR}1/$${tool}.1 ${STAGEDIR}/${MANDIR}1/${GCC_TARGET}-$${tool}.1 ; \ ${GZIP_CMD} ${STAGEDIR}/${MANDIR}1/${GCC_TARGET}-$${tool}.1 ; \ ${LN} -sf ${GCC_TARGET}-$${tool}.1.gz ${STAGEDIR}/${MANDIR}1/$${tool}.1.gz ; \ done ; \ ${LN} -sf ${GCC_TARGET}-g++ ${STAGEDIR}/usr/bin/c++ ; \ ${LN} -sf ${GCC_TARGET}-g++.1.gz ${STAGEDIR}/${MANDIR}1/c++.1.gz ${LN} -sf ${GCC_TARGET}-gcc ${STAGEDIR}/usr/bin/cc ; \ ${LN} -sf ${GCC_TARGET}-gcc.1.gz ${STAGEDIR}/${MANDIR}1/cc.1.gz ${RM} -r ${STAGEDIR}/usr/share/info ${RM} -r ${STAGEDIR}/usr/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include-fixed .include Index: head/devel/powerpc64-gcc/Makefile =================================================================== --- head/devel/powerpc64-gcc/Makefile (revision 474468) +++ head/devel/powerpc64-gcc/Makefile (revision 474469) @@ -1,109 +1,114 @@ # $FreeBSD$ PORTNAME= gcc PORTVERSION= 6.4.0 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= GCC/releases/gcc-${DISTVERSION} PKGNAMEPREFIX?= powerpc64- MAINTAINER= kan@FreeBSD.org COMMENT= Cross GNU Compiler Collection for ${PKGNAMEPREFIX:C/-//g} LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ libmpc.so:math/mpc BUILD_DEPENDS= ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils RUN_DEPENDS= ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils USES= gmake iconv libtool tar:xz makeinfo compiler PLIST_SUB= TARGETARCH=${PKGNAMEPREFIX:C/-//g} \ OPSYS=${OPSYS:tl} \ GCC_TARGET=${GCC_TARGET} \ GCC_VERSION=${PORTVERSION} .if empty(GCC_TARGET) # We are building for a FreeBSD target GCC_TARGET?= ${PKGNAMEPREFIX}unknown-${OPSYS:tl}${OSREL} BU_PREFIX?= ${PKGNAMEPREFIX}unknown-${OPSYS:tl}${OSREL} EXTRA_PATCHES+= ${FILESDIR}/freebsd-format-extensions .else BU_PREFIX?= ${GCC_TARGET} .if defined(FREEBSD_EXTENSION) EXTRA_PATCHES+= ${FILESDIR}/freebsd-format-extensions .endif .endif TARGETARCH=${PKGNAMEPREFIX:C/-//g} GNU_CONFIGURE= yes CONFIGURE_OUTSOURCE= yes CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls --enable-languages=c,c++ \ --enable-gnu-indirect-function \ --without-headers \ --with-gmp=${LOCALBASE} \ --with-pkgversion="FreeBSD Ports Collection for ${PKGNAMEPREFIX:C/-//g}" \ --with-system-zlib \ --with-gxx-include-dir=/usr/include/c++/v1/ \ --with-sysroot="/" \ --with-as=${LOCALBASE}/bin/${BU_PREFIX}-as \ --with-ld=${LOCALBASE}/bin/${BU_PREFIX}-ld ALL_TARGET?= all-gcc INSTALL_TARGET?= install-gcc # Force build of a cross compiler even if the target matches the host. CFLAGS+= -DCROSS_DIRECTORY_STRUCTURE .include .include + +.if ${GCC_TARGET:M*${OPSYS:tl}*} != "" +CONFIGURE_ARGS+= --enable-initfini-array +.endif post-patch: @${REINPLACE_CMD} -e '/LIBSTDCXX/ s/stdc\+\+/c\+\+/g ' \ ${WRKSRC}//gcc/cp/g++spec.c @${REINPLACE_CMD} -e '/LOCAL_INCLUDE_DIR/ d ' \ ${WRKSRC}//gcc/Makefile.in .if ${TARGETARCH} == "amd64" CONFIGURE_TARGET= x86_64-unknown-${OPSYS:tl}${OSREL} .else CONFIGURE_TARGET= ${ARCH}-unknown-${OPSYS:tl}${OSREL} .endif .if ${TARGETARCH} == "armv6" || ${TARGETARCH} == "aarch64" . if ${COMPILER_TYPE} == clang MAKE_ARGS+=CXXFLAGS=-fbracket-depth=512 . endif .endif post-install: .for f in cpp gcov gcov-tool @if [ -f ${STAGEDIR}${PREFIX}/bin/$f ] ; then \ ${MV} ${STAGEDIR}${PREFIX}/bin/$f \ ${STAGEDIR}${PREFIX}/bin/${GCC_TARGET}-$f ; \ fi .endfor .for f in c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov 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 ; \ fi \ fi @${RM} ${STAGEDIR}${PREFIX}/bin/$f @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1 @${RM} ${STAGEDIR}${PREFIX}/man/man1/$f.1.gz .endfor @${RM} ${STAGEDIR}${PREFIX}/info/* @${RM} ${STAGEDIR}${PREFIX}/man/man7/* .if empty(PKGNAMEPREFIX:M*-*-) @${RM} -r ${STAGEDIR}${PREFIX}/lib/gcc/${GCC_TARGET}/${PORTVERSION}/include-fixed .endif # This port and all its slave ports fail on aarch64 -- but not all # the same way. Provide this definition for the master. BROKEN_aarch64?= fails to package .include