head	1.41;
access;
symbols
	RELEASE_4_3_0:1.39
	RELEASE_4_2_0:1.39
	RELEASE_4_1_1:1.37
	RELEASE_4_1_0:1.37
	RELEASE_3_5_0:1.37
	RELEASE_4_0_0:1.35
	RELEASE_3_4_0:1.35
	RELEASE_3_3_0:1.35
	RELEASE_3_2_0:1.28
	RELEASE_3_1_0:1.28
	RELEASE_2_2_8:1.26
	RELEASE_3_0_0:1.26
	RELEASE_2_2_7:1.21
	RELEASE_2_2_6:1.18
	RELEASE_2_2_5:1.18
	RELEASE_2_2_1:1.10
	RELEASE_2_2_2:1.12
	JDP_3_5_3:1.1.1.1
	JDP:1.1.1;
locks; strict;
comment	@# @;


1.41
date	2001.07.21.23.41.29;	author jdp;	state dead;
branches;
next	1.40;

1.40
date	2001.06.01.06.04.59;	author obrien;	state Exp;
branches;
next	1.39;

1.39
date	2000.10.28.19.57.58;	author jdp;	state Exp;
branches;
next	1.38;

1.38
date	2000.10.08.02.10.22;	author asami;	state Exp;
branches;
next	1.37;

1.37
date	2000.04.17.00.18.02;	author reg;	state Exp;
branches;
next	1.36;

1.36
date	2000.04.12.06.19.26;	author obrien;	state Exp;
branches;
next	1.35;

1.35
date	99.08.28.02.42.25;	author mharo;	state Exp;
branches;
next	1.34;

1.34
date	99.08.28.02.17.16;	author mharo;	state Exp;
branches;
next	1.33;

1.33
date	99.08.28.01.57.31;	author mharo;	state Exp;
branches;
next	1.32;

1.32
date	99.08.27.22.29.38;	author mharo;	state Exp;
branches;
next	1.31;

1.31
date	99.08.25.06.34.59;	author obrien;	state Exp;
branches;
next	1.30;

1.30
date	99.08.22.18.58.53;	author mharo;	state Exp;
branches;
next	1.29;

1.29
date	99.07.15.20.42.03;	author asami;	state Exp;
branches;
next	1.28;

1.28
date	99.01.28.05.39.18;	author jdp;	state Exp;
branches;
next	1.27;

1.27
date	98.12.04.07.23.01;	author asami;	state Exp;
branches;
next	1.26;

1.26
date	98.10.13.01.17.27;	author jseger;	state Exp;
branches;
next	1.25;

1.25
date	98.10.12.16.38.04;	author jseger;	state Exp;
branches;
next	1.24;

1.24
date	98.10.09.01.41.15;	author asami;	state Exp;
branches;
next	1.23;

1.23
date	98.09.18.01.02.00;	author jdp;	state Exp;
branches;
next	1.22;

1.22
date	98.08.20.08.57.47;	author hoek;	state Exp;
branches;
next	1.21;

1.21
date	98.06.27.05.19.10;	author asami;	state Exp;
branches;
next	1.20;

1.20
date	98.06.06.20.31.52;	author jdp;	state Exp;
branches;
next	1.19;

1.19
date	98.04.28.22.23.10;	author jdp;	state Exp;
branches;
next	1.18;

1.18
date	97.07.26.00.24.53;	author jdp;	state Exp;
branches;
next	1.17;

1.17
date	97.07.17.15.12.48;	author max;	state Exp;
branches;
next	1.16;

1.16
date	97.07.13.18.49.21;	author max;	state Exp;
branches;
next	1.15;

1.15
date	97.07.11.05.16.31;	author jdp;	state Exp;
branches;
next	1.14;

1.14
date	97.07.04.17.31.31;	author jdp;	state Exp;
branches;
next	1.13;

1.13
date	97.06.29.20.43.17;	author jdp;	state Exp;
branches;
next	1.12;

1.12
date	97.05.09.20.44.54;	author jdp;	state Exp;
branches;
next	1.11;

1.11
date	97.03.28.04.38.36;	author jdp;	state Exp;
branches;
next	1.10;

1.10
date	96.12.30.23.28.13;	author jdp;	state Exp;
branches;
next	1.9;

1.9
date	96.11.12.02.18.37;	author obrien;	state Exp;
branches;
next	1.8;

1.8
date	96.11.01.20.27.12;	author jdp;	state Exp;
branches;
next	1.7;

1.7
date	96.10.29.23.14.05;	author jdp;	state Exp;
branches;
next	1.6;

1.6
date	96.09.27.18.17.42;	author jdp;	state Exp;
branches;
next	1.5;

1.5
date	96.09.27.02.26.41;	author jdp;	state Exp;
branches;
next	1.4;

1.4
date	96.09.12.00.39.41;	author jdp;	state Exp;
branches;
next	1.3;

1.3
date	96.09.10.05.23.49;	author jdp;	state Exp;
branches;
next	1.2;

1.2
date	96.03.22.15.46.41;	author jdp;	state Exp;
branches;
next	1.1;

