head	1.23;
access;
symbols
	RELEASE_7_4_0:1.21
	RELEASE_8_2_0:1.21
	RELEASE_6_EOL:1.21
	RELEASE_8_1_0:1.21
	RELEASE_7_3_0:1.19
	RELEASE_8_0_0:1.18
	RELEASE_7_2_0:1.17
	RELEASE_7_1_0:1.15
	RELEASE_6_4_0:1.15
	RELEASE_5_EOL:1.14
	RELEASE_7_0_0:1.14
	RELEASE_6_3_0:1.14
	old_PRE_XORG_7:1.8
	old_old_RELEASE_4_EOL:1.7
	old_old_RELEASE_6_2_0:1.6;
locks; strict;
comment	@# @;


1.23
date	2011.03.17.16.19.05;	author miwi;	state dead;
branches;
next	1.22;

1.22
date	2011.02.27.04.43.22;	author linimon;	state Exp;
branches;
next	1.21;

1.21
date	2010.06.11.15.09.43;	author ale;	state Exp;
branches;
next	1.20;

1.20
date	2010.04.19.10.43.26;	author ale;	state Exp;
branches;
next	1.19;

1.19
date	2009.12.29.10.25.52;	author miwi;	state Exp;
branches;
next	1.18;

1.18
date	2009.05.13.09.45.51;	author ale;	state Exp;
branches;
next	1.17;

1.17
date	2009.01.30.23.23.17;	author ale;	state Exp;
branches;
next	1.16;

1.16
date	2008.10.18.12.47.59;	author beech;	state Exp;
branches;
next	1.15;

1.15
date	2008.07.25.12.24.00;	author pav;	state Exp;
branches;
next	1.14;

1.14
date	2007.11.06.09.08.20;	author bsam;	state Exp;
branches;
next	1.13;

1.13
date	2007.10.17.10.12.43;	author ade;	state Exp;
branches;
next	1.12;

1.12
date	2007.08.30.09.56.04;	author ale;	state Exp;
branches;
next	1.11;

1.11
date	2007.07.23.09.36.05;	author rafan;	state Exp;
branches;
next	1.10;

1.10
date	2007.06.14.18.04.12;	author miwi;	state Exp;
branches;
next	1.9;

1.9
date	2007.06.05.05.28.01;	author sat;	state Exp;
branches;
next	1.8;

1.8
date	2007.05.03.12.39.12;	author lwhsu;	state Exp;
branches;
next	1.7;

1.7
date	2006.12.16.22.03.10;	author miwi;	state Exp;
branches;
next	1.6;

1.6
date	2006.09.12.10.11.39;	author bsam;	state Exp;
branches;
next	1.5;

1.5
date	2006.09.06.05.33.29;	author bsam;	state Exp;
branches;
next	1.4;

1.4
date	2006.09.04.16.28.30;	author bsam;	state Exp;
branches;
next	1.3;

1.3
date	2006.08.27.16.05.24;	author bsam;	state Exp;
branches;
next	1.2;

1.2
date	2006.08.06.20.23.58;	author bsam;	state Exp;
branches;
next	1.1;

1.1
date	2006.08.03.20.25.08;	author bsam;	state Exp;
branches;
next	;


desc
@@


1.23
log
@Remove
lang/gnat-gcc42
lang/gnat-gcc43
lang/gnat-gcc44
@
text
@# ex:ts=8
#
# Ports collection makefile for: gnat-gcc
# Date created:		9 Jul 2006
# Whom:			Karel Miklav <karel@@lovetemple.net>
#
# $FreeBSD: ports/lang/gnat-gcc43/Makefile,v 1.22 2011/02/27 04:43:22 linimon Exp $
#

PORTNAME=		gnat-gcc
PORTVERSION=		4.3.2
PORTREVISION=	4
CATEGORIES=		lang
MASTER_SITES=		GCC/releases/gcc-${PORTVERSION} \
			CENKES:boot \
			http://lovetemple.net/data/:boot
DISTFILES=		gcc-core-${PORTVERSION}${EXTRACT_SUFX} \
			gcc-ada-${PORTVERSION}${EXTRACT_SUFX} \
			gcc-testsuite-${PORTVERSION}${EXTRACT_SUFX} \
			gnat-gcc41-boot-${boot_stamp}.tbz:boot

