# New ports collection makefile for:	mingw32-gcc
# Date created:		24 October 2002
# Whom:			Lev Serebryakov <lev@serebryakov.spb.ru>
#
# $FreeBSD$
#

PORTNAME=	gcc
PORTVERSION=	${GCCVERSION}
PORTEPOCH=	1
CATEGORIES=	devel
MASTER_SITES=	${MASTER_SITE_SOURCEWARE}
MASTER_SITE_SUBDIR=	${PORTNAME}/releases/${PORTNAME}-${GCCVERSION}
PKGNAMEPREFIX=	mingw32-
DISTFILES=	gcc-core-${GCCVERSION}${EXTRACT_SUFX}

MAINTAINER=	lev@FreeBSD.org
COMMENT=	FSF gcc-4.2 for Windows cross-development

BUILD_DEPENDS=	${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils \
		mingwm10.dll:${PORTSDIR}/devel/${PKGNAMEPREFIX}bin-msvcrt
RUN_DEPENDS=	${PKGNAMEPREFIX}as:${PORTSDIR}/devel/${PKGNAMEPREFIX}binutils

GCCVERSION=	4.2.1
PATCH_WRKSRC=	${SRCDIR}
SRCDIR=		${WRKDIR}/${PORTNAME}-${GCCVERSION}
WRKSRC=		${WRKDIR}/build

USE_BZIP2=	yes
USE_PERL5_BUILD=yes
USE_GMAKE=	yes
GNU_CONFIGURE=	yes
USE_ICONV=	yes

CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure
CONFIGURE_ARGS=	--target=${PKGNAMEPREFIX:S/-$//} \
		--enable-languages=${LANGUAGES} \
		--with-gcc --with-gnu-ld --with-gnu-as \
		--enable-threads --disable-nls \
		--disable-win32-registry --disable-shared \
		--includedir=${PREFIX}/${PKGNAMEPREFIX:S/-$//}/include \
		--datadir=${PREFIX}/${PKGNAMEPREFIX:S/-$//}/share
INFO_PATH=	${PKGNAMEPREFIX:S/-$//}/info
MAKE_ENV=	PATH=${PREFIX}/bin:${PATH}
LIBTOOLFILES=	configure gcc/configure
MAN1=		${PKGNAMEPREFIX}gcc.1 ${PKGNAMEPREFIX}cpp.1 \
		${PKGNAMEPREFIX}gcov.1

PLIST_SUB+=	PORTVERSION=${PORTVERSION} GCC_TARG=${PKGNAMEPREFIX:S/-$//} \
		GCC_REV=${GCCVERSION}

INFO_PATH=	${PKGNAMEPREFIX:S/-$//}/info

LANGUAGES=	c
WITH_LANG_C=	true
BINARIES=	cpp gcc gcov
INFO=		cpp cppinternals gcc gccinstall gccint

.if make(makesum)
WITH_LANG_CXX=true
WITH_LANG_OBJC=true
WITH_LANG_OBJCPP=true
WITH_LANG_FORTRAN=true
WITH_LANG_JAVA=true
OPTIONS=
.else
OPTIONS=	LANG_CXX     "Enable C++ compiler"                   on  \
		LANG_OBJC    "Enable ObjectC compiler"               off \
		LANG_OBJCPP  "Enable ObjectC++ compiler"             off \
		LANG_FORTRAN "Enable FORTRAN95 compiler"             off \
		LANG_JAVA    "Enable Java compiler"                  off \
		LIBSSP       "Enable libssp build"                   on  \
		LIBGCJ       "Enable libgcj build (needs LANG_JAVA)" on
.endif

.include <bsd.port.pre.mk>

.if defined(WITH_LANG_OBJCPP)
WITH_LANG_OBJC=true
WITH_LANG_CXX=true
.endif

.if defined(WITH_LANG_JAVA)
WITH_LANG_CXX=true
.endif

.if defined(WITH_LANG_CXX)
DISTFILES+=	gcc-g++-${GCCVERSION}${EXTRACT_SUFX}
CONFIGURE_ARGS+=--with-gxx-include-dir=${PREFIX}/${PKGNAMEPREFIX:S/-$//}/include/c++/${GCCVERSION} \
		--enable-sjlj-exceptions
PLIST_SUB+=	CXX=""
MAN1+=		${PKGNAMEPREFIX}g++.1
LANGUAGES:=	${LANGUAGES},c++
BINARIES+=	c++ g++
.else
PLIST_SUB+=	CXX="@comment "
.endif

.if defined(WITH_LANG_OBJC)
DISTFILES+=	gcc-objc-${GCCVERSION}${EXTRACT_SUFX}
PLIST_SUB+=	OBJC=""
LANGUAGES:=	${LANGUAGES},objc
.else
PLIST_SUB+=	OBJC="@comment "
.endif

.if defined(WITH_LANG_OBJCPP)
DISTFILES+=	gcc-objc-${GCCVERSION}${EXTRACT_SUFX}
PLIST_SUB+=	OBJCXX=""
LANGUAGES:=	${LANGUAGES},obj-c++
.else
PLIST_SUB+=	OBJCXX="@comment "
.endif

.if defined(WITH_LANG_FORTRAN)
DISTFILES+=	gcc-fortran-${GCCVERSION}${EXTRACT_SUFX}
LIB_DEPENDS+=	gmp.7:${PORTSDIR}/math/libgmp4 \
		mpfr.2:${PORTSDIR}/math/mpfr
CONFIGURE_ARGS+=--with-gmp=${LOCALBASE} \
		--with-mpfr=${LOCALBASE}
MAN1+=		${PKGNAMEPREFIX}gfortran.1
INFO+=		gfortran
PLIST_SUB+=	FORTRAN=""
LANGUAGES:=	${LANGUAGES},fortran
BINARIES+=	gfortran
.else
PLIST_SUB+=	FORTRAN="@comment "
.endif

.if defined(WITH_LANG_JAVA)
.if defined(WITH_LIBGCJ)
CONFIGURE_ARGS+=--enable-libgcj
PLIST_SUB+=	LIBGCJ=""
BINARIES+=	addr2name.awk
.else
CONFIGURE_ARGS+=--disable-libgcj
PLIST_SUB+=	LIBGCJ="@comment "
.endif
DISTFILES+=	gcc-java-${GCCVERSION}${EXTRACT_SUFX}
BUILD_DEPENDS+=	zip:${PORTSDIR}/archivers/zip
EXTRA_PATCHES+=	${PATCHDIR}/java-patch-libjava--Makefile.in \
		${PATCHDIR}/java-patch-libjava--classpath--resource--Makefile.in
CONFIGURE_ARGS+=--without-x --disable-java-awt \
		--enable-hash-synchronization --with-interpreter \
		--enable-java-gc=boehm
MAN1+=		${PKGNAMEPREFIX}gcj-dbtool.1 ${PKGNAMEPREFIX}gcj.1 \
		${PKGNAMEPREFIX}gcjh.1 ${PKGNAMEPREFIX}gij.1 \
		${PKGNAMEPREFIX}gjnih.1 ${PKGNAMEPREFIX}grmic.1 \
		${PKGNAMEPREFIX}grmiregistry.1 ${PKGNAMEPREFIX}jcf-dump.1 \
		${PKGNAMEPREFIX}jv-convert.1 ${PKGNAMEPREFIX}jv-scan.1
INFO+=		gcj
PLIST_SUB+=	JAVA=""
USE_BISON=	build

LANGUAGES:=	${LANGUAGES},java
BINARIES+=	gcj gcjh gjnih jcf-dump jv-scan
.else
PLIST_SUB+=	JAVA="@comment " \
		LIBGCJ="@comment "
.endif

.if defined(WITH_LIBSSP)
CONFIGURE_ARGS+=--enable-libssp
PLIST_SUB+=	LIBSSP=""
.else
CONFIGURE_ARGS+=--disable-libssp
PLIST_SUB+=	LIBSSP="@comment "
.endif

.if ${ARCH} == "amd64"
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET=${ARCH}-portbld-freebsd${OSREL}
.endif

pre-configure:
	cd ${SRCDIR} ; contrib/gcc_update --touch
	@${MKDIR} ${CONFIGURE_WRKSRC}
.if defined(WITH_LIBGCJ)
	@${ECHO_MSG} "You have selected to have libgcj built. This will require at least 2GB of RAM + swap if not more"
	@${ECHO_MSG} "and will likely add extra time to the build (on the scale of hours)."
.endif

post-install:
.for F in ${BINARIES}
	@${LN} -f ${PREFIX}/bin/${PKGNAMEPREFIX}$F \
		${PREFIX}/${PKGNAMEPREFIX:S/-$//}/bin/$F
.endfor

.include <bsd.port.post.mk>
s-gnome/log/www/sakai'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/www/sakai?id=9927a9dcd10780227f2266a5d37561ee8b572965'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/www/sakai?id=9927a9dcd10780227f2266a5d37561ee8b572965'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/www/sakai?id=9927a9dcd10780227f2266a5d37561ee8b572965'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/www/sakai'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/sakai'>
<input type='hidden' name='id' value='9927a9dcd10780227f2266a5d37561ee8b572965'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?id=9927a9dcd10780227f2266a5d37561ee8b572965'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www?id=9927a9dcd10780227f2266a5d37561ee8b572965'>www</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/sakai?id=9927a9dcd10780227f2266a5d37561ee8b572965'>sakai</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/www/sakai?id=9927a9dcd10780227f2266a5d37561ee8b572965&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/www/sakai?id=72ea7e696b763bdbcef04fdbccc122c0364fa567'>Remove ${PORTSDIR}/ from dependencies, categories v, w, x, y, and z.</a></td><td>Mathieu Arnold</td><td><span title='2016-04-01 22:33:55 +0800'>2016-04-01</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/www/sakai?id=efb576d64cd586f92f15b08d9570db28ca54c80c'>- Mark it IGNORE because it does not work correctly.</a></td><td>Wen Heping</td><td><span title='2015-12-31 09:18:43 +0800'>2015-12-31</span>