1.1
date	96.03.20.22.10.18;	author jdp;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	96.03.20.22.10.18;	author jdp;	state Exp;
branches;
next	;


desc
@@


1.41
log
@Remove the old modula-3 and modula-3-lib ports.  They are superseded
by the pm3-* family of ports, which build a newer and better-maintained
version of Modula-3.  I have converted all ports which depended on
modula-3 to use pm3-* instead.

PR:		ports/27664 is rendered irrelevant
@
text
@# New ports collection makefile for:	modula-3
# Date created:		18 Mar 1996
# Whom:			John Polstra <jdp@@polstra.com>
#
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.40 2001/06/01 06:04:59 obrien Exp $
#

PORTNAME=	modula-3
PORTVERSION=	3.6
CATEGORIES=	lang
DISTFILES=

MAINTAINER=	jdp@@polstra.com

DEPENDS=	${PORTSDIR}/lang/modula-3-lib:install

WRKSRC!=	echo `dirname ${WRKDIRPREFIX}${.CURDIR}`/modula-3-lib/work
NO_CHECKSUM=	yes
NO_BUILD=	yes
MAN1=		analyze_coverage.1 m3browser.1 m3build.1 \
		m3bundle.1 m3pp.1 m3ship.1 m3tohtml.1 \
		m3totex.1 m3where.1 quake.1 recordheap.1
SCRIPTS_ENV+=	MAJOR=${major} PKGDIR=${PKGDIR} PLIST=${PLIST}

# Shared library major version number.  Keep this in sync with the
# modula-3-lib port.
major=		6

# The Modula-3 build process insists on installing each individual
# component immediately after that component is built.  To avoid having
# to do the entire build as root, we arrange for everything to first
# be "installed" into the following directory, which we own.
temp_prefix=	${WRKSRC}/installed

# Support building on systems with or without X11 installed.
.ifdef WITHOUT_X11
PLIST=		${WRKDIR}/pkg-plist.noX11
.else
pre-fetch:
	@@${ECHO_MSG} "To build this port without X11, define \"WITHOUT_X11\"."

PLIST=		${WRKDIR}/pkg-plist
MAN1+=		formsedit.1 replayheap.1 showheap.1 shownew.1 showthread.1
.endif

