# New ports collection makefile for:	distcc
# Date created:				25 June 2002
# Whom:					Frerich Raabe <frerich.raabe@gmx.de>
#
# $FreeBSD: ports/devel/distcc/Makefile,v 1.47 2005/11/17 18:55:01 mnag Exp $
#

PORTNAME=	distcc
PORTVERSION=	2.18.3
PORTREVISION=	3
CATEGORIES=	devel ipv6
MASTER_SITES=	http://distcc.samba.org/ftp/distcc/

MAINTAINER=	dom@helenmarks.co.uk
COMMENT=	Distribute compilation of C(++) code acrosss machines on a network

LIB_DEPENDS=	popt.0:${PORTSDIR}/devel/popt

USE_BZIP2=	yes
USE_GMAKE=	yes
GNU_CONFIGURE=	yes
CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
WANT_GNOME=	yes
CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib"
DISTCCD_PIDFILE=/var/run/distccd.pid
USE_RC_SUBR=	distccd.sh
SUB_LIST=	DISTCCD_PIDFILE=${DISTCCD_PIDFILE}

OPTIONS=	GNOME	"Build GUI monitor based on GNOME"	Off \
		GTK	"Build GUI monitor based on GTK"	Off \
		IPV6	"Enable IPV6 (not available on 4.X)"	Off \
		COMPILER_LINKS	"Create symlinks to distcc"	Off

.include <bsd.port.pre.mk>

.if defined(WITH_COMPILER_LINKS)
CCLINKDIR?=		libexec/distcc
PLIST_DIRS=		${CCLINKDIR}
GNU_COMPILERS=		295 32 33 34 35 40 41
DISTCC_COMPILERS=	cc c++ gcc g++ ${GNU_COMPILERS:S|^|gcc|} ${GNU_COMPILERS:S|^|g++|}
.if ${ARCH} == "i386"
DISTCC_COMPILERS+=	icc icpc
.endif
.if defined(EXTRA_COMPILERS)
DISTCC_COMPILERS+=	${EXTRA_COMPILERS}
.endif
PLIST_FILES+=		${DISTCC_COMPILERS:S|^|${CCLINKDIR}/|}
.endif

.if defined(WITH_GNOME)
USE_GNOME=		libgnomeui
CONFIGURE_ARGS+=	--with-gnome
PKGNAMESUFFIX=		-gnome
PLIST_SUB+=		WITH_GNOME=""
.elif defined(WITH_GTK)
USE_GNOME=		gtk20
CONFIGURE_ARGS+=	--with-gtk
PKGNAMESUFFIX=		-gtk
PLIST_SUB+=		WITH_GNOME=""
.else
PLIST_SUB+=		WITH_GNOME="@comment "
.endif

.if ( ${OSVERSION} >= 500000 ) && defined(WITH_IPV6)
CONFIGURE_ARGS+=	--enable-rfc2553
.endif

MAN1=		distcc.1 distccd.1
DOC_FILES=	AUTHORS INSTALL NEWS README \
		doc/protocol-1.txt doc/status-1.txt \
		doc/protocol-2.txt doc/reporting-bugs.txt

pre-install:
	@${SETENV} ${SCRIPTS_ENV} PKG_PREFIX="${PREFIX}" \
		${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL

do-install:
	@${INSTALL_PROGRAM} ${WRKSRC}/distcc ${PREFIX}/bin
	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-text ${PREFIX}/bin
.if defined(WITH_GNOME) || defined(WITH_GTK)
	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-gnome ${PREFIX}/bin
.endif
	@${INSTALL_PROGRAM} ${WRKSRC}/distccd ${PREFIX}/sbin

post-install: install-doc install-man
	@${TOUCH} ${DISTCCD_PIDFILE}
	@${CHOWN} distcc:distcc ${DISTCCD_PIDFILE}
.if defined(WITH_COMPILER_LINKS)
	@${MKDIR} ${PREFIX}/${CCLINKDIR}
.for link in ${DISTCC_COMPILERS}
	${LN} -sf ${PREFIX}/bin/distcc ${PREFIX}/${CCLINKDIR}/${link}
.endfor
.endif
	@${CAT} ${PKGMESSAGE}

install-doc:
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}
.for FILE in ${DOC_FILES}
	@${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
.endfor
.endif

install-man:
.for f in ${MAN1}
	@${INSTALL_MAN} ${WRKSRC}/man/${f} ${MANPREFIX}/man/man1
.endfor

.include <bsd.port.post.mk>
