diff options
Diffstat (limited to 'lang/gcc7/Makefile')
-rw-r--r-- | lang/gcc7/Makefile | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/lang/gcc7/Makefile b/lang/gcc7/Makefile new file mode 100644 index 000000000000..7a86ffbd7fb7 --- /dev/null +++ b/lang/gcc7/Makefile @@ -0,0 +1,145 @@ +# Created by: Gerald Pfeifer <gerald@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= gcc +PORTVERSION= 7.1.0 +CATEGORIES= lang +MASTER_SITES= GCC/releases/gcc-${DISTVERSION} +PKGNAMESUFFIX= ${SUFFIX} + +MAINTAINER= gerald@FreeBSD.org +COMMENT= GNU Compiler Collection 7 + +LICENSE= GPLv3 GPLv3RLE +LICENSE_COMB= multi + +LIB_DEPENDS= libgmp.so:math/gmp \ + libmpfr.so:math/mpfr \ + libmpc.so:math/mpc +BUILD_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils +RUN_DEPENDS+= ${LOCALBASE}/bin/as:devel/binutils + +.if defined(MAINTAINER_MODE) +BUILD_DEPENDS+= runtest:misc/dejagnu +.endif + +CPE_VENDOR= gnu + +GCC_VERSION= ${PORTVERSION} +SUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/} +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 i386 powerpc powerpc64 sparc64 +USES= compiler cpe gmake iconv libtool makeinfo perl5 tar:bzip2 +USE_BINUTILS= yes +USE_PERL5= build +SSP_UNSAFE= yes + +OPTIONS_DEFINE= BOOTSTRAP GRAPHITE +OPTIONS_DEFAULT= BOOTSTRAP +BOOTSTRAP_DESC= Build using a full bootstrap +GRAPHITE_DESC= Support for Graphite loop optimizations + +.if exists(/usr/lib32/libc.so) +OPTIONS_DEFINE_powerpc64+= MULTILIB +OPTIONS_DEFAULT_powerpc64+= MULTILIB +MULTILIB_DESC= Build support for 32-bit and 64-bit targets +MULTILIB_CONFIGURE_ENABLE= multilib +.else +CONFIGURE_ARGS+= --disable-multilib +.endif + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "amd64" +CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL} +.endif + +.if ${ARCH} == powerpc64 +CONFIGURE_ENV+= UNAME_m="powerpc64" +USE_GCC= yes +.endif + +.if ${ARCH} == "armv6" +. if ${COMPILER_TYPE} == clang +. if empty(PORT_OPTIONS:MBOOTSTRAP) +MAKE_ARGS+=CXXFLAGS+=-fbracket-depth=512 +. else +MAKE_ARGS+=STAGE1_CXXFLAGS+=-fbracket-depth=512 +. endif +. endif +.endif + +LANGUAGES:= c,c++,objc,fortran +TARGLIB= ${PREFIX}/lib/gcc${SUFFIX} +LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX} +GNU_CONFIGURE= yes +CONFIGURE_OUTSOURCE= yes +.if empty(PORT_OPTIONS:MBOOTSTRAP) +CONFIGURE_ARGS+=--disable-bootstrap +.else +CONFIGURE_ARGS+=--with-build-config=bootstrap-debug +ALL_TARGET= bootstrap-lean +.endif +CONFIGURE_ARGS+=--disable-nls \ + --enable-gnu-indirect-function \ + --libdir=${TARGLIB} \ + --libexecdir=${LIBEXEC} \ + --program-suffix=${SUFFIX} \ + --with-as=${LOCALBASE}/bin/as \ + --with-gmp=${LOCALBASE} \ + --with-gxx-include-dir=${TARGLIB}/include/c++/ \ + --with-ld=${LOCALBASE}/bin/ld \ + ${ICONV_CONFIGURE_ARG} \ + --with-pkgversion="FreeBSD Ports Collection" \ + --with-system-zlib +MAKE_ARGS+= MAKEINFOFLAGS="--no-split" +USE_LDCONFIG= ${TARGLIB} +PLIST_SUB= GCC_VERSION=${GCC_VERSION} \ + GNU_HOST=${CONFIGURE_TARGET} \ + SUFFIX=${SUFFIX} +INFO= gcc${SUFFIX}/cpp \ + gcc${SUFFIX}/cppinternals \ + gcc${SUFFIX}/gcc \ + gcc${SUFFIX}/gccinstall \ + gcc${SUFFIX}/gccint \ + gcc${SUFFIX}/gfortran \ + gcc${SUFFIX}/libgomp +.if ${ARCH} == "amd64" || ${ARCH} == "i386" +INFO+= gcc${SUFFIX}/libquadmath \ + gcc${SUFFIX}/libitm +.endif +SUB_FILES= pkg-message +SUB_LIST+= TARGLIB=${TARGLIB} + +.if ${PORT_OPTIONS:MGRAPHITE} +LIB_DEPENDS+= libisl.so:devel/isl +CONFIGURE_ARGS+=--with-isl=${LOCALBASE} +.endif + +CONFIGURE_ARGS+=--enable-languages=${LANGUAGES} + +pre-everything:: + @${ECHO_MSG} "Making GCC ${PORTVERSION} for ${CONFIGURE_TARGET} [${LANGUAGES}]" + +pre-configure: + cd ${WRKSRC} ; contrib/gcc_update --touch + @${RM} ${WRKSRC}/gcc/*/*.info* + +.if defined(MAINTAINER_MODE) +full-regression-test: build + cd ${TEST_WRKSRC}; ${MAKE_CMD} -sk check \ + ; ${WRKSRC}/contrib/test_summary +.endif + +post-stage: + ${RM} ${STAGEDIR}${PREFIX}/man/man7/* + ${RM} -r ${STAGEDIR}${TARGLIB}/gcc/*/${GCC_VERSION}/include-fixed/ + # Add target libraries and include files to packaging list. + ${RM} ${WRKDIR}/PLIST.lib +.for d in ${TARGLIB:S/^${PREFIX}\///} ${LIBEXEC:S/^${PREFIX}\///} + cd ${STAGEDIR}${PREFIX} ; if [ -d $d ]; then \ + ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ + fi +.endfor + cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST} + +.include <bsd.port.post.mk> |