do-install:
	@@${ECHO_MSG} "Deleting extraneous cruft"
	@@cd ${temp_prefix}/lib/m3/pkg; \
	    ${RM} -rf m3 m3front m3middle m3linker
	@@cd ${temp_prefix}/lib/m3/FreeBSD2; \
	    ${RM} -f libm3front.so.*.* libm3link.so.*.* libm3middle.so.*.*
	@@${ECHO_MSG} "Installing files in \"${PREFIX}\""
	@@cd ${temp_prefix}; \
	    umask 022; \
	    ${SED} -e "/^@@/d" -e "/m3build-/d" -e "s/\.gz$$//" \
		-e "/^share/d" ${PLIST}.real | \
		cpio -dump -R ${BINOWN}.${BINGRP} ${PREFIX}
	@@cd ${temp_prefix}/man/man1; \
	    umask 022; \
	    ${ECHO} ${MAN1} | perl -pe 's/ /\n/g' | \
		cpio -dump -R ${MANOWN}.${MANGRP} ${PREFIX}/man/man1
	@@${ECHO_MSG} "Fixing absolute pathnames in installed files"
	@@${SH} ${SCRIPTDIR}/fix_pathnames ${temp_prefix} ${PREFIX}
	@@${ECHO_MSG} "Rebuilding and shipping m3build with correct pathnames"
	@@cd ${WRKSRC}/m3/m3build; \
	    LD_LIBRARY_PATH=${PREFIX}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
	    PATH=${PREFIX}/bin:$$PATH; \
	    export LD_LIBRARY_PATH PATH; \
	    umask 022; \
	    ${RM} -rf FreeBSD2; \
	    ${MKDIR} FreeBSD2; \
	    cd FreeBSD2; \
	    quake -D_bootstrap -D_all -DPACKAGE_DIR=${WRKSRC}/m3/m3build \
		-DPACKAGE=m3build -DBUILD_DIR=FreeBSD2 \
		${PREFIX}/lib/m3/pkg/m3build/templates/FreeBSD2 \
		${WRKSRC}/m3/m3build/src/m3makefile; \
	    ./m3ship
	@@${ECHO_MSG} "Rebuilding and shipping m3configvars with correct pathnames"
	@@cd ${WRKSRC}/m3/m3configvars; \
	    LD_LIBRARY_PATH=${PREFIX}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
	    export LD_LIBRARY_PATH; \
	    PATH=${PREFIX}/bin:$$PATH; \
	    export PATH; \
	    umask 022; \
	    ${RM} -rf FreeBSD2; \
	    m3build; \
	    m3ship
	@@${ECHO_MSG} "Installing copyright notice"
	@@if [ ! -d ${PREFIX}/share/modula-3 ]; then \
	    ${MKDIR} ${PREFIX}/share/modula-3; \
	    ${CHMOD} 755 ${PREFIX}/share/modula-3; \
	fi
	@@${INSTALL_DATA} ${WRKSRC}/m3/src/COPYRIGHT ${PREFIX}/share/modula-3
	@@${ECHO_MSG} "Stripping executables"
	@@cd ${temp_prefix}; \
	    find bin -type f ! -name recordheap |\
		(cd ${PREFIX}; xargs ${SH} ${SCRIPTDIR}/maybe-strip)
	@@cd ${PREFIX}/lib/m3/FreeBSD2; strip m3 m3cgc1 m3mkdir
	@@cd ${PREFIX}/bin; \
	    ${LN} -f m3build m3build-${major}
	@@${ECHO_MSG} "Fixing file permissions"
	@@cd ${PREFIX}; \
	    ${SED} -e "/^@@/d" -e "s/\.gz$$//" ${PLIST}.real |\
		xargs ${CHOWN} ${BINOWN}:${BINGRP}; \
	    ${SED} -e "/^@@/d" -e "s/\.gz$$//" ${PLIST}.real |\
		xargs ${CHMOD} go=u-w; \
	    find -X lib/m3 -type d | xargs ${CHOWN} ${BINOWN}:${BINGRP}; \
	    find -X lib/m3 -type d | xargs ${CHMOD} 755
	@@${ECHO_MSG} "Running ldconfig"
	@@${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib/m3/FreeBSD2

.include <bsd.port.mk>
@


1.40
log
@Use proper POSIX syntax for `chown'.
@
text
@d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.39 2000/10/28 19:57:58 jdp Exp $
@


1.39
log
@Fix breakage from the Great Ports Reorganization of 2000.

PR:		misc/22000
Submitted by:	Jay Krell <jay.krell@@cornell.edu>
@
text
@d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.38 2000/10/08 02:10:22 asami Exp $
d104 1
a104 1
		xargs ${CHOWN} ${BINOWN}.${BINGRP}; \
d107 1
a107 1
	    find -X lib/m3 -type d | xargs ${CHOWN} ${BINOWN}.${BINGRP}; \
@


1.38
log
@Rename PLIST.noX11 to pkg-plist.noX11.

(I believe I got this right, but since this PLIST is actually
processed in scripts/conifgure, I am not 100% sure that I have traced
its entire path.  If the maintainer can check, it will be greatly
appreciated.)
@
text
@d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.37 2000/04/17 00:18:02 reg Exp $
d42 1
a42 1
PLIST=		${WRKDIR}/PLIST
@


1.37
log
@Standardize all user defined options to the booleans WITH_FOO and
WITHOUT_FOO.  Begin the process of reserving these prefixes for user defined
options.

No comment by:	ports
@
text
@d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.36 2000/04/12 06:19:26 obrien Exp $
d37 1
a37 1
PLIST=		${WRKDIR}/PLIST.noX11
@


1.36
log
@Convert to the PORTNAME - PORTVERSION syntax.
@
text
@d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.35 1999/08/28 02:42:25 mharo Exp $
d36 1
a36 1
.ifdef NO_X11
d40 1
a40 1
	@@${ECHO_MSG} "To build this port without X11, define \"NO_X11\"."
@


1.35
log
@expr -> ${EXPR}
mv   -> ${MV}
rm   -> ${RM}
tr   -> ${TR}
@
text
@a1 1
# Version required:	3.6
d5 1
a5 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.34 1999/08/28 02:17:16 mharo Exp $
d8 2
a9 1
DISTNAME=	modula-3-3.6
@


1.34
log
@sed -> ${SED}
@
text
@d6 1
a6 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.33 1999/08/28 01:57:31 mharo Exp $
d49 1
a49 1
	    rm -rf m3 m3front m3middle m3linker
d51 1
a51 1
	    rm -f libm3front.so.*.* libm3link.so.*.* libm3middle.so.*.*
d70 1
a70 1
	    rm -rf FreeBSD2; \
d85 1
a85 1
	    rm -rf FreeBSD2; \
@


1.33
log
@ln -> ${LN}
@
text
@d6 1
a6 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.32 1999/08/27 22:29:38 mharo Exp $
d55 1
a55 1
	    sed -e "/^@@/d" -e "/m3build-/d" -e "s/\.gz$$//" \
d103 1
a103 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PLIST}.real |\
d105 1
a105 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PLIST}.real |\
@


1.32
log
@echo -> ${ECHO} or ${ECHO_MSG}  and in some cases, move echo stuff
to pkg/MESSAGE and use ${CAT} ${PKGMESSAGE}
@
text
@d6 1
a6 1
# $FreeBSD: ports/lang/modula-3/Makefile,v 1.31 1999/08/25 06:34:59 obrien Exp $
d100 1
a100 1
	    ln -f m3build m3build-${major}
@


1.31
log
@Change Id->FreeBSD.
@
text
@d6 1
a6 1
# $FreeBSD$
d40 1
a40 1
	@@echo "To build this port without X11, define \"NO_X11\"."
d47 1
a47 1
	@@echo "Deleting extraneous cruft"
d52 1
a52 1
	@@echo "Installing files in \"${PREFIX}\""
d62 1
a62 1
	@@echo "Fixing absolute pathnames in installed files"
d64 1
a64 1
	@@echo "Rebuilding and shipping m3build with correct pathnames"
d78 1
a78 1
	@@echo "Rebuilding and shipping m3configvars with correct pathnames"
d88 1
a88 1
	@@echo "Installing copyright notice"
d94 1
a94 1
	@@echo "Stripping executables"
d101 1
a101 1
	@@echo "Fixing file permissions"
d109 1
a109 1
	@@echo "Running ldconfig"
@


1.30
log
@chmod -> ${CHMOD}
chown -> ${CHOWN}
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.29 1999/07/15 20:42:03 asami Exp $
@


1.29
log
@${WRKDIRPREFIX}/symlink ${PORTSDIR} fix.  Don't watch if you just had lunch.

Submitted by:	maintainer (no, really!)
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.28 1999/01/28 05:39:18 jdp Exp $
d91 1
a91 1
	    chmod 755 ${PREFIX}/share/modula-3; \
d104 1
a104 1
		xargs chown ${BINOWN}.${BINGRP}; \
d106 3
a108 3
		xargs chmod go=u-w; \
	    find -X lib/m3 -type d | xargs chown ${BINOWN}.${BINGRP}; \
	    find -X lib/m3 -type d | xargs chmod 755
@


1.28
log
@Instead of trying to auto-detect whether X11 is installed, require
the user to define NO_X11 if it is not.  The auto-detection scheme
caused problems for Satoshi's port building system.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.27 1998/12/04 07:23:01 asami Exp $
d17 1
a17 1
WRKSRC=		${WRKDIRPREFIX}${PORTSDIR}/lang/modula-3-lib/work
@


1.27
log
@Add ":install" at end of DEPENDS line -- it's the default, but just
to make it clear.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.26 1998/10/13 01:17:27 jseger Exp $
a24 11
# Support building on systems with or without X11 installed.  The port
# only supports X11R6 in the standard location, so we don't bother using
# the X11BASE macro.  It's not defined yet at this point in the Makefile
# anyway.
.if exists(/usr/X11R6/lib/libX11.a)
PLIST=		${WRKDIR}/PLIST
MAN1+=		formsedit.1 replayheap.1 showheap.1 shownew.1 showthread.1
.else
PLIST=		${WRKDIR}/PLIST.noX11
.endif

d35 11
d96 2
a97 1
	    find bin -type f ! -name recordheap | (cd ${PREFIX}; xargs strip)
@


1.26
log
@Unmark BROKEN.  It was a previously fixed SMP problem.

Pointed out by:	jdp
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.25 1998/10/12 16:38:04 jseger Exp $
d15 1
a15 1
DEPENDS=	${PORTSDIR}/lang/modula-3-lib
@


1.25
log
@Mark BROKEN for ELF.  Depends on modula-3 which is BROKEN:
***
*** runtime error:
***    Segmentation violation - possible attempt to dereference NIL

***
*** runtime error:
***    ASSERT failed
***    file "../src/runtime/common/RTHeapMap.m3", line 35
***

Abort trap - core dumped
*** error code 134 (ignored)
missing libm3formsvbtpixmaps.a: not building libm3formsvbtpixmaps.so.6

followed by many more errors
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.24 1998/10/09 01:41:15 asami Exp $
a15 2

BROKEN_ELF=	depends on modula-3-lib
@


1.24
log
@Prepend ${WRKDIRPREFIX} to WRKSRC definitions that don't use ${WRKDIR}.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.23 1998/09/18 01:02:00 jdp Exp $
d16 2
@


1.23
log
@Make these ports work on ELF systems.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.22 1998/08/20 08:57:47 hoek Exp $
d17 1
a17 1
WRKSRC=		${PORTSDIR}/lang/modula-3-lib/work
@


1.22
log
@I couldn't test this, since it died partway through the build, but
it should fix the install.  I did a partial test (which turned-out
to be a good thing) of a partial build, and it worked, at least...
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.21 1998/06/27 05:19:10 asami Exp $
d23 1
d29 3
a31 2
.if !exists(/usr/X11R6/lib/libX11.a)
PLIST=		${PKGDIR}/PLIST.noX11
d33 1
a33 1
MAN1+=		formsedit.1 replayheap.1 showheap.1 shownew.1 showthread.1
d36 2
a37 2
# Keep these in sync with the PLIST and with the library version numbers
# in the modula-3-lib port (PLIST and patch-ah there).
a38 1
minor=		0
d56 1
a56 1
		-e "/^share/d" ${PLIST} | \
d99 1
a99 2
	    ln -f m3build m3build-${major}; \
	    ln -f m3build m3build-${major}.${minor}
d102 1
a102 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PLIST} |\
d104 1
a104 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PLIST} |\
d109 1
a109 1
	@@${LDCONFIG} -m ${PREFIX}/lib/m3/FreeBSD2
@


1.21
log
@Remove NO_CONFIGURE and NO_PATCH, they never meant anything.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.20 1998/06/06 20:31:52 jdp Exp $
d57 4
@


1.20
log
@By popular demand, make the modula-3 ports build successfully even
if X11 is not installed.

PR:		closes ports/4178
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.19 1998/04/28 22:23:10 jdp Exp $
a18 1
NO_CONFIGURE=	yes
@


1.19
log
@Bump library version numbers to match changes in the modula-3-lib
port.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.18 1997/07/26 00:24:53 jdp Exp $
d21 13
a33 4
MAN1=		analyze_coverage.1 formsedit.1 m3browser.1 \
		m3build.1 m3bundle.1 m3pp.1 m3ship.1 m3tohtml.1 \
		m3totex.1 m3where.1 quake.1 recordheap.1 \
		replayheap.1 showheap.1 shownew.1 showthread.1
d56 1
a56 1
		-e "/^share/d" ${PKGDIR}/PLIST | \
d99 1
a99 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PKGDIR}/PLIST |\
d101 1
a101 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PKGDIR}/PLIST |\
@


1.18
log
@Use the MAN1 macro to compress the manual pages.

Correct the "fixing file permissions" step so that it works when
NOMANCOMPRESS is set.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.17 1997/07/17 15:12:48 max Exp $
d27 2
a28 2
# in the modula-3-lib port.
major=		5
@


1.17
log
@ldconfig -> ${LDCONFIG}.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.16 1997/07/13 18:49:21 max Exp $
d21 4
a87 5
.if !defined(NOMANCOMPRESS)
	@@echo "Compressing manual pages"
	@@cd ${temp_prefix}; \
	    find man -type f | (cd ${PREFIX}; xargs gzip -9nf)
.endif
d90 4
a93 2
	    grep -v "^@@" ${PKGDIR}/PLIST | xargs chown ${BINOWN}.${BINGRP}; \
	    grep -v "^@@" ${PKGDIR}/PLIST | xargs chmod go=u-w; \
@


1.16
log
@/bin/sh -> ${SH}
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.15 1997/07/11 05:16:31 jdp Exp $
d96 1
a96 1
	@@/sbin/ldconfig -m ${PREFIX}/lib/m3/FreeBSD2
@


1.15
log
@Add several bugfixes.  Produce more informative messages when
segmentation violations and assertion failures occur.  Support
several system calls not supported previously.

PR:		This is part of the fix for ports/3572.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.14 1997/07/04 17:31:31 jdp Exp $
d46 1
a46 1
	@@/bin/sh ${SCRIPTDIR}/fix_pathnames ${temp_prefix} ${PREFIX}
@


1.14
log
@I botched my previous update of the thread safe malloc, making it
not thread safe at all.  This commit repairs the damage.

This changes the minor version numbers of the Modula-3 shared
libraries.  The packages that depend on modula-3-lib will need to
be rebuilt:

    net/cvsup
    print/virtualpaper
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.13 1997/06/29 20:43:17 jdp Exp $
d24 2
a25 2
major=		4
minor=		3
@


1.13
log
@Update the Modula-3 runtime's thread safe malloc to PHK's latest.
This eliminates the malloc warnings brought about by the recent
merging of calloc into malloc.c in -current's libc.

This changes the minor version numbers of the Modula-3 shared
libraries.  The packages that depend on modula-3-lib will need to
be rebuilt:

	net/cvsup
	print/virtualpaper
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.12 1997/05/09 20:44:54 jdp Exp $
d25 1
a25 1
minor=		2
@


1.12
log
@Add a fix for a graphics bug.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.11 1997/03/28 04:38:36 jdp Exp $
d25 1
a25 1
minor=		1
@


1.11
log
@Arrange for the DEC copyright notice to be installed and included
in the package.  Add a pointer to it in the DESCR file.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.10 1996/12/30 23:28:13 jdp Exp $
d25 1
a25 1
minor=		0
@


1.10
log
@Use a "work" subdirectory after all, simply to keep the ".*_done"
files from cluttering up the port's source directory.
Complained about by:	peter

Use NO_CHECKSUM instead of a do-nothing "checksum" target.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.9 1996/11/12 02:18:37 obrien Exp $
d42 2
a43 1
	    sed -e "/^@@/d" -e "/m3build-/d" -e "s/\.gz$$//" ${PKGDIR}/PLIST | \
d71 6
@


1.9
log
@CATAGORIES+= -> CATAGORIES=
Reordered vars where needed.  Added MAINTAINERS where needed, many
mkdir --> ${MKDIR}, install -> ${INSTALL_*}, etc.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.8 1996/11/01 20:27:12 jdp Exp $
d18 1
a18 1
NO_WRKDIR=	yes
a31 6

do-extract:
	@@${DO_NADA}

checksum:
	@@${DO_NADA}
@


1.8
log
@Install additional links to "m3build" with version numbers in their
names, e.g., "m3build-4" and "m3build-4.0".  This makes it possible for
ports that depend on this one to require a specific version.  Since the
shared libraries have been moved into a separate port, their version
numbers can no longer be used for that purpose.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.7 1996/10/29 23:14:05 jdp Exp $
d10 1
a10 1
CATEGORIES+=	lang
d59 1
a59 1
	    mkdir FreeBSD2; \
@


1.7
log
@Split this port into two pieces, with most of the work now being done by
the new "modula-3-lib" port.  The split allows one to save a lot of
disk space by installing only the shared libraries needed for executing
programs.  The full "modula-3" port is needed only if you want to
compile programs as well.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.6 1996/09/27 18:17:42 jdp Exp $
d22 5
d48 1
a48 1
	    sed -e "/^@@/d" -e "s/\.gz$$//" ${PKGDIR}/PLIST | \
d80 3
@


1.6
log
@In the post-extract target, chmod the gcc shell scripts to make
sure that they are executable.  On at least one user's system, the
copies taken from /usr/src/contrib did not have their execute bits
set.

Suggested by:	max@@wide.ad.jp
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.5 1996/09/27 02:26:41 jdp Exp $
d11 1
a11 4
MASTER_SITES=	ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/
DISTFILES=	m3-fbsd-src-3.6.tar.gz m3-fbsd-m3cc-3.6.tar.gz
# Note: Depending on what is already installed on the system, the code
# below may add some more DISTFILES.
d15 1
a15 1
NO_WRKSUBDIR=	yes
d17 4
a20 34
# There are two distfiles that may or may not be needed, depending on
# what is already installed on the system.  First, we need an executable
# for the Modula-3 compiler, in order to compile the new compiler, which
# is written in Modula-3.  Often, there will already be such an executable
# installed on the system.  Second, we need many files from gcc-2.7.2.1.
# Often, we can find these in the system sources, under "/usr/src/contrib".
#
# This code tries to avoid fetching the distfiles, unless necessary.
# We look on the system to see whether the necessary files are present,
# and use those if we can.  If we cannot find the needed files, we
# fetch the distfiles.

# For the Modula-3 compiler, we look in ${PREFIX} and in /usr/local.
.ifdef PREFIX
have_boot!=	/bin/sh scripts/check_files files/T.boot installed ${PREFIX}
.else
have_boot=
.endif
.if empty(have_boot)
have_boot!=	/bin/sh scripts/check_files files/T.boot installed /usr/local
.endif
.if empty(have_boot)
DISTFILES+=	m3-fbsd-boot-3.6.tar.gz
.endif

# For gcc-2.7.2.1, we look in /usr/src/contrib.
have_gcc!=	/bin/sh scripts/check_files files/T.gcc m3cc /usr/src/contrib
.if empty(have_gcc)
DISTFILES+=	m3-fbsd-gcc-3.6.tar.gz
.endif

# Startup script, run at boot time
startup_dir=	${PREFIX}/etc/rc.d
startup_script=	${startup_dir}/m3.sh
d26 1
a26 1
temp_prefix=	${WRKDIR}/installed
d28 2
a29 18
# Some parts of the system depend on absolute pathnames into the
# installed tree.  Those parts have to be built after we have moved
# the tree to its final resting place.
late_builds=	m3configvars

post-extract:
.if !empty(have_boot)
	@@echo "Copying bootstrap modula-3 compiler from ${have_boot}"
	@@/bin/sh ${SCRIPTDIR}/copy_files ${FILESDIR}/T.boot installed \
	    ${have_boot} ${WRKDIR}
.endif
.if !empty(have_gcc)
	@@echo "Copying gcc sources from ${have_gcc}"
	@@/bin/sh ${SCRIPTDIR}/copy_files ${FILESDIR}/T.gcc m3cc \
	    ${have_gcc} ${WRKDIR}
.endif
	@@cd ${WRKDIR}/m3cc/gcc; \
	    chmod +x config.sub configure move-if-change
d31 2
a32 39
do-build:
	@@test -d ${temp_prefix}/bin || mkdir -p ${temp_prefix}/bin
	@@test -d ${temp_prefix}/man/man1 || mkdir -p ${temp_prefix}/man/man1
	@@test -d ${temp_prefix}/lib/m3/pkg/m3build/templates || \
	    mkdir -p ${temp_prefix}/lib/m3/pkg/m3build/templates
	@@echo "++++++++++ quake ++++++++++"
	@@test -d ${WRKSRC}/m3/quake/FreeBSD2 || \
	    mkdir -p ${WRKSRC}/m3/quake/FreeBSD2
	@@cd ${WRKSRC}/m3/quake/FreeBSD2; \
	    make -f ../src/makefile TARGET=FreeBSD2 COPT=-O CDEBUG= ; \
	    cp -p quake ${temp_prefix}/bin; \
	    cp -p ../src/quake.1 ${temp_prefix}/man/man1
	@@echo "++++++++++ m3build ++++++++++"
	@@cd ${WRKSRC}/m3/m3build; \
	    PATH=${temp_prefix}/bin:$$PATH ./build FreeBSD2; \
	    cp -p FreeBSD2/m3build FreeBSD2/m3ship FreeBSD2/m3where \
		${temp_prefix}/bin; \
	    cp -p FreeBSD2/m3mkdir ${temp_prefix}/lib/m3/FreeBSD2; \
	    cp -p templates/CLEANUP templates/COMMON templates/COMMON.BOOT \
		templates/FreeBSD2 templates/PLATFORMS templates/POSIX \
		${temp_prefix}/lib/m3/pkg/m3build/templates; \
	    cp -p FreeBSD2/m3build.1 FreeBSD2/m3ship.1 FreeBSD2/m3where.1 \
		${temp_prefix}/man/man1
	@@echo "++++++++++ m3cc ++++++++++"
	@@test -d ${WRKSRC}/m3cc/FreeBSD2 || mkdir -p ${WRKSRC}/m3cc/FreeBSD2
	@@cd ${WRKSRC}/m3cc/FreeBSD2; \
	    ../gcc/configure i486-unknown-freebsd; \
	    make m3cgc1 CC=cc CFLAGS=-O; \
	    cp -p m3cgc1 ${temp_prefix}/lib/m3/FreeBSD2
	@@echo "++++++++++ everything else ++++++++++"
	@@cd ${WRKSRC}/m3; \
	    LD_LIBRARY_PATH=${temp_prefix}/lib/m3/FreeBSD2:$$LD_LIBRARY_PATH; \
	    PATH=${temp_prefix}/bin:$$PATH; \
	    export LD_LIBRARY_PATH PATH; \
	    m3build

pre-install:
	@@echo "Checking for conflicting shared libraries"
	@@PREFIX=${PREFIX} /bin/sh ${PKGDIR}/INSTALL ${PKGNAME} PRE-INSTALL
d40 5
a44 5
	@@echo "Setting permissions of installed files"
	@@/usr/sbin/chown -R ${BINOWN}.${BINGRP} ${temp_prefix}/*
	@@chmod -R go=u-w ${temp_prefix}/*
	@@echo "Copying files to ${PREFIX}"
	@@cp -R -P -p ${temp_prefix}/* ${PREFIX}
d61 2
a62 3
	@@for i in ${late_builds}; do \
	    echo "Building and shipping $${i}"; \
	    cd ${WRKSRC}/m3/$${i}; \
d70 1
a70 2
	    m3ship; \
	    done
d80 6
a85 9
	@@if [ ! -f ${startup_script} ]; then \
	    echo "Installing ${startup_script} file"; \
	    test -d ${startup_dir} || mkdir -p ${startup_dir}; \
	    echo "#!/bin/sh" > ${startup_script}; \
	    echo "echo -n ' Modula-3'" >> ${startup_script}; \
	    echo "/sbin/ldconfig -m ${PREFIX}/lib/m3/FreeBSD2" >> \
		    ${startup_script}; \
	    chmod 755 ${startup_script}; \
	fi
@


1.5
log
@Update to new DEC SRC release 3.6.

Use new custom distfiles which are MUCH smaller than the ones from
DEC.

Use the gcc-2.7.2.1 sources on the system if they are found in
/usr/src/contrib, to avoid having to fetch that distfile.

Use an existing Modula-3 compiler to bootstrap the new one, if
there happens to be one installed on the system.  Again, this
eliminates the need to fetch one of the distfiles.

Update the built-in thread-safe malloc to the latest version of
phkmalloc.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.4 1996/09/12 00:39:41 jdp Exp $
a66 1
	@@${DO_NADA}
d77 2
@


1.4
log
@Helmet on?
Helmet on!

Flameproof vest?
Deployed, Sir!

Heat resistant carbon-fiber cup?
In place!

All defensive systems armed and ready?
Armed and ready, Sir!

Fine, then.  Let's get on with it.  Reduce shared library version numbers!
Uh, Sir, with all due respect ...

DO YOU HEAR ME???  REDUCE SHARED LIBRARY VERSION NUMBERS!!!
Reducing shared library version numbers! ... <*whirr click*> Done!

All right, soldier, let's get the hell out of here...  Soldier? ...  Soldier??
@
text
@d2 1
a2 1
# Version required:	3.5.3
d6 1
a6 1
# $Id: Makefile,v 1.3 1996/09/10 05:23:49 jdp Exp $
d9 1
a9 2
DISTNAME=	modula-3-3.5.3
PKGNAME=	modula-3-3.5.3.2
d11 4
a14 2
MASTER_SITES=	ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5.3/
DISTFILES=	boot-FreeBSD2.tar.gz m3cc.tar.gz m3.tar.gz
a18 1
EXTRACT_BEFORE_ARGS=	--exclude "*.orig" --exclude "*[-~]" -xzf
d20 32
a51 1
# Startup script, run an boot time
d64 1
a64 1
late_builds=	m3configvars llscan
d67 11
a77 11
	@@cd ${WRKSRC}/boot-FreeBSD2; ln -sf ../m3cc .

# Make the effects of the patches available to the bootstrap compiler too.
post-patch:
	@@cd ${WRKSRC}/boot-FreeBSD2/quake/src; \
	    ln -sf ../../../m3/quake/src/utils.c .
	@@cd ${WRKSRC}/boot-FreeBSD2/m3core/FreeBSD2; \
	    ln -sf ../../../m3/m3core/src/runtime/FreeBSD2/RTHeapDepC.c .
	@@cd ${WRKSRC}/boot-FreeBSD2/m3build/templates; \
	    ln -sf ../../../m3/m3build/templates/FreeBSD2 .; \
	    ln -sf ../../../m3/m3build/templates/PLATFORMS .
d80 29
a108 6
	@@test -d ${temp_prefix} || mkdir -p ${temp_prefix}
	@@echo "Building bootstrap compiler"
	@@cd ${WRKSRC}/boot-FreeBSD2; umask 022; ./m3boot
	@@echo "Shipping bootstrap compiler"
	@@cd ${WRKSRC}/boot-FreeBSD2; umask 022; ./m3ship
	@@echo "Building and shipping the rest of the system"
a110 1
	    export LD_LIBRARY_PATH; \
d112 1
a112 2
	    export PATH; \
	    umask 022; \
d120 6
a125 1
	@@echo "Setting owner and group of installed files"
d127 1
d131 1
a131 1
	@@/bin/sh scripts/fix_pathnames ${temp_prefix} ${PREFIX}
a134 1
	    export LD_LIBRARY_PATH; \
d136 1
a136 1
	    export PATH; \
d138 8
a145 6
	    m3build -T ${PREFIX}/lib/m3/pkg/m3build/templates \
		-F ${PREFIX}/lib/m3/pkg/m3build/templates/COMMON.BOOT clean; \
	    m3build -T ${PREFIX}/lib/m3/pkg/m3build/templates \
		-F ${PREFIX}/lib/m3/pkg/m3build/templates/COMMON.BOOT; \
	    FreeBSD2/m3ship; \
	    rm -rf FreeBSD2
d154 1
a154 1
	    m3build clean; \
a156 1
	    rm -rf FreeBSD2; \
d159 3
a161 3
	@@for i in `cat ${FILESDIR}/files.strip`; do \
	    test ! -f ${PREFIX}/$${i} || strip ${PREFIX}/$${i}; \
	    done
d164 2
a165 3
	@@for i in `cat ${FILESDIR}/files.compress`; do \
	    test ! -f ${PREFIX}/$${i} || gzip -9nf ${PREFIX}/$${i}; \
	    done
d168 1
a168 1
	    echo "Installing ${startup_script} file."; \
d171 1
@


1.3
log
@Update the Modula-3 port with two main goals in mind.

First, change the port so that it builds a much smaller subset of
the SRC distribution.  This eliminates the enormous swap space
requirements of the earlier port, greatly reduces the footprint of
the installed tree, and cuts the size of the package in half.

Second, include many important new patches.  Among them is a slightly
modified version of phkmalloc that is thread-safe for Modula-3.
It eradicates some rare and baffling core dumps that cropped up
from time to time in the previous version of the port.  The Modula-3
runtime itself is careful to use mutual exclusion around calls to
malloc.  But there remained some sneaky backdoor paths into it from
external libraries.

Confession: In the original version of the Modula-3 port, I used
a major version number of 353 for the shared libraries, to correspond
with the SRC version number 3.5.3.  That was a dumb move -- I should
have used 1.  The current update is incompatible at the shared
library level, requiring me to increment the major version number
to 354, even though this is still based on SRC release 3.5.3.  This
is bound to confuse some folks, unfortunately.  I weighed a number
of alternatives, such as (a) cheating and going back to 1, and (b)
using a 4-digit major version such as 3531.  But in the end I
decided that 354 would be the best solution, even though it's
confusing.
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.2 1996/03/22 15:46:41 jdp Exp $
d10 1
a10 1
PKGNAME=	modula-3-3.5.3.1
d62 4
@


1.2
log
@Correct the package CATEGORIES from "languages" to "lang".
@
text
@d6 1
a6 1
# $Id: Makefile,v 1.1.1.1 1996/03/20 22:10:18 jdp Exp $
d10 1
d18 5
a22 1
EXTRACT_BEFORE_ARGS=	--exclude "*.orig" -xzf
d36 11
a46 1
	cd ${WRKSRC}/boot-FreeBSD2; ln -sf ../m3cc .
d51 1
a51 1
	@@cd ${WRKSRC}/boot-FreeBSD2; ./m3boot
d53 1
a53 1
	@@cd ${WRKSRC}/boot-FreeBSD2; ./m3ship
d60 1
d64 2
a65 1
	@@test -d ${PREFIX} || mkdir -p ${PREFIX}
d76 1
d90 1
d106 8
a113 2
	@@echo "Fixing permissions with mtree"
	@@${MTREE_CMD} -e -U -f ${FILESDIR}/mtree.in -p ${PREFIX}
a115 2
	@@echo "Be sure to add ${PREFIX}/lib/m3/FreeBSD2 to"
	@@echo "  your ldconfig command in /etc/rc"
@


1.1
log
@Initial revision
@
text
@d6 1
a6 1
# $Id$
d10 1
a10 1
CATEGORIES+=	languages
@


1.1.1.1
log
@Modula-3 language system from DEC Systems Research Center.
@
text
@@