MAINTAINER=		karel@@lovetemple.net
COMMENT=		The GNU Ada Compiler system

LIB_DEPENDS=		gmp.10:${PORTSDIR}/math/gmp \
			mpfr.4:${PORTSDIR}/math/mpfr

ONLY_FOR_ARCHS=		i386

USE_BZIP2=		yes
USE_GMAKE=		yes
USE_ICONV=		yes
USE_PERL5_BUILD=	yes # Needed for man pages.
USE_BISON=		build

CONFLICTS=		gcc-4.3.*
WRKSRC=			${WRKDIR}/build

MAN1=			cpp${gcc_suffix}.1 \
			gcc${gcc_suffix}.1 \
			gcov${gcc_suffix}.1
MAN7=			${fsf_mans:S/$/${fsf_suffix}.7/}
NO_MANCOMPRESS=		yes # XXX 5-cur and releng4 problems?
INFO=			gcc${gcc_suffix}/cpp \
			gcc${gcc_suffix}/cppinternals \
			gcc${gcc_suffix}/gcc \
			gcc${gcc_suffix}/gccinstall \
			gcc${gcc_suffix}/gccint \
			gcc${gcc_suffix}/gnat-style \
			gcc${gcc_suffix}/gnat_rm \
			gcc${gcc_suffix}/gnat_ugn_unw \
			gcc${gcc_suffix}/libgomp

LATEST_LINK=		${PORTNAME}${gcc_suffix}

.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 900000
BROKEN=         Does not install (missing distinfo for FreeBSD-9)
.endif

