freebsd-ports/lang/gcc44/Makefile
Mark Linimon a8693b8dee Force numerous ports that fail to build with clang over to instead always
rely on gcc.  The patch uses the new USE_GCC=any code in Mk/bsd.gcc.mk to
accomplish this.

The ports chosen were ports that blocked 2 or more ports from building with
clang.  (There are several hundred other ports that still fail to build with
clang, even with this patch.  This is merely one step along the way.)

Those interested in fixing these ports with clang, and have clang as their
default compiler, can simply set FORCE_BASE_CC_FOR_TESTING=yes.

For those who have gcc as their default compiler, this change is believed
to cause no change.

Hat:		portmgr
Tested with:	multiple runs on amd64-8-exp-bcm and 9-exp-clang, with various
		combinations of patch/no-patch and flag settings.
2012-10-09 22:12:13 +00:00

111 lines
3.0 KiB
Makefile

# ex:ts=8
# Ports collection makefile for: gcc44
# Date created: 2008-03-01
# Whom: Gerald Pfeifer <gerald@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= gcc
PORTVERSION= 4.4.7
PORTEPOCH= 1
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GCC}
MASTER_SITE_SUBDIR= releases/gcc-${VERSIONSTRING}
MAINTAINER= gerald@FreeBSD.org
COMMENT= GNU Compiler Collection 4.4
LIB_DEPENDS= gmp:${PORTSDIR}/math/gmp \
mpfr:${PORTSDIR}/math/mpfr
RUN_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
DEPRECATED= Superseded by GCC 4.6, only kept for the sake of cad/salome
VERSIONSTRING= ${PORTVERSION}
SUFFIX= ${PORTVERSION:C/([0-9]+).([0-9]+).*/\1\2/}
LATEST_LINK= gcc${SUFFIX}${PKGNAMESUFFIX}
ONLY_FOR_ARCHS= amd64 i386 sparc64
USE_BINUTILS= yes
USE_BISON= build
USE_BZIP2= yes
USE_GCC= any
USE_GMAKE= yes
USE_ICONV= yes
USE_PERL5_BUILD=yes
MAKE_JOBS_SAFE= yes
PATCH_WRKSRC= ${SRCDIR}
CONFIGURE_SCRIPT= ../${SRCDIR:S/${WRKDIR}\///}/configure
.include <bsd.port.pre.mk>
.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${SUFFIX}
LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX}
GNU_CONFIGURE= yes
CFLAGS+= -I${LOCALBASE}/include
CPPFLAGS+= -I${LOCALBASE}/include
CONFIGURE_ARGS+=--disable-bootstrap \
--disable-nls \
--enable-languages=c,c++,fortran \
--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 \
--with-libiconv-prefix=${LOCALBASE} \
--with-pkgversion="FreeBSD Ports Collection" \
--with-system-zlib
MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
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 \
gfortran${SUFFIX}.1
INFO= gcc${SUFFIX}/cpp \
gcc${SUFFIX}/cppinternals \
gcc${SUFFIX}/gcc \
gcc${SUFFIX}/gccinstall \
gcc${SUFFIX}/gccint \
gcc${SUFFIX}/gfortran \
gcc${SUFFIX}/libgomp
pre-everything::
@${ECHO_MSG} "Making GCC ${PORTVERSION} for ${OPSYS} ${OSREL} target=${CONFIGURE_TARGET}"
pre-configure:
cd ${SRCDIR} ; contrib/gcc_update --touch
@${RM} -f ${SRCDIR}/gcc/*/*.info*
@${MKDIR} ${CONFIGURE_WRKSRC}
post-install:
${RM} -f ${PREFIX}/man/man7/fsf-funding.7 \
${PREFIX}/man/man7/gfdl.7 ${PREFIX}/man/man7/gpl.7
${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:S/^${PREFIX}\///}
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
cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
.include <bsd.port.post.mk>