freebsd-ports/lang/mono/Makefile
Tom McLaughlin 29b08baecb (Long awaited) update to 1.1.9.2
Mono Changes:
    - Series release:	http://www.go-mono.com/archive/1.1.9/
    - Patch release:	http://www.go-mono.com/archive/1.1.9.1_0/
			(No 1.1.9.2 release announcement.)

Port Changes:
    - Add pkg-message to explain reasons for common build failures and
      note the need to possibly increase the number of semaphores from
      the default FreeBSD amounts.
    - Add preliminary amd64 support [1,2] which has been disabled for
      the time being due to lingering stability issues.
    - Force the Mono build to only write within ${WRKDIR} and no longer
      write to ~/.wapi which leads to...
    - Add bsd.mono.mk which is a common makefile all Mono consumers will
      depend on.  Currently this file sets the location of the .wapi the
      build process will write to.  Since Mono does not cleanup the
      semaphore created for a .wapi when the last Mono process exits
      this file also handles the removal of the semaphore created during
      port building so we do not exhaust the machine's semaphore limit.

Submitted by:	Jean-Michel "tuo" Herve <jm.herve@gameproduction.org> [1]
		Joe Lewis <joe@joe-lewis.com> [1]
		Lou Kamenov on BSD# mailinglist [2]
Approved by:	ahze (mentor)
Project by:	BSD# <http://www.mono-project.com/Mono:FreeBSD>
2005-11-10 04:17:26 +00:00

89 lines
2.4 KiB
Makefile

# New ports collection makefile for: mono
# Date created: 22 July 2002
# Whom: Yukihiro Nakai <nakai@FreeBSD.org>
#
# $FreeBSD$
# $Id: Makefile,v 1.47 2005/11/06 03:26:36 tmclau02 Exp $
#
PORTNAME= mono
PORTVERSION= 1.1.9.2
PORTREVISION= 3
CATEGORIES= lang
MASTER_SITES= http://www.go-mono.com/sources/mono-1.1/
MAINTAINER= bsd-sharp-list@forge.novell.com
COMMENT= An open source implementation of .NET Development Framework
CONFLICTS= mono-devel-[0-9]* mono-svn-[0-9]*
USE_REINPLACE= yes
USE_BISON= yes
USE_GNOME= gnomehack glib20
USE_GMAKE= yes
LIBTOOLFILES= configure libgc/configure
USE_LIBTOOL_VER=15
INSTALLS_SHLIB= yes
CONFIGURE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
PTHREAD_LIBS="${PTHREAD_LIBS}"
CONFIGURE_ARGS= --program-transform-name=\'\' \
--with-gc=included \
--with-tls=pthread
MAN1= al.1 cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \
gacutil.1 genxs.1 ilasm.1 jay.1 macpack.1 makecert.1 mcs.1 \
mint.1 mkbundle.1 mono-service.1 mono-shlib-cop.1 mono.1 \
monoburg.1 monodis.1 monop.1 monostyle.1 oldmono.1 \
permview.1 prj2make.1 secutil.1 setreg.1 signcode.1 sn.1 \
soapsuds.1 sqlsharp.1 wsdl.1 xsd.1
MAN5= mono-config.5
ONLY_FOR_ARCHS= i386 #amd64
MONO_SHARED_DIR=${WRKDIR}
MAKE_ENV=MONO_SHARED_DIR=${MONO_SHARED_DIR}
.include <bsd.port.pre.mk>
pre-everything::
@${CAT} ${PKGMESSAGE}
.if ${OSVERSION} < 503000
IGNORE= Does not work on 4.X and 5.X before 503000
.endif
# ttyname_r(3) patch
.if ${OSVERSION} < 600028
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-support_mph.h
.endif
.if exists(${LOCALBASE}/lib/libfam.so)
USE_FAM= yes
.endif
post-patch:
@${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|g' \
${WRKSRC}/mono/metadata/assembly.c
@${REINPLACE_CMD} -e 's|.so.0|.so|g' \
${WRKSRC}/configure
.if ${OSVERSION} >= 700000
@${REINPLACE_CMD} -e 's|freebsd6|freebsd7|g' \
${WRKSRC}/configure ${WRKSRC}/libgc/configure
.endif
tests: build
@${ECHO_MSG} "===> Running mono regression tests"
@(cd ${WRKSRC}/mono/tests && ${SETENV} ${MAKE_ENV} ${GMAKE} \
${MAKE_FLAGS} Makefile ${MAKE_ARGS} test)
pre-su-install:
${MKDIR} ${X11BASE}/lib/mono/1.0
${MKDIR} ${X11BASE}/lib/mono/2.0
${MKDIR} ${X11BASE}/lib/mono/gac
post-install:
@${INSTALL_PROGRAM} ${WRKSRC}/mono/handles/semdel ${PREFIX}/bin/mono-semdel
@${SETENV} MONO_SHARED_DIR_PORT="${MONO_SHARED_DIR}" ${SH} ${WRKSRC}/runtime/semdel-wrapper 2> /dev/null || true
.include <bsd.port.post.mk>