srcdir=			${WRKDIR}/gcc-${PORTVERSION}
gcc_suffix=		43
fsf_mans=		fsf-funding gfdl gpl
fsf_suffix=		-${PORTNAME}${gcc_suffix}
targlib=		${PREFIX}/lib/gcc-${PORTVERSION}
gcc_link=		${PREFIX}/bin/gcc${gcc_suffix}/gcc
boot_stamp=		${ARCH}-freebsd-${OSREL:C/\.[0-9.]*//:S/8/7/}
check_target=		check # XXX

PATCH_WRKSRC=		${srcdir}

GNU_CONFIGURE=		yes
CONFIGURE_SCRIPT=	../${srcdir:C/${WRKDIR}//}/configure
CONFIGURE_ARGS=		--enable-languages="c,ada" \
			--disable-nls \
			--with-system-zlib \
			--with-libiconv-prefix=${LOCALBASE} \
			--program-suffix=${gcc_suffix} \
			--bindir=${PREFIX}/bin/gcc${gcc_suffix} \
			--libdir=${targlib}

ALL_TARGET=		bootstrap-lean
MAKE_ENV+=		MAKEINFOFLAGS="--no-split" PTHREAD_LIBS=${PTHREAD_LIBS}

PLIST_SUB=		GCC_VER=${PORTVERSION} \
			GNU_HOST=${CONFIGURE_TARGET} \
			SUFFIX=${gcc_suffix}

USE_LDCONFIG=		${targlib}

# Prepare environment for the bootstrap compiler.
CC=			${WRKDIR}/boot/bin/gcc
build_env=		PTHREAD_LIBS=${PTHREAD_LIBS} \
			PATH=${WRKDIR}/boot/bin:${WRKDIR}/boot/libexec:${PATH}

CONFIGURE_ENV+=		${build_env} CC="${CC}"
MAKE_ENV+=		${build_env}

pre-everything::
	@@${ECHO_MSG} -n "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} "
	@@${ECHO_MSG}     "${OSREL} target=${CONFIGURE_TARGET}"

post-patch:
	# Append ' [FreeBSD]' to the gcc version string.
	${REINPLACE_CMD} \
	    -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
	    ${srcdir}/gcc/version.c
	# New putenv(3) behavior in FreeBSD 7.
	if [ ${OSVERSION} -ge 700050 ]; then \
	    ${REINPLACE_CMD} -e 's/#if defined (__FreeBSD__) ||/#if/' \
	        ${srcdir}/gcc/ada/env.c; \
	fi

pre-configure:
	cd ${srcdir} ; contrib/gcc_update --touch
	${RM} -f ${srcdir}/gcc/*/*.info*
	${MKDIR} ${CONFIGURE_WRKSRC}

post-build:
	@@${ECHO_MSG} -n "Consider running 'make check' before 'make install', "
	@@${ECHO_MSG} -n "especially if you have not performed this build on "
	@@${ECHO_MSG} -n "-STABLE or -CURRENT. This assumes that you have "
	@@${ECHO_MSG}    "dejagnu and autogen ports installed."

check: build
	cd ${WRKSRC} && \
	export RUNTESTFLAGS='--target_board ''unix{-pthread}''' && \
	${GMAKE} -sk ${check_target}

post-install:
	# Create a gcc link.
	${RM} -f ${gcc_link}
	${LN} -s ${PREFIX}/bin/gcc${gcc_suffix}/gcc${gcc_suffix} ${gcc_link}
	# This empty fortran directory is making trouble.
	${RM} -rf ${PREFIX}/lib/gcc-${PORTVERSION}/gcc/${CONFIGURE_TARGET}/${PORTVERSION}/finclude
	# 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
	# Version FSF funding and licensing manuals. XXX Fix before it happens!
	for mp in ${fsf_mans}; do \
	    ${MV} -f ${PREFIX}/man/man7/$${mp}.7 \
	        ${PREFIX}/man/man7/$${mp}${fsf_suffix}.7; \
	done
	# Prepare a temporary list of installed libraries and include files.
	${RM} -f ${WRKDIR}/PLIST.lib
	for d in lib/gcc-${PORTVERSION} libexec/gcc/${CONFIGURE_TARGET}/${PORTVERSION}; do \
	    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; \
	done
	# Following directories should be removed on deinstal if empty. Add them to the temporary list.
	${ECHO_CMD} "@@unexec ${RMDIR} %D/libexec/gcc/${CONFIGURE_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
	${ECHO_CMD} "@@unexec ${RMDIR} %D/libexec/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
	# Insert the temporary list in the packing list.
	cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}

.include <bsd.port.post.mk>
@


1.22
log
@Mark as broken on -CURRENT: needs distinfo update.
@
text
@d7 1
a7 1
# $FreeBSD$
@


1.21
log
@Chase mpfr library and bump PORTREVISION.
@
text
@d58 4
@


1.20
log
@Switch to use newer GMP version.

PR:		ports/144487
Submitted by:	ale
Approved by:	portmgr (-exp run by erwin)
@
text
@d12 1
a12 1
PORTREVISION=	3
d26 1
a26 1
			mpfr.3:${PORTSDIR}/math/mpfr
@


1.19
log
@- Convert NOMANCOMPRESS to NO_MANCOMPRESS to sync with src

PR:	ports/136065 ports/127469
Submitted by:	N.J. Mann <njm@@njm.me.uk> and Aldis Berjoza <killasmurf86@@gmail.com>

- Early identify port CONFLICTS

PR:	137855
Submitted by:		Piotr Smyrak <smyru@@heron.pl>

- Add --no-same-permissions to the EXTRACT_AFTER_ARGS command.

Tijl Coosemans has been reported an issue that when root is extracting from the
tarball, and the tarball contains world writable files
(sysutils/policykit as an example), there is a chance that the files
gets changed by malicious third parties right after the extraction,
which makes it possible to inject code into the package thus compromise
the system.

Submitted by:	Tijl Coosemans <tijl@@coosemans.org> Xin LI (delphij@@)

- Fix some whitespaces

Tested with:	exp-run
@
text
@d12 1
a12 1
PORTREVISION=		2
d25 1
a25 1
LIB_DEPENDS=		gmp.8:${PORTSDIR}/math/libgmp4 \
@


1.18
log
@Chase libgmp and bump PORTREVISION.
@
text
@d43 1
a43 1
NOMANCOMPRESS=		yes # XXX 5-cur and releng4 problems?
@


1.17
log
@Chase mpfr library.
@
text
@d12 1
a12 1
PORTREVISION=		1
d25 1
a25 1
LIB_DEPENDS=		gmp.7:${PORTSDIR}/math/libgmp4 \
@


1.16
log
@- Update to 4.3.2
- Make fetchable

PR:		ports/127011
Submitted by:	Karel Miklav <karel@@lovetemple.net> (maintainer)
@
text
@d12 1
d26 1
a26 1
			mpfr.2:${PORTSDIR}/math/mpfr
@


1.15
log
@- Remove duplicates from MAKE_ENV after inclusion of CC and CXX in default MAKE_ENV
@
text
@d11 1
a11 2
PORTVERSION=		4.3.0
PORTREVISION=		3
d13 1
a13 1
MASTER_SITES=		GCC/snapshots/${versionstring} \
d16 3
a18 3
DISTFILES=		gcc-core-${versionstring}${EXTRACT_SUFX} \
			gcc-ada-${versionstring}${EXTRACT_SUFX} \
			gcc-testsuite-${versionstring}${EXTRACT_SUFX} \
d57 1
a57 3
gcc_snapshot=		20071019
versionstring=		${PORTVERSION:C/\.[0-9]*$//}-${gcc_snapshot}
srcdir=			${WRKDIR}/gcc-${versionstring}
d63 1
a63 1
boot_stamp=		${ARCH}-freebsd-${OSREL:C/\.[0-9.]*//}
@


1.14
log
@- unbreak building at 7.x  [1]
- patch putenv(3) assumption in GNAT  [1]
- use the latest snapshot of GCC 4.3  [1]
- add master site (CENKES)  [1]
- bump PORTREVISION
- remove files/patch-gengtype-yacc.y

PR:		117522  [1]
Submitted by:	Karel Miklav <karel at lovetemple.net> (maintainer)
Approved by:	portmgr (pav)
@
text
@d91 2
a92 2
build_env=		CC=${WRKDIR}/boot/bin/gcc \
			PTHREAD_LIBS=${PTHREAD_LIBS} \
d95 1
a95 1
CONFIGURE_ENV+=		${build_env}
@


1.13
log
@Migration from bison 1.x to 2.x

PR:		117086
Tested by:	-exp runs
@
text
@d12 1
a12 1
PORTREVISION=		2
d14 2
a15 1
MASTER_SITES=		${MASTER_SITE_GCC} \
a16 1
MASTER_SITE_SUBDIR=	snapshots/${versionstring}
d58 1
a58 1
gcc_snapshot=		20070518
d67 1
a67 1
check_target=		check
a101 1
# Append ' [FreeBSD]' to the gcc version string.
d103 2
a104 1
	@@${REINPLACE_CMD} \
d107 5
d115 2
a116 2
	@@${RM} -f ${srcdir}/gcc/*/*.info*
	@@${MKDIR} ${CONFIGURE_WRKSRC}
@


1.12
log
@Chase mpfr library and bump PORTREVISION.
@
text
@d12 1
a12 1
PORTREVISION=		1
d34 1
a34 1
USE_BISON=		yes
@


1.11
log
@- Set --mandir and --infodir in CONFIGURE_ARGS if the configure script
  supports them.  This is determined by running ``configure --help'' in
  do-configure target and set the shell variable _LATE_CONFIGURE_ARGS
  which is then passed to CONFIGURE_ARGS.
- Remove --mandir and --infodir in ports' Makefile where applicable
  Few ports use REINPLACE_CMD to achieve the same effect, remove them too.
- Correct some manual pages location from PREFIX/man to MANPREFIX/man
- Define INFO_PATH where necessary
- Document that .info files are installed in a subdirectory relative to
  PREFIX/INFO_PATH and slightly change add-plist-info to use INFO_PATH and
  subdirectory detection.

PR:		ports/111470
Approved by:	portmgr
Discussed with:	stas (Mk/*), gerald (info related stuffs)
Tested by:	pointyhat exp run
@
text
@d12 1
d26 1
a26 1
			mpfr.1:${PORTSDIR}/math/mpfr
@


1.10
log
@- Add lang/gnat-gcc4.3

The GNU Ada compiler system built from GCC 4.3.0.

WWW:	WWW: http://gcc.gnu.org/

PR:		113205
Submitted by:	Karel Miklav <karel@@lovetemple.net> (maintainer)
Repocopied by:	marcus
@
text
@d78 1
a78 2
			--libdir=${targlib} \
			--infodir=${PREFIX}/${INFO_PATH}/gcc${gcc_suffix}
@


1.9
log
@- Add mirrors

Requested by:	Karel Miklav <karel@@lovetemple.net> (maintainer)
@
text
@d3 3
a5 3
# Ports collection makefile for:   gnat-gcc
# Date created:         9 Jul 2006
# Whom:                 Karel Miklav <karel@@lovetemple.net>
d11 1
a11 1
PORTVERSION=		4.2.0
d13 3
a15 2
MASTER_SITES=		GCC/snapshots/${versionstring} \
			CENKES:boot http://lovetemple.net/data/:boot
d24 3
d35 1
a35 1
CONFLICTS=		gcc-4.2.*
d57 1
a57 1
gcc_snapshot=		20070307
d60 1
a60 1
gcc_suffix=		42
d66 1
@


1.8
log
@o  Finish transition a repocopy from gnat-gcc41 to gnat-gcc42:
   The GNAT Ada compiler made from recent snapshot of GCC 4.2.
   -  gcc-4.2.0 version, snapshot 20070307 is used

PR:		112223
Submitted by:	Karel Miklav <karel AT lovetemple.net>
Approved by:	clsung (mentor)
Repocopy by:	marcus
@
text
@d13 2
a14 3
MASTER_SITES=		${MASTER_SITE_GCC} \
			http://lovetemple.net/data/:boot
MASTER_SITE_SUBDIR=	snapshots/${versionstring}
@


1.7
log
@- Require specified binary compiler for bootstrapping
- Use recent GCC snapshot
- Some aesthetic changes in the Makefile
- Bump PORTVERSION

PR:		ports/106656
Submitted by:	Karel Miklav <karel@@lovetemple.net> (maintainer)
@
text
@d1 5
a5 4
# ex:ts=4
# Ports collection makefile for:	gnat-gcc
# Date created:						22 Jun 2006
# Whom:								Karel Miklav <karel@@lovetemple.net>
d11 1
a11 2
PORTVERSION=	4.1.2
PORTREVISION=	2
d13 2
a14 1
MASTER_SITES=	${MASTER_SITE_GCC}
d17 3
a19 2
				gcc-ada-${versionstring}${EXTRACT_SUFX} \
				gcc-testsuite-${versionstring}${EXTRACT_SUFX}
d24 1
a24 1
ONLY_FOR_ARCHS=	i386
d29 1
a29 1
USE_PERL5_BUILD=	yes
d32 1
a32 1
CONFLICTS=		gcc-4.1.*
d36 2
a37 2
				gcc${gcc_suffix}.1 \
				gcov${gcc_suffix}.1
d39 1
a39 1
NOMANCOMPRESS=	yes	# 5-cur and releng4 problems?
d41 8
a48 7
				gcc${gcc_suffix}/cppinternals \
				gcc${gcc_suffix}/gcc \
				gcc${gcc_suffix}/gccinstall \
				gcc${gcc_suffix}/gccint \
				gcc${gcc_suffix}/gnat-style \
				gcc${gcc_suffix}/gnat_rm \
				gcc${gcc_suffix}/gnat_ugn_unw
d50 1
a50 1
LATEST_LINK=	${PORTNAME}${gcc_suffix}
d54 2
a55 2
gcc_snapshot=	20061201
versionstring=	${PORTVERSION:C/\.[0-9]*$//}-${gcc_snapshot}
d57 1
a57 1
gcc_suffix=		41
d60 3
a62 1
targlib=		${PREFIX}/lib/gcc/${CONFIGURE_TARGET}/${PORTVERSION}
d64 1
a64 1
PATCH_WRKSRC=	${srcdir}
d66 1
a66 1
GNU_CONFIGURE=	yes
d68 8
a75 8
CONFIGURE_ARGS=	--enable-languages="c,ada" \
				--disable-nls \
				--with-system-zlib \
				--with-libiconv-prefix=${LOCALBASE} \
				--program-suffix=${gcc_suffix} \
				--bindir=${PREFIX}/bin/gcc${gcc_suffix} \
				--libdir=${targlib} \
				--infodir=${PREFIX}/${INFO_PATH}/gcc${gcc_suffix}
d81 4
a84 2
				GNU_HOST=${CONFIGURE_TARGET} \
				SUFFIX=${gcc_suffix}
d86 4
a89 1
USE_LDCONFIG=	${targlib}
d91 2
a92 4
# We need an existing GNAT compiler to bootstrap this one.
BUILD_DEPENDS+=	${LOCALBASE}/bin/gcc34/gcc34:${PORTSDIR}/lang/gnat-gcc34
CONFIGURE_ENV+=	PATH=${LOCALBASE}/bin/gcc34:${PATH} CC=${LOCALBASE}/bin/gcc34/gcc34
MAKE_ENV+=		PATH=${LOCALBASE}/bin/gcc34:${PATH} CC=${LOCALBASE}/bin/gcc34/gcc34
d95 2
a96 1
	@@${ECHO_MSG} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} target=${CONFIGURE_TARGET}"
d98 1
a98 1
# Append ' [FreeBSD]' to gcc version string.
d100 2
a101 1
	${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
d106 2
a107 2
	${RM} -f ${srcdir}/gcc/*/*.info*
	${MKDIR} ${CONFIGURE_WRKSRC}
d110 4
a113 3
	@@${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."
d116 3
a118 1
	cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; ${GMAKE} -sk check
d121 6
a126 3
	${LN} -s ${PREFIX}/bin/gcc${gcc_suffix}/gcc${gcc_suffix} \
		${PREFIX}/bin/gcc${gcc_suffix}/gcc
	@@# Man pages can only be generated if Perl >= 5.6 is installed; fake them otherwise.
d128 1
a128 1
		${TEST} -e $${mp} || ${TOUCH} ${TOUCH_FLAGS} $${mp}; \
d130 1
a130 1
	@@# Version FSF funding and licensing manuals.
d132 2
a133 2
		${MV} -f ${PREFIX}/man/man7/$${mp}.7 \
			${PREFIX}/man/man7/$${mp}${fsf_suffix}.7; \
d135 1
a135 6
	@@# Save the runaway header.
	${MV} -f ${PREFIX}/include/mf-runtime.h \
	         ${targlib}/gcc/${CONFIGURE_TARGET}/${PORTVERSION}/include
	@@# Remove libtool library files.
	${RM} -f ${targlib}/*.la
	@@# Prepare a temporary list of installed libraries and include files.
d137 6
a142 6
	for d in ${targlib:S/^${PREFIX}\///} ${targlib:S/^${PREFIX}\///:S/lib/libexec/}; do \
		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; \
d144 1
a144 3
	@@# Following directories should be removed on deinstal if empty. Add them to the temporary list.
	${ECHO_CMD} "@@unexec ${RMDIR} %D/lib/gcc/${CONFIGURE_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
	${ECHO_CMD} "@@unexec ${RMDIR} %D/lib/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
d147 1
a147 1
	@@# Insert the temporary list in the packing list.
@


1.6
log
@- unbreak building at 7.x;
- update to gcc snapshot 20060901.
- bump PORTREVISION.

Submitted by:	Karel Miklav <karel at lovetemple.net> (maintainer by email)
@
text
@d11 1
a11 1
PORTREVISION=	1
d51 1
a51 1
gcc_snapshot=	20060901
a81 6
have_gnat!=	if ${WHICH} gnatmake > /dev/null 2>&1; then \
				${ECHO_CMD} "t"; \
			else \
				${ECHO_CMD} ""; \
			fi
.if empty(have_gnat)
a84 1
.endif
d91 1
a91 1
	@@${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \
d96 2
a97 2
	@@${RM} -f ${srcdir}/gcc/*/*.info*
	@@${MKDIR} ${CONFIGURE_WRKSRC}
d110 1
a110 1
	# Man pages can only be generated if Perl >= 5.6 is installed; fake them otherwise.
d114 1
a114 1
	# Version FSF funding and licensing manuals.
d119 1
a119 1
	# Save the runaway header.
d122 1
a122 1
	# Remove libtool library files.
d124 1
a124 1
	# Add target libraries and include files to packaging list.
d127 1
a127 1
		cd ${PREFIX} ; \
d129 3
a131 3
			${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 ; \
d133 1
d138 2
a139 1
	cd ${WRKDIR} ; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
@


1.5
log
@Mark BROKEN at 7.x (does not compile) while investigating the case.

Reported by:	krismail
@
text
@d11 1
d51 1
a51 5
.if ${OSVERSION} > 700000
BROKEN=		does not compile at 7.x
.endif

gcc_snapshot=	20060818
d73 1
a73 1
MAKE_ARGS+=		MAKEINFOFLAGS="--no-split"
@


1.4
log
@o  finish transition a repocopy from gnat-gcc34 to gnat-gcc41:
   -  gcc-4.1.2 version, snapshot 20060818 is used;  [1]
   -  fsf_suffix (-gnat-gcc41) is used for FSF MAN7 files to avoid
      conflicts with other gcc ports;  [1]
   -  some Makefile restructure;  [1]
o  remove BROKEN for 4.x as it builds without errors.

PR:		100038  [1]
Submitted by:	Karel Miklav <karel@@lovetemple.net> (maintainer)  [1]
@
text
@d50 4
@


1.3
log
@- fix DISTFILES;  [1]
- remove gcc-testsuite from distinfo;  [1]
- introduce MASTER_SITE_SUBDIR;  [1]
- change a BROKEN message (doesn't deinstall cleanly at 4.x, PR/101809 pending).

PR:		102451  [1]
Submitted by:	Karel Miklav <karel@@lovetemple.net> (maintainer)
Approved by:	netchild (mentor, implicit)
@
text
@d10 1
a10 1
PORTVERSION=	3.4.6
d13 4
a16 3
MASTER_SITE_SUBDIR=	releases/gcc-${PORTVERSION}
DISTFILES=		gcc-core-${PORTVERSION}.tar.gz \
				gcc-ada-${PORTVERSION}.tar.gz
d21 26
a46 20
USE_GMAKE=	yes
USE_PERL5=	yes
USE_BISON=	yes

CONFLICTS=	gcc-3.4.*
WRKSRC=		${WRKDIR}/gcc-${PORTVERSION}

MAN1=		cpp${gcc_suffix}.1 \
			gcc${gcc_suffix}.1 \
 			gcov${gcc_suffix}.1
MAN7=		fsf-funding.7 gfdl.7 gpl.7
NOMANCOMPRESS=	yes	# too hard to deal with differences on 5-cur and releng4
INFO=		gcc${gcc_suffix}/cpp \
			gcc${gcc_suffix}/cppinternals \
			gcc${gcc_suffix}/gcc \
			gcc${gcc_suffix}/gccinstall \
			gcc${gcc_suffix}/gccint \
			gcc${gcc_suffix}/gnat-style \
			gcc${gcc_suffix}/gnat_rm \
			gcc${gcc_suffix}/gnat_ugn_unw
d50 6
a55 5
.if ${OSVERSION} < 500000
BROKEN=		does not deinstall cleanly at 4.x (PR/101809 pending)
.endif

gcc_suffix=		34
d58 1
a58 1
PATCH_WRKSRC=	${WRKSRC}
d61 1
a61 2
CONFIGURE_WRKSRC=	${WRKDIR}/build
CONFIGURE_SCRIPT=	../${WRKSRC:C/${WRKDIR}\///}/configure
a65 1
				--enable-threads=posix \
d71 2
a72 6
BUILD_WRKSRC=	${WRKDIR}/build

INSTALL_WRKSRC=	${WRKDIR}/build
INSTALLS_SHLIB=	yes

USE_LDCONFIG=	${targlib}
d78 1
a78 23
ONLY_FOR_ARCHS=	i386

# You need a compiler who calls an existing GNAT compiler (3.15 or greater).
# By default, we'll look for one in the path.  If we can't find one, we'll
# fetch a distfile containing a minimum (still pretty large) compiler toolset
# and use that to build.
gnat_gcc!=	if ${WHICH} adagcc > /dev/null 2>&1; then \
				${ECHO_CMD} "`${WHICH} adagcc`"; \
			else \
				${ECHO_CMD} ""; \
			fi
gnat_bind!=	if ${WHICH} gnatbind > /dev/null 2>&1; then \
				${ECHO_CMD} "`${WHICH} gnatbind`"; \
			else \
				${ECHO_CMD} ""; \
			fi
.if empty(gnat_gcc)
gnat_gcc!=	if ${WHICH} gnatgcc > /dev/null 2>&1; then \
				${ECHO_CMD} "`${WHICH} gnatgcc`"; \
			else \
				${ECHO_CMD} ""; \
			fi
.endif
d80 3
a82 3
.if !empty(gnat_gcc) && !empty(gnat_bind)
bootstrap_path!=	if [ -x ${gnat_gcc} -a -x ${gnat_bind} ]; then \
				${ECHO_CMD} "$$PATH"; \
d86 4
a89 2
.else
bootstrap_path=
a91 23
.if empty(bootstrap_path)
ONLY_FOR_ARCHS=	i386
DISTFILES+=		gnat-3.15p-boot.tar.gz:boot
MASTER_SITES+=	${MASTER_SITE_LOCAL}:boot
MASTER_SITE_SUBDIR+=	deischen/gcc/:boot
.if ${OSVERSION} >= 500000
BUILD_DEPENDS+=	${LOCALBASE}/lib/compat/libc.so.4:${PORTSDIR}/misc/compat4x
.endif
# Warning! You need the trailing slash on GCC_EXEC_PREFIX.
compiler_data=	GCC_EXEC_PREFIX=${WRKDIR}/adaboot/lib/gcc-lib/ \
				ADA_INCLUDE_PATH=${WRKDIR}/adaboot/lib/gcc-lib/adainclude \
				ADA_OBJECTS_PATH=${WRKDIR}/adaboot/lib/gcc-lib/adalib
bootstrap_path=	${WRKDIR}/adaboot/bin:${PATH}
gnat_gcc=		adagcc
.endif

# Make sure we use the Ada-aware gcc compiler.
CC=				${gnat_gcc}
# C compiler from GNAT 3.15 doesn't understand modern flags.
CFLAGS=
CONFIGURE_ENV+=	${compiler_data} PATH=${bootstrap_path}
MAKE_ENV+=		${compiler_data} PATH=${bootstrap_path} PTHREAD_LIBS=${PTHREAD_LIBS} CC=${CC}

d98 1
a98 1
	    ${WRKSRC}/gcc/version.c
d101 2
a102 2
	cd ${WRKSRC} ; contrib/gcc_update --touch
	@@${RM} -f ${WRKSRC}/gcc/*/*.info*
d105 7
a111 7
do-build:
	(cd ${BUILD_WRKSRC}; \
	    ${MAKE_ENV} ${GMAKE} bootstrap)
	(cd ${BUILD_WRKSRC}; \
	    ${MAKE_ENV} ${GMAKE} -C gcc gnatlib)
	(cd ${BUILD_WRKSRC}; \
	    ${MAKE_ENV} ${GMAKE} -C gcc gnattools)
d116 1
a116 2
	# Man pages can only be generated if Perl >= 5.6 is installed;
	# fake them otherwise.
d120 10
@


1.2
log
@Broken on 4.x: does not extract (both bzip2 and tar.gz sources are used)

Reported by:	krismail
Approved by:	netchild (mentor, implicit)
@
text
@d14 2
a15 2
DISTFILES=		gcc-core-${PORTVERSION}.tar.bz2 \
				gcc-ada-${PORTVERSION}.tar.bz2
d44 1
a44 1
BROKEN=         does not extract on 4.x (both bzip2 and tar.gz sources are used)
d114 1
@


1.1
log
@The GNU Ada compiler system built from GCC 3.4.6.

PR:		99993
Submitted by:	Karel Miklav <karel@@lovetemple.net>
Approved by:	netchild (mentor, implicit)
@
text
@d43 4
@

