mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-17 03:25:46 +00:00
7346972868
This brings one potential fix for the intermittent bootstrap comparison failures kris has been seeing on the Ports Build Cluster for FreeBSD 6.x.
180 lines
5.2 KiB
Makefile
180 lines
5.2 KiB
Makefile
# ex:ts=8
|
|
# Ports collection makefile for: egcs
|
|
# Date created: 9 Jan 1998
|
|
# Whom: John Polstra <jdp@polstra.com>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= gcc
|
|
PORTVERSION= 4.1.2
|
|
PORTREVISION= 20060922
|
|
CATEGORIES= lang java
|
|
VERSIONSTRING= 4.1-${PORTREVISION}
|
|
MASTER_SITES= ${MASTER_SITE_GCC}
|
|
MASTER_SITE_SUBDIR= snapshots/${VERSIONSTRING}
|
|
DISTFILES= gcc-core-${VERSIONSTRING}${EXTRACT_SUFX} \
|
|
gcc-g++-${VERSIONSTRING}${EXTRACT_SUFX} \
|
|
gcc-objc-${VERSIONSTRING}${EXTRACT_SUFX} \
|
|
gcc-testsuite-${VERSIONSTRING}${EXTRACT_SUFX}
|
|
|
|
MAINTAINER?= gerald@FreeBSD.org
|
|
COMMENT?= GNU Compiler Collection 4.1
|
|
|
|
.if defined(WITH_FORTRAN)
|
|
LIB_DEPENDS= gmp.7:${PORTSDIR}/math/libgmp4 \
|
|
mpfr.1:${PORTSDIR}/math/mpfr
|
|
.endif
|
|
.if defined(WITH_JAVA_AWT)
|
|
LIB_DEPENDS+= cairo.2:${PORTSDIR}/graphics/cairo
|
|
.endif
|
|
|
|
SUFFIX= 41
|
|
LATEST_LINK?= gcc${SUFFIX}${PKGNAMESUFFIX}
|
|
NOT_FOR_ARCHS= alpha
|
|
USE_BISON= yes
|
|
USE_BZIP2= yes
|
|
USE_GMAKE= yes
|
|
USE_ICONV= yes
|
|
USE_PERL5_BUILD=yes
|
|
.if defined(WITH_JAVA_AWT)
|
|
USE_GNOME= gtk20 libartlgpl2
|
|
.endif
|
|
|
|
PATCH_WRKSRC= ${SRCDIR}
|
|
CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure
|
|
NOMANCOMPRESS= yes # too hard to deal with differences on 5-cur and releng4
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${ARCH} != i386
|
|
WITHOUT_JAVA= yes
|
|
.endif
|
|
|
|
.if ${ARCH} == "amd64"
|
|
CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL}
|
|
.else
|
|
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
|
|
.endif
|
|
|
|
SRCDIR= ${WRKDIR}/gcc-${VERSIONSTRING}
|
|
WRKSRC= ${WRKDIR}/build
|
|
TARGLIB= ${PREFIX}/lib/gcc-${PORTVERSION}
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --disable-nls \
|
|
--with-system-zlib \
|
|
--with-libiconv-prefix=${LOCALBASE} \
|
|
--program-suffix=${SUFFIX} \
|
|
--libdir=${TARGLIB} \
|
|
--with-gxx-include-dir=${TARGLIB}/include/c++/ \
|
|
--infodir=${PREFIX}/${INFO_PATH}/gcc${SUFFIX}
|
|
.if defined(WITH_JAVA_AWT)
|
|
CONFIGURE_ARGS+= --enable-java-awt=gtk,xlib \
|
|
--enable-gtk-cairo
|
|
.if defined(WITHOUT_JAVA)
|
|
BROKEN= Does not compile gcj
|
|
.endif
|
|
.endif
|
|
MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
|
|
ALL_TARGET= bootstrap-lean
|
|
USE_LDCONFIG= ${TARGLIB}
|
|
PLIST_SUB= GCC_VER=${PORTVERSION} GNU_HOST=${CONFIGURE_TARGET} \
|
|
SUFFIX=${SUFFIX}
|
|
MAN1= cpp${SUFFIX}.1 \
|
|
g++${SUFFIX}.1 \
|
|
gcc${SUFFIX}.1 \
|
|
gcov${SUFFIX}.1
|
|
INFO= gcc${SUFFIX}/cpp \
|
|
gcc${SUFFIX}/cppinternals \
|
|
gcc${SUFFIX}/gcc \
|
|
gcc${SUFFIX}/gccinstall \
|
|
gcc${SUFFIX}/gccint
|
|
|
|
.if defined(WITH_FORTRAN)
|
|
DISTFILES+= gcc-fortran-${VERSIONSTRING}${EXTRACT_SUFX}
|
|
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE}
|
|
MAN1+= gfortran${SUFFIX}.1
|
|
INFO+= gcc${SUFFIX}/gfortran
|
|
PLIST_SUB+= FORTRAN=""
|
|
.else
|
|
PLIST_SUB+= FORTRAN="@comment "
|
|
.endif
|
|
|
|
.if ! defined(WITHOUT_JAVA)
|
|
CONFLICTS+= gcc-4.2.*
|
|
DISTFILES+= gcc-java-${VERSIONSTRING}${EXTRACT_SUFX}
|
|
EXTRA_PATCHES+= ${FILESDIR}/java-patch-hier
|
|
# FIXME: we are currently getting weird build failures with libjava on
|
|
# some 4.x and 5.x systems, which the following works around. PR 81788.
|
|
CONFIGURE_ARGS+=--disable-rpath
|
|
MAN1+= fastjar${SUFFIX}.1 \
|
|
gcj${SUFFIX}.1 \
|
|
gcj-dbtool${SUFFIX}.1 \
|
|
gcjh${SUFFIX}.1 \
|
|
gij${SUFFIX}.1 \
|
|
gjnih${SUFFIX}.1 \
|
|
grmic${SUFFIX}.1 \
|
|
grmiregistry${SUFFIX}.1 \
|
|
grepjar${SUFFIX}.1 \
|
|
jar${SUFFIX}.1 \
|
|
jcf-dump${SUFFIX}.1 \
|
|
jv-scan${SUFFIX}.1 jv-convert${SUFFIX}.1 \
|
|
rmic${SUFFIX}.1 rmiregistry${SUFFIX}.1
|
|
INFO+= gcc${SUFFIX}/gcj gcc${SUFFIX}/fastjar
|
|
PLIST_SUB+= JAVA=""
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-libgcj
|
|
PLIST_SUB+= JAVA="@comment "
|
|
.endif
|
|
|
|
pre-everything::
|
|
@${ECHO_MSG} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} target=${CONFIGURE_TARGET}"
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
|
|
${SRCDIR}/gcc/version.c
|
|
|
|
pre-configure:
|
|
cd ${SRCDIR} ; contrib/gcc_update --touch
|
|
@${RM} -f ${SRCDIR}/gcc/*/*.info*
|
|
@${MKDIR} ${CONFIGURE_WRKSRC}
|
|
|
|
post-build:
|
|
@${ECHO_MSG} "Consider running 'make check' before 'make install', especially"
|
|
@${ECHO_MSG} "if you have not performed this build on -STABLE or -CURRENT."
|
|
@${ECHO_MSG} "This assumes that you have the dejagnu port installed."
|
|
|
|
check: build
|
|
cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; ${GMAKE} -sk check
|
|
|
|
post-install:
|
|
# man pages can only be generated if Perl >= 5.6 is installed;
|
|
# fake them otherwise.
|
|
for mp in ${_MANPAGES}; do \
|
|
${TEST} -e $${mp} || ${TOUCH} ${TOUCH_FLAGS} $${mp}; \
|
|
done
|
|
${RM} -f ${PREFIX}/man/man7/fsf-funding.7 \
|
|
${PREFIX}/man/man7/gfdl.7 ${PREFIX}/man/man7/gpl.7
|
|
${MV} -f ${PREFIX}/include/mf-runtime.h \
|
|
${TARGLIB}/gcc/${CONFIGURE_TARGET}/${PORTVERSION}/include
|
|
${RM} -f ${TARGLIB}/*.la
|
|
# Add target libraries and include files to packaging list.
|
|
${RM} -f ${WRKDIR}/PLIST.lib
|
|
.for d in ${TARGLIB:S/^${PREFIX}\///} libexec/gcc/${CONFIGURE_TARGET}/${PORTVERSION} include/gcj include/gnu include/java include/javax
|
|
cd ${PREFIX} ; if [ -d $d ]; then \
|
|
${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\
|
|
${FIND} $d -type d | ${SORT} -r \
|
|
| ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib ;\
|
|
fi
|
|
.endfor
|
|
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${CONFIGURE_TARGET} 2>&1 || true" >> ${WRKDIR}/PLIST.lib
|
|
${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>&1 || true" >> ${WRKDIR}/PLIST.lib
|
|
cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
|
|
|
|
cklatest:
|
|
.for SITE in ftp://gcc.gnu.org/pub/gcc/snapshots/
|
|
@-ncftpls -l ${SITE} | ${GREP} "LATEST.*${PORTVERSION:C/.[0-9]+$//}"
|
|
.endfor
|
|
|
|
.include <bsd.port.post.mk>
|