summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Polstra <jdp@FreeBSD.org>2001-07-21 23:41:46 +0000
committerJohn Polstra <jdp@FreeBSD.org>2001-07-21 23:41:46 +0000
commit38972b0a463d6d2ef998fe878d5b1f0a39836493 (patch)
tree06622cb9a83f64b238c96e3a231adc9a57016a33
parentUnhook the obsolete modula-3 and modula-3-lib ports from the (diff)
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
Notes
Notes: svn path=/head/; revision=45330
-rw-r--r--lang/modula-3-lib/Makefile161
-rw-r--r--lang/modula-3-lib/distinfo5
-rw-r--r--lang/modula-3-lib/files/50.m3.sh20
-rw-r--r--lang/modula-3-lib/files/FreeBSD2.aout337
-rw-r--r--lang/modula-3-lib/files/FreeBSD2.elf334
-rw-r--r--lang/modula-3-lib/files/README.distfiles52
-rw-r--r--lang/modula-3-lib/files/T.boot1
-rw-r--r--lang/modula-3-lib/files/T.gcc115
-rw-r--r--lang/modula-3-lib/files/T.m3cc13
-rw-r--r--lang/modula-3-lib/files/T.src42
-rw-r--r--lang/modula-3-lib/files/X.boot3
-rw-r--r--lang/modula-3-lib/files/X.gcc3
-rw-r--r--lang/modula-3-lib/files/X.m3cc3
-rw-r--r--lang/modula-3-lib/files/X.src51
-rw-r--r--lang/modula-3-lib/files/extra-patch-new-sigset-aa192
-rw-r--r--lang/modula-3-lib/files/extra-patch-new-sigset-ab32
-rw-r--r--lang/modula-3-lib/files/extra-patch-new-sigset-ac30
-rw-r--r--lang/modula-3-lib/files/extra-patch-old-sigset-aa108
-rw-r--r--lang/modula-3-lib/files/patch-aa17
-rw-r--r--lang/modula-3-lib/files/patch-ab740
-rw-r--r--lang/modula-3-lib/files/patch-ae18
-rw-r--r--lang/modula-3-lib/files/patch-ah13
-rw-r--r--lang/modula-3-lib/files/patch-ai18
-rw-r--r--lang/modula-3-lib/files/patch-aj16
-rw-r--r--lang/modula-3-lib/files/patch-ak610
-rw-r--r--lang/modula-3-lib/files/patch-am96
-rw-r--r--lang/modula-3-lib/files/patch-aq219
-rw-r--r--lang/modula-3-lib/files/patch-ar48
-rw-r--r--lang/modula-3-lib/files/patch-at68
-rw-r--r--lang/modula-3-lib/files/patch-av417
-rw-r--r--lang/modula-3-lib/files/patch-aw43
-rw-r--r--lang/modula-3-lib/files/patch-ax65
-rw-r--r--lang/modula-3-lib/files/patch-ay16
-rw-r--r--lang/modula-3-lib/files/patch-bf31
-rw-r--r--lang/modula-3-lib/files/patch-bg1199
-rw-r--r--lang/modula-3-lib/files/patch-bi37
-rw-r--r--lang/modula-3-lib/files/patch-bj438
-rw-r--r--lang/modula-3-lib/files/patch-bk82
-rw-r--r--lang/modula-3-lib/files/patch-bl24
-rw-r--r--lang/modula-3-lib/files/patch-bm17
-rw-r--r--lang/modula-3-lib/files/patch-bn23
-rw-r--r--lang/modula-3-lib/files/patch-bp112
-rw-r--r--lang/modula-3-lib/files/patch-bq31
-rw-r--r--lang/modula-3-lib/files/patch-br61
-rw-r--r--lang/modula-3-lib/files/patch-bs18
-rw-r--r--lang/modula-3-lib/files/patch-bt22
-rw-r--r--lang/modula-3-lib/files/patch-bu29
-rw-r--r--lang/modula-3-lib/files/patch-bv11
-rw-r--r--lang/modula-3-lib/files/patch-bw38
-rw-r--r--lang/modula-3-lib/pkg-comment1
-rw-r--r--lang/modula-3-lib/pkg-descr9
-rw-r--r--lang/modula-3-lib/pkg-install74
-rw-r--r--lang/modula-3-lib/pkg-plist88
-rw-r--r--lang/modula-3-lib/pkg-plist.noX1156
-rw-r--r--lang/modula-3-lib/scripts/check_files29
-rw-r--r--lang/modula-3-lib/scripts/configure45
-rw-r--r--lang/modula-3-lib/scripts/copy_files16
-rw-r--r--lang/modula-3/Makefile112
-rw-r--r--lang/modula-3/pkg-comment1
-rw-r--r--lang/modula-3/pkg-descr43
-rw-r--r--lang/modula-3/pkg-plist798
-rw-r--r--lang/modula-3/pkg-plist.noX11483
-rw-r--r--lang/modula-3/scripts/configure23
-rw-r--r--lang/modula-3/scripts/fix_pathnames29
-rw-r--r--lang/modula-3/scripts/maybe-strip7
65 files changed, 0 insertions, 7893 deletions
diff --git a/lang/modula-3-lib/Makefile b/lang/modula-3-lib/Makefile
deleted file mode 100644
index 5724f1b5f89f..000000000000
--- a/lang/modula-3-lib/Makefile
+++ /dev/null
@@ -1,161 +0,0 @@
-# New ports collection makefile for: modula-3-lib
-# Date created: 28 Oct 1996
-# Whom: John Polstra <jdp@polstra.com>
-#
-# $FreeBSD$
-#
-
-PORTNAME= modula-3-lib
-PORTVERSION= 3.6
-CATEGORIES= lang
-MASTER_SITES= ${MASTER_SITE_LOCAL}
-MASTER_SITE_SUBDIR= asami/LOCAL_PORTS
-DISTFILES= m3-fbsd-src-3.6.tar.gz \
- m3-fbsd-m3cc-3.6.tar.gz \
- m3-fbsd-m3ccelf-3.6.tar.gz \
- m3-fbsd-gcc-3.6.tar.gz
-# Note: Depending on what is already installed on the system, the code
-# below may add some more DISTFILES.
-
-MAINTAINER= jdp@polstra.com
-
-NO_WRKSUBDIR= yes
-SCRIPTS_ENV+= MAJOR=${major} PKGDIR=${PKGDIR} PLIST=${PLIST}
-
-# 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
-
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 400011
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-new-sigset-aa \
- ${PATCHDIR}/extra-patch-new-sigset-ab \
- ${PATCHDIR}/extra-patch-new-sigset-ac
-.else
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-old-sigset-aa
-.endif
-
-# Startup script, run at boot time
-startup_dir= ${PREFIX}/etc/rc.d
-startup_script= ${startup_dir}/50.m3.sh
-
-# 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
-
-# Where shared libraries are installed, relative to the PREFIX.
-libdir= lib/m3/FreeBSD2
-
-# Shared library major version number
-major= 6
-
-# 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\"."
-
-USE_XLIB= yes
-PLIST= ${WRKDIR}/pkg-plist
-.endif
-
-post-extract:
-.if !empty(have_boot)
- @${ECHO_MSG} "Copying bootstrap modula-3 compiler from ${have_boot}"
- @${SH} ${SCRIPTDIR}/copy_files ${FILESDIR}/T.boot installed \
- ${have_boot} ${WRKSRC}
-.endif
- @cd ${WRKSRC}/m3cc/gcc; \
- ${CHMOD} +x config.sub configure move-if-change
-
-do-build:
- @test -d ${temp_prefix}/bin || ${MKDIR} ${temp_prefix}/bin
- @test -d ${temp_prefix}/man/man1 || ${MKDIR} ${temp_prefix}/man/man1
- @test -d ${temp_prefix}/lib/m3/pkg/m3build/templates || \
- ${MKDIR} ${temp_prefix}/lib/m3/pkg/m3build/templates
- @${ECHO_MSG} "++++++++++ quake ++++++++++"
- @test -d ${WRKSRC}/m3/quake/FreeBSD2 || \
- ${MKDIR} ${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_MSG} "++++++++++ 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}/${libdir}; \
- ${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_MSG} "++++++++++ m3cc ++++++++++"
- @test -d ${WRKSRC}/m3cc/FreeBSD2 || ${MKDIR} ${WRKSRC}/m3cc/FreeBSD2
- @cd ${WRKSRC}/m3cc/FreeBSD2; \
- ../gcc/configure i486-unknown-freebsd; \
- make m3cgc1 CC="${CC}" CFLAGS="${CFLAGS}"; \
- ${CP} -p m3cgc1 ${temp_prefix}/${libdir}
- @${ECHO_MSG} "++++++++++ everything else ++++++++++"
- @cd ${WRKSRC}/m3; \
- LD_LIBRARY_PATH=${temp_prefix}/${libdir}:$$LD_LIBRARY_PATH; \
- PATH=${temp_prefix}/bin:$$PATH; \
- export LD_LIBRARY_PATH PATH; \
- m3build
-
-pre-install:
- @${ECHO_MSG} "Checking for conflicting shared libraries"
- @PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
-
-do-install:
- @${ECHO_MSG} "Installing shared libraries"
- @cd ${temp_prefix}; \
- umask 022; \
- ${GREP} '^lib/m3/' ${PLIST}.real | \
- cpio -dump -R ${BINOWN}.${BINGRP} ${PREFIX}
- @cd ${PREFIX}; \
- ${GREP} '^lib/m3/' ${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} "Installing copyright notice"
- @if [ ! -d ${PREFIX}/share/modula-3-lib ]; then \
- ${MKDIR} ${PREFIX}/share/modula-3-lib; \
- ${CHMOD} 755 ${PREFIX}/share/modula-3-lib; \
- fi
- @${INSTALL_DATA} ${WRKSRC}/m3/src/COPYRIGHT \
- ${PREFIX}/share/modula-3-lib
- @if [ ! -f ${startup_script} ]; then \
- ${ECHO_MSG} "Installing ${startup_script} file"; \
- test -d ${startup_dir} || ${MKDIR} ${startup_dir}; \
- ${INSTALL_SCRIPT} ${FILESDIR}/50.m3.sh ${startup_script}; \
- fi
- @${ECHO_MSG} "Running ldconfig"
- @${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib/m3/FreeBSD2
-
-.include <bsd.port.post.mk>
diff --git a/lang/modula-3-lib/distinfo b/lang/modula-3-lib/distinfo
deleted file mode 100644
index 1a0d0329f8b1..000000000000
--- a/lang/modula-3-lib/distinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-MD5 (m3-fbsd-boot-3.6.tar.gz) = e65eb3d2466957d64989c6aeac1c7264
-MD5 (m3-fbsd-gcc-3.6.tar.gz) = d65a3316d4e3e5d7e901bbd3ef2b53a0
-MD5 (m3-fbsd-m3cc-3.6.tar.gz) = 2b65a26c1199b2871299dba4c4bfac71
-MD5 (m3-fbsd-m3ccelf-3.6.tar.gz) = 6d3923c634b6d71a2bf14627ef7d564a
-MD5 (m3-fbsd-src-3.6.tar.gz) = 7e8e83ee8444b6d045566a7a90f33ffa
diff --git a/lang/modula-3-lib/files/50.m3.sh b/lang/modula-3-lib/files/50.m3.sh
deleted file mode 100644
index fb69bd7e97e4..000000000000
--- a/lang/modula-3-lib/files/50.m3.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
- echo "$0: Cannot determine the PREFIX" >&2
- exit 1
-fi
-
-case "$1" in
-start)
- echo -n ' Modula-3'
- ldconfig -m ${PREFIX}/lib/m3/FreeBSD2
- ;;
-stop)
- ;;
-*)
- echo "Usage: `basename $0` {start|stop}" >&2
- ;;
-esac
-
-exit 0
diff --git a/lang/modula-3-lib/files/FreeBSD2.aout b/lang/modula-3-lib/files/FreeBSD2.aout
deleted file mode 100644
index 09090b71e63d..000000000000
--- a/lang/modula-3-lib/files/FreeBSD2.aout
+++ /dev/null
@@ -1,337 +0,0 @@
-% Copyright (C) 1989, 1992 Digital Equipment Corporation
-% All rights reserved.
-% See the file COPYRIGHT for a full description.
-%
-% Last Modified On Thu Jun 20 12:17:07 PDT 1996 By heydon
-% Modified On Wed Oct 11 13:31:43 PDT 1995 By najork
-% Modified On Wed Jun 14 13:34:49 PDT 1995 By kalsow
-% Modified On Thu Apr 8 13:45:49 PDT 1993 by muller
-%
-% Sun Nov 27 20:19:31 MET 1994 by ow
-% Fri Feb 2 15:04:50 PST 1996 by jdp@polstra.com
-%
-% FreeBSD 2.1 and 2.2 configuration, with shared library support
-%
-
-%-------------------------------------------------- compilation environment ---
-
-readonly TARGET = "FreeBSD2"
-readonly DEFAULT_BUILD_DIR = TARGET
-
-include ("PLATFORMS") % get the target-dependent mappings
-include (OS_TYPE) % get the OS-dependent functions
-
-readonly NAMING_CONVENTIONS = "0"
-% object files libraries
-% 0=Unix => .o .io .mo libXX.a
-% 1=Unix with a grumpy C compiler => .o _i.o _m.o libXX.a
-% 2=Windows/NT => .obj .io .mo XX.lib
-%
-
-%------------------------------------------------------------- export paths ---
-% During the installation, destination directories that do not exist
-% will be created. You need the necessary permissions to do so; otherwise,
-% the installation will fail, but can be restarted after you have
-% fixed the permissions.
-
-INSTALL_ROOT = "/usr/local/"
-%-- handy for installations that keep all M3 stuff together
-
-BIN_INSTALL = INSTALL_ROOT & "bin" % executables
-LIB_INSTALL = INSTALL_ROOT & "lib/m3/" & TARGET % libraries
-DOC_INSTALL = INSTALL_ROOT & "lib/m3/doc" % documents
-PKG_INSTALL = INSTALL_ROOT & "lib/m3/pkg" % packages
-EMACS_INSTALL = INSTALL_ROOT & "lib/elisp" % emacs lisp code
-MAN_INSTALL = INSTALL_ROOT & "man" % man pages
-HTML_INSTALL = INSTALL_ROOT & "lib/m3/www" % public hypertext
-
-WDROOT = $HOME & "/m3/pkg" % handy default for overrides
-
-% The manual pages normally go in subdirectories man{1,...8} of
-% the MAN_INSTALL directory. If you prefer to have them all in
-% a single section, define MAN_SECTION to be that section's name.
-% MAN_SECTION = "l"
-
-% On some systems (e.g. AFS) you must install public files in a different
-% place from where you use them. If that is the case for your system,
-% specify the "use" location here, otherwise leave them alone.
-BIN_USE = BIN_INSTALL
-LIB_USE = LIB_INSTALL
-PKG_USE = PKG_INSTALL
-
-% This is a relative path from LIB_USE to PKG_USE, so that we can avoid
-% installing absolute symbolic links. If you cannot support such relative
-% links, then make it the same as PKG_USE.
-LIB_TO_PKG = "../pkg"
-
-readonly INSTALL_IMPLS = ""
-% "TRUE"
-% => save all source files during the install
-% => makes debugging easier and browsing more fruitful
-% "" (i.e. FALSE)
-% => save only the exported interfaces and templates
-% => makes the installed system slightly smaller.
-
-readonly NEED_OBJECTS = "TRUE"
-% "TRUE"
-% => accumulate a list of derived objects in COMPILE_OBJECTS
-% => for building shared libraries in the library_hooks function below
-% ""
-% => don't bother
-
-%---------------------------------------------------------------------- X11 ---
-% If you have X11R4 installed and would like the X11R4 binding interfaces
-% to be built, define the procedure "import_X11R4" to import the libraries
-% that are needed. Otherwise, define "import_X11R4" to be an empty procedure.
-%
-% If you use the MIT server with DECnet support, you need X11 and dnet,
-% otherwise X11 should be enough.
-%
-% Since X11R5 is an extension of X11R4, you can use the X11R5 libraries
-% instead of X11R4. However, the Modula-3 binding interfaces have not
-% yet been upgraded to X11R5.
-%
-% "import_X11R4" is called from the X11R4 package.
-% "import_Motif" is called from the motif package.
-% "import_DECPEX" is called from the PEX package.
-% "import_OpenGL" is called from the opengl package.
-% "import_TCP" is called from the tcp package.
-
-readonly proc import_X11R4() is
- import_lib("Xaw", "/usr/X11R6/lib")
- import_lib("Xmu", "/usr/X11R6/lib")
- import_lib("Xt", "/usr/X11R6/lib")
- import_lib("SM", "/usr/X11R6/lib")
- import_lib("ICE", "/usr/X11R6/lib")
- import_lib("Xext", "/usr/X11R6/lib")
- import_lib("X11", "/usr/X11R6/lib")
-end
-
-readonly proc import_Motif() is
- import_lib("Xm", "/usr/X11R6/lib")
-end
-
-readonly proc import_DECPEX() is
- % DEC PEX differs from MIT PEX, and is only supported on Digital machines.
-end
-
-readonly proc import_OpenGL() is
- % import_lib (GLU, "/usr/lib")
- % import_lib (GL, "/usr/lib")
- % import_lib (Xext, "/usr/lib")
-end
-
-readonly proc import_TCP() is
-end
-
-readonly PLATFORM_SUPPORTS_X = (not stale ("/usr/X11R6/lib/libX11.a",
- "/usr/X11R6/lib/libX11.a"))
-readonly PLATFORM_SUPPORTS_MOTIF = (not stale ("/usr/X11R6/lib/libXm.a",
- "/usr/X11R6/lib/libXm.a"))
-readonly PLATFORM_SUPPORTS_DECPEX = ""
-readonly PLATFORM_SUPPORTS_OPENGL = ""
-
-% Does your X11 server have the shared memory extension?
-readonly X11_WITH_SHARED_MEM = "TRUE"
-
-%-------------------------------------------------------------------- emacs ---
-% If you have emacs and want to compile ".el" files to ".elc" files,
-% fill in the function below. Otherwise, comment out or delete the
-% entire function. Note, the distributed code assumes gnuemacs version 19
-% or later.
-
-%readonly proc emacs_compile (el) is
-% exec ("emacs -batch -f batch-byte-compile", el)
-%end
-
-%---------------------------------------------------- C compiler and linker ---
-% The following definitions are used to compile and link C modules.
-% Note that these definitions can be overridden on the m3build command
-% line with "-D". (e.g. m3build -DCC=gcc)
-%
-% _ifdef(a,b,c) == if defined(a) return b else return c
-%
-% The actual definitions must be kept on one line due to finicky details
-% of the bootstrap process.
-
-CC = _ifdef ("CC", CC, [ "cc", "-fpic" ])
-%--- C compiler with flags for compiling a single ".c" file
-
-LINK = _ifdef ("LINK", LINK, [ "ld", "-e", "start", "-dc", "-dp", "-L/usr/lib/aout", "-R!PREFIX!/lib/m3/" & TARGET & ":!PREFIX!/lib:/usr/X11R6/lib", "/usr/lib/crt0.o" ])
-%--- C compiler with flags for linking
-
-MAKELIB = _ifdef ("MAKELIB", MAKELIB, [ "ar", "cru" ])
-%--- program to build library archives
-
-RANLIB = _ifdef ("RANLIB", RANLIB, [ "ranlib" ])
-%--- program to index libraries
-
-ASM = _ifdef ("ASM", ASM, [ "as", "-k" ])
-%--- assembler
-
-BOOT_LINK = _ifdef ("BOOT_LINK", BOOT_LINK, [ "cc" ])
-%--- C compiler with flags for linking, used during the bootstrap process.
-% We have to use "cc" for the bootstrap, because the "-z2" option
-% ("libraries systematically linked with all programs") doesn't get used
-% during the bootstrap process. If we use "ld", then the C library isn't
-% linked in.
-
-%------------------------------------------------------------- GNU variants ---
-% The two large pieces of GNU software used by the Modula-3 system
-% gcc(=m3cc) and gdb(=m3gdb) often require slightly different C compilers
-% or flags. They are specified here. Note that they may be overridden
-% from the m3build command line.
-%
-% To use the GNU defaults for CC and CFLAGS, specify "*".
-%
-
-GNU_CC = _ifdef ("GNU_CC", GNU_CC, "cc")
-GNU_CFLAGS = _ifdef ("GNU_CFLAGS", GNU_CFLAGS, "-O")
-GNU_MAKE = _ifdef ("GNU_MAKE", GNU_MAKE, "make")
-
-%-------------------------------------------------------- Modula-3 compiler ---
-% The syntax for the values passed to most of the M3_CONFIG options is
-% "@pgm@arg1@...@argn@" where "@" is an arbitrary character. The
-% separator character must begin and end the value.
-
-% Where is the driver?
-M3 = LIB_USE & "/m3"
-
-% What are the standard flags?
-M3OPTIONS = [ "-w1", "-why", "-O" ]
-% ------ FOR DEBUGGING INFO, add "-g"
-
-M3_CONFIG = [
- "-Y1" & _pack_args (CC),
- "-Y2" & _pack_args (LINK),
- "-Y3" & _pack_args (MAKELIB),
- "-Y4" & _pack_args (RANLIB),
- "-Y7" & _pack_args (ASM),
-
- "-Y6@" & LIB_USE & "/m3cgc1@-maout@-munderscores@-quiet@-fpic@",
- % --- the Modula-3 IL to assembly language pass
-
- "-z2@-lm@/usr/lib/libgcc.a@-lc@/usr/lib/libgcc.a@",
- % --- libraries systematically linked with all programs
-
- "-z3" & LIB_USE & SL & "report_coverage.o",
- % --- library linked in programs compiled with "-Z" coverage option
-
- "-z5" & NAMING_CONVENTIONS,
- % Set the host naming conventions.
-
- "-z60",
- % Values of "-z6":
- % "0" => the m3 driver will split library names and pass -L/-l
- % arguments to the linker
- % "1" => the m3 driver will pass libraries with full path names
- % "2" => like "0" except that for shared libraries, the driver
- % passes -Rdir as well as -Ldir to the linker
-
- "-zA0",
- % The "-zA" option specifies the maximum size (in megabytes) that Pass0
- % is allowed to reach as a persistent server before the driver kills it.
- % Setting it to zero disables server mode.
- % NOTE: the current compiler is buggy, leave "-zA" alone!
-
- "-zB@-O@", % --- pass 1 options implied by "-O"
- "-zC@-O@", % --- pass 6 options implied by "-O"
- "-zD@@", % --- pass 7 options implied by "-O"
-
- "-zE@-g@", % --- pass 1 options implied by "-g"
- "-zF@-g@", % --- pass 6 options implied by "-g"
- "-zG@@", % --- pass 7 options implied by "-g"
-
- "-zH" & NAMING_CONVENTIONS,
- % --- the target's naming conventions
-
- "-zI" & TARGET,
- % --- the target architecture
-
- % "-zJ10",
- % The option "-zJx1" specifies that pass "x" is "noisy", "-zJx0"
- % specifices that it's not. The default is to assume that passes
- % are not noisy. The driver collects the standard output of noisy
- % passes in a file and then deletes the file, unless "-keep" or
- % "-verbose" is specified.
-
- "-zK1",
- % --- Set the value of "-zK" to "1" if you want the m3 driver to
- % supply -Bdynamic/-Bstatic options to the linker, "0" otherwise.
-
- "-Bdynamic",
- % --- libraries are shared by default. If you give -zK1 you should
- % also provide an initial -Bdynamic or -Bstatic.
-
- "-zL0"
- % --- Set the value of "-zL" to "1" if you want .M3LINK files produced
- % for a dynamic loader
-]
-
-proc build_standalone() is
- % --- reset the linker to avoid shared libraries.
- M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-maout@-munderscores@-quiet@"
- M3_CONFIG += "-Y7@as@"
- M3_CONFIG += "-Bstatic"
-end
-
-proc build_shared() is
- % --- reset the linker to use shared libraries.
-end
-
-%-------------------------------------------------------------------- hooks ---
-% These are the "last chance" hooks that are called each time a library
-% or program is built. They might build shared libraries or strip
-% executables...
-
-proc before_library_hooks(x) is
-end
-
-proc after_library_hooks(x) is
- local lib_a = format ("lib%s.a", x)
- local lib_so = format ("lib%s.so", x)
- local lib_sox = format ("lib%s.so.6.0", x)
- local link_so = format ("%s%s%s%s%s%s%s", PKG_INSTALL, SL, BUILD_PACKAGE,
- SL, BUILD_DIR, SL, lib_so)
-
- if defined ("_all")
- if stale (lib_a, lib_a)
- write ("missing ", lib_a, ": not building ", lib_sox, CR)
- else
- if stale (lib_sox, lib_a)
- exec ("ld -Bshareable -assert pure-text -o",
- lib_sox, COMPILE_OBJECTS)
- end
- install_derived (lib_sox)
- >> M3SHIP_FILE in
- write ("link_file(\"", escape(lib_sox), "\", \"", escape(link_so),
- "\")", CR)
- end
- install_link_to_derived (lib_sox, LIB_INSTALL)
- install_link_to_derived (lib_so, LIB_INSTALL)
- end
- end
- deriveds (lib_sox, no_extension)
- deriveds (lib_so, no_extension)
-end
-
-proc before_program_hooks(x) is
-end
-
-proc after_program_hooks(x) is
-end
-
-%------------------------------------------------------------- installation ---
-% "install_file" is called during an "m3build install" for
-% each file that neededs to be externally exported.
-
-readonly proc install_file (src, dest, mode) is
- Note_install (src, dest)
- % exec ("@cp -p -f", src, dest)
- exec ("@install -c -m", mode, src, dest)
-end
-
-%---------------------------------------------- the rest of the environment ---
-
-if defined("_bootstrap") include("COMMON.BOOT") end
-include ("COMMON")
diff --git a/lang/modula-3-lib/files/FreeBSD2.elf b/lang/modula-3-lib/files/FreeBSD2.elf
deleted file mode 100644
index a2f797c97d45..000000000000
--- a/lang/modula-3-lib/files/FreeBSD2.elf
+++ /dev/null
@@ -1,334 +0,0 @@
-% Copyright (C) 1989, 1992 Digital Equipment Corporation
-% All rights reserved.
-% See the file COPYRIGHT for a full description.
-%
-% Last Modified On Thu Jun 20 12:17:07 PDT 1996 By heydon
-% Modified On Wed Oct 11 13:31:43 PDT 1995 By najork
-% Modified On Wed Jun 14 13:34:49 PDT 1995 By kalsow
-% Modified On Thu Apr 8 13:45:49 PDT 1993 by muller
-%
-% Sun Nov 27 20:19:31 MET 1994 by ow
-% Fri Feb 2 15:04:50 PST 1996 by jdp@polstra.com
-%
-% FreeBSD 2.1 and 2.2 configuration, with shared library support
-%
-
-%-------------------------------------------------- compilation environment ---
-
-readonly TARGET = "FreeBSD2"
-readonly DEFAULT_BUILD_DIR = TARGET
-
-include ("PLATFORMS") % get the target-dependent mappings
-include (OS_TYPE) % get the OS-dependent functions
-
-readonly NAMING_CONVENTIONS = "0"
-% object files libraries
-% 0=Unix => .o .io .mo libXX.a
-% 1=Unix with a grumpy C compiler => .o _i.o _m.o libXX.a
-% 2=Windows/NT => .obj .io .mo XX.lib
-%
-
-%------------------------------------------------------------- export paths ---
-% During the installation, destination directories that do not exist
-% will be created. You need the necessary permissions to do so; otherwise,
-% the installation will fail, but can be restarted after you have
-% fixed the permissions.
-
-INSTALL_ROOT = "/usr/local/"
-%-- handy for installations that keep all M3 stuff together
-
-BIN_INSTALL = INSTALL_ROOT & "bin" % executables
-LIB_INSTALL = INSTALL_ROOT & "lib/m3/" & TARGET % libraries
-DOC_INSTALL = INSTALL_ROOT & "lib/m3/doc" % documents
-PKG_INSTALL = INSTALL_ROOT & "lib/m3/pkg" % packages
-EMACS_INSTALL = INSTALL_ROOT & "lib/elisp" % emacs lisp code
-MAN_INSTALL = INSTALL_ROOT & "man" % man pages
-HTML_INSTALL = INSTALL_ROOT & "lib/m3/www" % public hypertext
-
-WDROOT = $HOME & "/m3/pkg" % handy default for overrides
-
-% The manual pages normally go in subdirectories man{1,...8} of
-% the MAN_INSTALL directory. If you prefer to have them all in
-% a single section, define MAN_SECTION to be that section's name.
-% MAN_SECTION = "l"
-
-% On some systems (e.g. AFS) you must install public files in a different
-% place from where you use them. If that is the case for your system,
-% specify the "use" location here, otherwise leave them alone.
-BIN_USE = BIN_INSTALL
-LIB_USE = LIB_INSTALL
-PKG_USE = PKG_INSTALL
-
-% This is a relative path from LIB_USE to PKG_USE, so that we can avoid
-% installing absolute symbolic links. If you cannot support such relative
-% links, then make it the same as PKG_USE.
-LIB_TO_PKG = "../pkg"
-
-readonly INSTALL_IMPLS = ""
-% "TRUE"
-% => save all source files during the install
-% => makes debugging easier and browsing more fruitful
-% "" (i.e. FALSE)
-% => save only the exported interfaces and templates
-% => makes the installed system slightly smaller.
-
-readonly NEED_OBJECTS = "TRUE"
-% "TRUE"
-% => accumulate a list of derived objects in COMPILE_OBJECTS
-% => for building shared libraries in the library_hooks function below
-% ""
-% => don't bother
-
-%---------------------------------------------------------------------- X11 ---
-% If you have X11R4 installed and would like the X11R4 binding interfaces
-% to be built, define the procedure "import_X11R4" to import the libraries
-% that are needed. Otherwise, define "import_X11R4" to be an empty procedure.
-%
-% If you use the MIT server with DECnet support, you need X11 and dnet,
-% otherwise X11 should be enough.
-%
-% Since X11R5 is an extension of X11R4, you can use the X11R5 libraries
-% instead of X11R4. However, the Modula-3 binding interfaces have not
-% yet been upgraded to X11R5.
-%
-% "import_X11R4" is called from the X11R4 package.
-% "import_Motif" is called from the motif package.
-% "import_DECPEX" is called from the PEX package.
-% "import_OpenGL" is called from the opengl package.
-% "import_TCP" is called from the tcp package.
-
-readonly proc import_X11R4() is
- import_lib("Xaw", "/usr/X11R6/lib")
- import_lib("Xmu", "/usr/X11R6/lib")
- import_lib("Xt", "/usr/X11R6/lib")
- import_lib("SM", "/usr/X11R6/lib")
- import_lib("ICE", "/usr/X11R6/lib")
- import_lib("Xext", "/usr/X11R6/lib")
- import_lib("X11", "/usr/X11R6/lib")
-end
-
-readonly proc import_Motif() is
- import_lib("Xm", "/usr/X11R6/lib")
-end
-
-readonly proc import_DECPEX() is
- % DEC PEX differs from MIT PEX, and is only supported on Digital machines.
-end
-
-readonly proc import_OpenGL() is
- % import_lib (GLU, "/usr/lib")
- % import_lib (GL, "/usr/lib")
- % import_lib (Xext, "/usr/lib")
-end
-
-readonly proc import_TCP() is
-end
-
-readonly PLATFORM_SUPPORTS_X = (not stale ("/usr/X11R6/lib/libX11.a",
- "/usr/X11R6/lib/libX11.a"))
-readonly PLATFORM_SUPPORTS_MOTIF = (not stale ("/usr/X11R6/lib/libXm.a",
- "/usr/X11R6/lib/libXm.a"))
-readonly PLATFORM_SUPPORTS_DECPEX = ""
-readonly PLATFORM_SUPPORTS_OPENGL = ""
-
-% Does your X11 server have the shared memory extension?
-readonly X11_WITH_SHARED_MEM = "TRUE"
-
-%-------------------------------------------------------------------- emacs ---
-% If you have emacs and want to compile ".el" files to ".elc" files,
-% fill in the function below. Otherwise, comment out or delete the
-% entire function. Note, the distributed code assumes gnuemacs version 19
-% or later.
-
-%readonly proc emacs_compile (el) is
-% exec ("emacs -batch -f batch-byte-compile", el)
-%end
-
-%---------------------------------------------------- C compiler and linker ---
-% The following definitions are used to compile and link C modules.
-% Note that these definitions can be overridden on the m3build command
-% line with "-D". (e.g. m3build -DCC=gcc)
-%
-% _ifdef(a,b,c) == if defined(a) return b else return c
-%
-% The actual definitions must be kept on one line due to finicky details
-% of the bootstrap process.
-
-CC = _ifdef ("CC", CC, [ "cc", "-fpic" ])
-%--- C compiler with flags for compiling a single ".c" file
-
-LINK = _ifdef ("LINK", LINK, [ "cc", "-Wl,-R!PREFIX!/lib/m3/" & TARGET & ":!PREFIX!/lib:/usr/X11R6/lib" ])
-%--- C compiler with flags for linking
-
-MAKELIB = _ifdef ("MAKELIB", MAKELIB, [ "ar", "cru" ])
-%--- program to build library archives
-
-RANLIB = _ifdef ("RANLIB", RANLIB, [ "ranlib" ])
-%--- program to index libraries
-
-ASM = _ifdef ("ASM", ASM, [ "as" ])
-%--- assembler
-
-BOOT_LINK = _ifdef ("BOOT_LINK", BOOT_LINK, [ "cc" ])
-%--- C compiler with flags for linking, used during the bootstrap process.
-% We have to use "cc" for the bootstrap, because the "-z2" option
-% ("libraries systematically linked with all programs") doesn't get used
-% during the bootstrap process. If we use "ld", then the C library isn't
-% linked in.
-
-%------------------------------------------------------------- GNU variants ---
-% The two large pieces of GNU software used by the Modula-3 system
-% gcc(=m3cc) and gdb(=m3gdb) often require slightly different C compilers
-% or flags. They are specified here. Note that they may be overridden
-% from the m3build command line.
-%
-% To use the GNU defaults for CC and CFLAGS, specify "*".
-%
-
-GNU_CC = _ifdef ("GNU_CC", GNU_CC, "cc")
-GNU_CFLAGS = _ifdef ("GNU_CFLAGS", GNU_CFLAGS, "-O")
-GNU_MAKE = _ifdef ("GNU_MAKE", GNU_MAKE, "make")
-
-%-------------------------------------------------------- Modula-3 compiler ---
-% The syntax for the values passed to most of the M3_CONFIG options is
-% "@pgm@arg1@...@argn@" where "@" is an arbitrary character. The
-% separator character must begin and end the value.
-
-% Where is the driver?
-M3 = LIB_USE & "/m3"
-
-% What are the standard flags?
-M3OPTIONS = [ "-w1", "-why", "-O" ]
-% ------ FOR DEBUGGING INFO, add "-g"
-
-M3_CONFIG = [
- "-Y1" & _pack_args (CC),
- "-Y2" & _pack_args (LINK),
- "-Y3" & _pack_args (MAKELIB),
- "-Y4" & _pack_args (RANLIB),
- "-Y7" & _pack_args (ASM),
-
- "-Y6@" & LIB_USE & "/m3cgc1@-quiet@-fpic@",
- % --- the Modula-3 IL to assembly language pass
-
- "-z2@-lm@",
- % --- libraries systematically linked with all programs
-
- "-z3" & LIB_USE & SL & "report_coverage.o",
- % --- library linked in programs compiled with "-Z" coverage option
-
- "-z5" & NAMING_CONVENTIONS,
- % Set the host naming conventions.
-
- "-z60",
- % Values of "-z6":
- % "0" => the m3 driver will split library names and pass -L/-l
- % arguments to the linker
- % "1" => the m3 driver will pass libraries with full path names
- % "2" => like "0" except that for shared libraries, the driver
- % passes -Rdir as well as -Ldir to the linker
-
- "-zA0",
- % The "-zA" option specifies the maximum size (in megabytes) that Pass0
- % is allowed to reach as a persistent server before the driver kills it.
- % Setting it to zero disables server mode.
- % NOTE: the current compiler is buggy, leave "-zA" alone!
-
- "-zB@-O@", % --- pass 1 options implied by "-O"
- "-zC@-O@", % --- pass 6 options implied by "-O"
- "-zD@@", % --- pass 7 options implied by "-O"
-
- "-zE@-g@", % --- pass 1 options implied by "-g"
- "-zF@-g@", % --- pass 6 options implied by "-g"
- "-zG@@", % --- pass 7 options implied by "-g"
-
- "-zH" & NAMING_CONVENTIONS,
- % --- the target's naming conventions
-
- "-zI" & TARGET,
- % --- the target architecture
-
- % "-zJ10",
- % The option "-zJx1" specifies that pass "x" is "noisy", "-zJx0"
- % specifices that it's not. The default is to assume that passes
- % are not noisy. The driver collects the standard output of noisy
- % passes in a file and then deletes the file, unless "-keep" or
- % "-verbose" is specified.
-
- "-zK0",
- % --- Set the value of "-zK" to "1" if you want the m3 driver to
- % supply -Bdynamic/-Bstatic options to the linker, "0" otherwise.
-
- "-Bdynamic",
- % --- libraries are shared by default. If you give -zK1 you should
- % also provide an initial -Bdynamic or -Bstatic.
-
- "-zL0"
- % --- Set the value of "-zL" to "1" if you want .M3LINK files produced
- % for a dynamic loader
-]
-
-proc build_standalone() is
- M3_CONFIG += "-Y2@cc@-static@"
- M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-quiet@"
-end
-
-proc build_shared() is
- % --- reset the linker to use shared libraries.
-end
-
-%-------------------------------------------------------------------- hooks ---
-% These are the "last chance" hooks that are called each time a library
-% or program is built. They might build shared libraries or strip
-% executables...
-
-proc before_library_hooks(x) is
-end
-
-proc after_library_hooks(x) is
- local lib_a = format ("lib%s.a", x)
- local lib_so = format ("lib%s.so", x)
- local lib_sox = format ("lib%s.so.6", x)
- local link_so = format ("%s%s%s%s%s%s%s", PKG_INSTALL, SL, BUILD_PACKAGE,
- SL, BUILD_DIR, SL, lib_so)
- if defined ("_all")
- if stale (lib_a, lib_a)
- write ("missing ", lib_a, ": not building ", lib_sox, CR)
- else
- if stale (lib_sox, lib_a)
- exec ("cc -shared -Wl,-soname," & lib_sox,
- "-o", lib_sox, COMPILE_OBJECTS)
- end
- install_derived (lib_sox)
- >> M3SHIP_FILE in
- write ("link_file(\"", escape(lib_sox), "\", \"", escape(link_so),
- "\")", CR)
- end
- install_link_to_derived (lib_sox, LIB_INSTALL)
- install_link_to_derived (lib_so, LIB_INSTALL)
- end
- end
- deriveds (lib_sox, no_extension)
- deriveds (lib_so, no_extension)
-end
-
-proc before_program_hooks(x) is
-end
-
-proc after_program_hooks(x) is
-end
-
-%------------------------------------------------------------- installation ---
-% "install_file" is called during an "m3build install" for
-% each file that neededs to be externally exported.
-
-readonly proc install_file (src, dest, mode) is
- Note_install (src, dest)
- % exec ("@cp -p -f", src, dest)
- exec ("@install -c -m", mode, src, dest)
-end
-
-%---------------------------------------------- the rest of the environment ---
-
-if defined("_bootstrap") include("COMMON.BOOT") end
-include ("COMMON")
diff --git a/lang/modula-3-lib/files/README.distfiles b/lang/modula-3-lib/files/README.distfiles
deleted file mode 100644
index 9f1c2180e6ab..000000000000
--- a/lang/modula-3-lib/files/README.distfiles
+++ /dev/null
@@ -1,52 +0,0 @@
-This port uses distfiles that I prepared specially for FreeBSD. The DEC
-SRC release of Modula-3 comes in the form of 3 compressed tar files
-totaling about 16 MB. A small fraction of that is actually needed.
-
-The FreeBSD distfiles are as follows.
-
- m3-fbsd-src-3.6.tar.gz (required)
-
- Sources for selected portions of the SRC release. These
- files are unmodified; however, only a subset is included.
- Files relating to platforms other than FreeBSD have been
- omitted. Also, several large but rarely-used packages have
- been left out.
-
- m3-fbsd-m3cc-3.6.tar.gz (required)
-
- Sources for the Modula-3 specific files making up the code
- generator. As released by SRC, the code generator is a
- slightly modified version of gcc-2.6.3. I have updated
- the modifications to work with the newer gcc-2.7.2.1. Only
- the files which differ from those in the FreeBSD gcc-2.7.2.1
- sources are included in this distfile.
-
- m3-fbsd-gcc-3.6.tar.gz (optional)
-
- Sources for the needed portions of gcc-2.7.2.1 which are
- identical to those included in the FreeBSD system sources.
- Many systems have these files online in "/usr/src/contrib/gcc".
- The Makefile looks for them there first, and uses the online
- files if they are present. Only if the necessary files
- are missing is this distfile fetched and used.
-
- m3-fbsd-boot-3.6.tar.gz (optional)
-
- A statically-linked FreeBSD executable for the Modula-3
- compiler. A working compiler is needed, because the compiler
- is itself written in Modula-3. The Makefile looks for this
- executable on the system; it may already be present from
- an earlier version of the port. If found, the version
- already on the system is used. Otherwise, this distfile
- is fetched and used.
-
-Also in the current directory are files named "T.*" and "X.*". These
-contain lists of files and wildcards specifying the files to be included
-and excluded from each distfile. For example, "m3-fbsd-src-3.6.tar.gz"
-can be reconstructed using the following commands:
-
- make extract
- cd work
- tar -czvf m3-fbsd-src-3.6.tar.gz -T ../files/T.src -X ../files/X.src
-
-John Polstra <jdp@polstra.com>
diff --git a/lang/modula-3-lib/files/T.boot b/lang/modula-3-lib/files/T.boot
deleted file mode 100644
index 2847aed272f2..000000000000
--- a/lang/modula-3-lib/files/T.boot
+++ /dev/null
@@ -1 +0,0 @@
-installed/lib/m3/FreeBSD2/m3
diff --git a/lang/modula-3-lib/files/T.gcc b/lang/modula-3-lib/files/T.gcc
deleted file mode 100644
index d9334028e5d3..000000000000
--- a/lang/modula-3-lib/files/T.gcc
+++ /dev/null
@@ -1,115 +0,0 @@
-m3cc/gcc/COPYING
-m3cc/gcc/basic-block.h
-m3cc/gcc/bc-emit.c
-m3cc/gcc/bc-emit.h
-m3cc/gcc/bc-optab.c
-m3cc/gcc/bc-optab.h
-m3cc/gcc/bc-typecd.def
-m3cc/gcc/bc-typecd.h
-m3cc/gcc/bi-arity.c
-m3cc/gcc/bi-defs.h
-m3cc/gcc/bi-lexer.c
-m3cc/gcc/bi-opcode.c
-m3cc/gcc/bi-opname.c
-m3cc/gcc/bi-parser.y
-m3cc/gcc/bi-reverse.c
-m3cc/gcc/bi-run.h
-m3cc/gcc/bytecode.def
-m3cc/gcc/bytecode.h
-m3cc/gcc/bytetypes.h
-m3cc/gcc/c-convert.c
-m3cc/gcc/c-pragma.h
-m3cc/gcc/caller-save.c
-m3cc/gcc/conditions.h
-m3cc/gcc/config.sub
-m3cc/gcc/config/i386/bsd.h
-m3cc/gcc/config/i386/gas.h
-m3cc/gcc/config/i386/gstabs.h
-m3cc/gcc/config/i386/i386.c
-m3cc/gcc/config/i386/i386.h
-m3cc/gcc/config/i386/i386.md
-m3cc/gcc/config/i386/perform.h
-m3cc/gcc/config/i386/unix.h
-m3cc/gcc/config/i386/x-freebsd
-m3cc/gcc/config/i386/xm-freebsd.h
-m3cc/gcc/config/i386/xm-i386.h
-m3cc/gcc/config/xm-freebsd.h
-m3cc/gcc/configure
-m3cc/gcc/convert.c
-m3cc/gcc/convert.h
-m3cc/gcc/cp/Make-lang.in
-m3cc/gcc/cp/Makefile.in
-m3cc/gcc/cp/config-lang.in
-m3cc/gcc/cse.c
-m3cc/gcc/dbxout.c
-m3cc/gcc/defaults.h
-m3cc/gcc/dwarf.h
-m3cc/gcc/dwarfout.c
-m3cc/gcc/emit-rtl.c
-m3cc/gcc/explow.c
-m3cc/gcc/expmed.c
-m3cc/gcc/final.c
-m3cc/gcc/flags.h
-m3cc/gcc/flow.c
-m3cc/gcc/fold-const.c
-m3cc/gcc/function.h
-m3cc/gcc/genattr.c
-m3cc/gcc/genattrtab.c
-m3cc/gcc/gencodes.c
-m3cc/gcc/genconfig.c
-m3cc/gcc/genemit.c
-m3cc/gcc/genextract.c
-m3cc/gcc/genflags.c
-m3cc/gcc/genopinit.c
-m3cc/gcc/genoutput.c
-m3cc/gcc/genpeep.c
-m3cc/gcc/genrecog.c
-m3cc/gcc/getpwd.c
-m3cc/gcc/global.c
-m3cc/gcc/gstab.h
-m3cc/gcc/gsyms.h
-m3cc/gcc/hard-reg-set.h
-m3cc/gcc/input.h
-m3cc/gcc/integrate.c
-m3cc/gcc/integrate.h
-m3cc/gcc/jump.c
-m3cc/gcc/local-alloc.c
-m3cc/gcc/loop.c
-m3cc/gcc/loop.h
-m3cc/gcc/machmode.def
-m3cc/gcc/machmode.h
-m3cc/gcc/modemap.def
-m3cc/gcc/move-if-change
-m3cc/gcc/obstack.c
-m3cc/gcc/obstack.h
-m3cc/gcc/optabs.c
-m3cc/gcc/output.h
-m3cc/gcc/print-rtl.c
-m3cc/gcc/real.c
-m3cc/gcc/print-tree.c
-m3cc/gcc/real.h
-m3cc/gcc/recog.c
-m3cc/gcc/recog.h
-m3cc/gcc/reg-stack.c
-m3cc/gcc/regclass.c
-m3cc/gcc/regs.h
-m3cc/gcc/reload.c
-m3cc/gcc/reload.h
-m3cc/gcc/reload1.c
-m3cc/gcc/reorg.c
-m3cc/gcc/rtl.c
-m3cc/gcc/rtl.def
-m3cc/gcc/rtl.h
-m3cc/gcc/rtlanal.c
-m3cc/gcc/sched.c
-m3cc/gcc/stmt.c
-m3cc/gcc/stor-layout.c
-m3cc/gcc/stupid.c
-m3cc/gcc/toplev.c
-m3cc/gcc/tree.c
-m3cc/gcc/typeclass.h
-m3cc/gcc/unroll.c
-m3cc/gcc/varasm.c
-m3cc/gcc/version.c
-m3cc/gcc/xcoffout.c
-m3cc/gcc/xcoffout.h
diff --git a/lang/modula-3-lib/files/T.m3cc b/lang/modula-3-lib/files/T.m3cc
deleted file mode 100644
index c8163b72b239..000000000000
--- a/lang/modula-3-lib/files/T.m3cc
+++ /dev/null
@@ -1,13 +0,0 @@
-m3cc/gcc/COPYING
-m3cc/gcc/Makefile.in
-m3cc/gcc/calls.c
-m3cc/gcc/combine.c
-m3cc/gcc/config/i386/freebsd.h
-m3cc/gcc/expr.c
-m3cc/gcc/expr.h
-m3cc/gcc/function.c
-m3cc/gcc/m3.c
-m3cc/gcc/m3.def
-m3cc/gcc/sdbout.c
-m3cc/gcc/tree.def
-m3cc/gcc/tree.h
diff --git a/lang/modula-3-lib/files/T.src b/lang/modula-3-lib/files/T.src
deleted file mode 100644
index 4644cf4dfb66..000000000000
--- a/lang/modula-3-lib/files/T.src
+++ /dev/null
@@ -1,42 +0,0 @@
-m3/X11R4/src
-m3/coverage/src
-m3/digraph/src
-m3/formsedit/src
-m3/formsvbt/src
-m3/formsvbtpixmaps/src
-m3/images/src
-m3/jvideo/src
-m3/libm3/src
-m3/m3/src
-m3/m3browser/src
-m3/m3build/build
-m3/m3build/src
-m3/m3build/templates
-m3/m3bundle/src
-m3/m3core/src
-m3/m3front/src
-m3/m3linker/src
-m3/m3middle/src
-m3/m3tohtml/src
-m3/m3tools/src
-m3/m3totex/src
-m3/mtex/src
-m3/parseparams/src
-m3/pp/src
-m3/quake/src
-m3/realgeometry/src
-m3/recordheap/src
-m3/replayheap/src
-m3/set/src
-m3/showheap/src
-m3/shownew/src
-m3/showthread/src
-m3/src
-m3/table-list/src
-m3/tcp/src
-m3/tcpextras/src
-m3/tempfiles/src
-m3/ui/src
-m3/vbtkit/src
-m3/videovbt/src
-m3/web/src
diff --git a/lang/modula-3-lib/files/X.boot b/lang/modula-3-lib/files/X.boot
deleted file mode 100644
index 235cd8b5fc4b..000000000000
--- a/lang/modula-3-lib/files/X.boot
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bak
-*.orig
-*[-~]
diff --git a/lang/modula-3-lib/files/X.gcc b/lang/modula-3-lib/files/X.gcc
deleted file mode 100644
index 235cd8b5fc4b..000000000000
--- a/lang/modula-3-lib/files/X.gcc
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bak
-*.orig
-*[-~]
diff --git a/lang/modula-3-lib/files/X.m3cc b/lang/modula-3-lib/files/X.m3cc
deleted file mode 100644
index 235cd8b5fc4b..000000000000
--- a/lang/modula-3-lib/files/X.m3cc
+++ /dev/null
@@ -1,3 +0,0 @@
-*.bak
-*.orig
-*[-~]
diff --git a/lang/modula-3-lib/files/X.src b/lang/modula-3-lib/files/X.src
deleted file mode 100644
index b5ea687e37eb..000000000000
--- a/lang/modula-3-lib/files/X.src
+++ /dev/null
@@ -1,51 +0,0 @@
-*.bak
-*.orig
-*/64BITS
-*/AIX386
-*/ALPHA_OSF
-*/AOSF
-*/AP3000
-*/ARM
-*/DS
-*/DS3100
-*/FreeBSD
-*/HP300
-*/HPPA
-*/IBMR2
-*/IBMRT
-*/IEEE-be
-*/IRIX5
-*/LINUX
-*/LINUXELF
-*/NEXT
-*/NT386
-*/NT386-EXT
-*/OKI
-*/SEQUENT
-*/SOLgnu
-*/SOLsun
-*/SPARC
-*/SUN3
-*/SUN386
-*/UMAX
-*/VAX
-*/WIN32
-*/aix-3-2
-*/aix-ps2-1-2
-*/decunix
-*/freebsd-1
-*/hpux-7-0
-*/ibm-4-3
-*/irix-5.2
-*/linux
-*/osf-1.*
-*/osf1
-*/solaris-2-x
-*/sunos-4-x
-*/sysv-4.0
-*/tNT386
-*/ultrix
-*/ultrix-3-1.*
-*/win32
-*/winvbt
-*[-~]
diff --git a/lang/modula-3-lib/files/extra-patch-new-sigset-aa b/lang/modula-3-lib/files/extra-patch-new-sigset-aa
deleted file mode 100644
index dd4f5165dbdb..000000000000
--- a/lang/modula-3-lib/files/extra-patch-new-sigset-aa
+++ /dev/null
@@ -1,192 +0,0 @@
---- m3/m3core/src/unix/freebsd-2/Usignal.i3.orig Mon Aug 12 15:47:48 1996
-+++ m3/m3core/src/unix/freebsd-2/Usignal.i3 Wed Dec 22 22:12:10 1999
-@@ -12,8 +12,6 @@
-
- (*** <signal.h> ***)
-
-- (* I don't know about all the indented values below from the
-- Linux implementation *)
- CONST
- SIGHUP = 1; (* hangup *)
- SIGINT = 2; (* interrupt *)
-@@ -23,27 +21,19 @@
- SIGIOT = 6; (* IOT instruction *)
- SIGEMT = 7; (* EMT instruction *)
- SIGFPE = 8; (* floating point exception *)
-- FPE_INTDIV_TRAP = 20; (* integer divide by zero *)
-- FPE_INTOVF_TRAP = 21; (* integer overflow *)
-- FPE_FLTOPERR_TRAP = 1; (* [floating operand error] *)
-- FPE_FLTDEN_TRAP = 2; (* [floating denormalized operand] *)
-- FPE_FLTDIV_TRAP = 3; (* [floating divide by zero] *)
-- FPE_FLTOVF_TRAP = 4; (* [floating overflow] *)
-- FPE_FLTUND_TRAP = 5; (* [floating underflow] *)
-- FPE_FLTINEX_TRAP = 6; (* [floating inexact result] *)
-- FPE_UUOP_TRAP = 7; (* [floating undefined opcode] *)
-- FPE_DATACH_TRAP = 8; (* [floating data chain exception] *)
-- FPE_FLTSTK_TRAP = 16; (* [floating stack fault] *)
-- FPE_FPA_ENABLE = 17; (* [FPA not enabled] *)
-- FPE_FPA_ERROR = 18; (* [FPA arithmetic exception] *)
-+ FPE_INTOVF_TRAP = 1; (* integer overflow *)
-+ FPE_INTDIV_TRAP = 2; (* integer divide by zero *)
-+ FPE_FLTDIV_TRAP = 3; (* floating/decimal divide by zero *)
-+ FPE_FLTOVF_TRAP = 4; (* floating overflow *)
-+ FPE_FLTUND_TRAP = 5; (* floating underflow *)
-+ FPE_FPU_NP_TRAP = 6; (* floating point unit not present *)
-+ FPE_SUBRNG_TRAP = 7; (* subrange out of bounds *)
- SIGKILL = 9; (* kill (cannot be caught or ignored) *)
- SIGBUS = 10; (* bus error *)
-- BUS_HWERR = 1; (* misc hardware error (e.g. timeout) *)
-- BUS_ALIGN = 2; (* hardware alignment error *)
-+ BUS_PAGE_FAULT = 12; (* page fault protection base *)
-+ BUS_SEGNP_FAULT = 26; (* segment not present *)
-+ BUS_STK_FAULT = 27; (* stack fault *)
- SIGSEGV = 11; (* segmentation violation *)
-- SEGV_NOMAP = 3; (* no mapping at the fault address *)
-- SEGV_PROT = 4; (* access exceeded protections *)
-- SEGV_OBJERR = 5; (* object returned errno value *)
- SIGSYS = 12; (* bad argument to system call *)
- SIGPIPE = 13; (* write on a pipe with no one to read it *)
- SIGALRM = 14; (* alarm clock *)
-@@ -61,9 +51,9 @@
- SIGVTALRM = 26; (* virtual time alarm *)
- SIGPROF = 27; (* profiling time alarm *)
- SIGWINCH = 28; (* window size changes *)
-- SIGLOST = 29; (* Sys-V rec lock: notify user upon server crash *)
-- SIGUSR1 = 30; (* User signal 1 (from SysV) *)
-- SIGUSR2 = 31; (* User signal 2 (from SysV) *)
-+ SIGINFO = 29; (* information request *)
-+ SIGUSR1 = 30; (* user defined signal 1 *)
-+ SIGUSR2 = 31; (* user defined signal 2 *)
-
- (* System V definitions *)
- SIGCLD = SIGCHLD;
-@@ -75,17 +65,19 @@
- SignalHandler = PROCEDURE (sig, code: int;
- scp: UNTRACED REF struct_sigcontext);
-
-- sigset_t = int;
-+ sigset_t = ARRAY [0..3] OF unsigned_int;
-+ sigset_t_star = UNTRACED REF sigset_t;
-
- struct_sigvec = RECORD
- sv_handler: SignalHandler; (* signal handler *)
-- sv_mask: sigset_t; (* signal mask to apply *)
-- sv_flags: int; (* see signal options below *) END;
-+ sv_mask: int; (* signal mask to apply *)
-+ sv_flags: int; (* see signal options below *)
-+ END;
-
-
- CONST
-- empty_sigset_t : sigset_t = 0;
-- empty_sv_mask : sigset_t = 0;
-+ empty_sigset_t = sigset_t{ 0, .. };
-+ empty_sv_mask : int = 0;
-
- CONST
- (* Valid flags defined for sv_flags field of sigvec structure. *)
-@@ -101,16 +93,10 @@
- SIG_SETMASK = 3; (* Set block mask to this mask *)
-
- TYPE
-- SignalActionHandler = PROCEDURE (sig: int);
-- SignalRestoreHandler = PROCEDURE ();
--
- struct_sigaction = RECORD
-- sa_handler : SignalActionHandler; (* signal handler *)
-- sa_mask : sigset_t; (* signals to block while in handler *)
-+ sa_handler : SignalHandler; (* signal handler *)
- sa_flags : int; (* signal action flags *)
-- (* ow
-- sa_restorer : SignalRestoreHandler; (* restores interrupted state *)
-- *)
-+ sa_mask : sigset_t; (* signals to block while in handler *)
- END;
-
- struct_sigaction_star = UNTRACED REF struct_sigaction;
-@@ -135,31 +121,31 @@
- * execution of the signal handler. It is also made available
- * to the handler to allow it to properly restore state if
- * a non-standard exit is performed.
-- *
-- * WARNING: THE sigcontext MUST BE KEPT CONSISTENT WITH /usr/include/setjmp.h
-- * AND THE LIBC ROUTINES setjmp() AND longjmp()
-- * ???? (ow)
- *)
-
- TYPE
- struct_sigcontext = RECORD
-+ sc_mask: sigset_t; (* signal mask to restore *)
- sc_onstack: int; (* sigstack state to restore *)
-- sc_mask: int; (* signal mask to restore *)
-- sc_esp: int; (* stack pinter *)
-- sc_ebp: int; (* frame pointer *)
-- sc_isp: int;
-- sc_eip: int; (* program counter *)
-- sc_efl: int; (* program status word *)
-+ sc_gs: int;
-+ sc_fs: int;
- sc_es: int;
- sc_ds: int;
-- sc_cs: int;
-- sc_ss: int;
- sc_edi: int;
- sc_esi: int;
-+ sc_ebp: int; (* frame pointer *)
-+ sc_isp: int;
- sc_ebx: int;
- sc_edx: int;
- sc_ecx: int;
- sc_eax: int;
-+ sc_trapno: int;
-+ sc_err: int;
-+ sc_eip: int; (* program counter *)
-+ sc_cs: int;
-+ sc_efl: int;
-+ sc_esp: int; (* stack pinter *)
-+ sc_ss: int;
- END;
-
- (* Do not modifiy these variables *)
-@@ -204,8 +190,13 @@
-
- (*** sigstack(2) - set and/or get signal stack context ***)
-
-+(* FIXME - It is OK for ss and/or oss to be NIL, so we shouldn't use VAR *)
- <*EXTERNAL*> PROCEDURE sigstack (VAR ss, oss: struct_sigstack): int;
-
-+(*** sigsuspend(2) - release blocked signals and wait for interrupt ***)
-+
-+<*EXTERNAL*>
-+PROCEDURE sigsuspend (VAR sigmask: sigset_t): int;
-
- (*** sigaction(2) - software signal facilities ***)
-
-@@ -214,10 +205,27 @@
-
- (*** sigvec(2) - software signal facilities ***)
-
-+(* FIXME - It is OK for vec and/or ovec to be NIL, so we shouldn't use VAR *)
- <*EXTERNAL*>
- PROCEDURE sigvec (sig: int; VAR vec, ovec: struct_sigvec): int;
-
-+(* FIXME - It is OK for vec and/or ovec to be NIL, so we shouldn't use VAR *)
- <*EXTERNAL*>
- PROCEDURE sigprocmask (how: int; VAR set, oldset: sigset_t) : int;
-+
-+<*EXTERNAL*>
-+PROCEDURE sigemptyset (VAR set: sigset_t) : int;
-+
-+<*EXTERNAL*>
-+PROCEDURE sigfillset (VAR set: sigset_t) : int;
-+
-+<*EXTERNAL*>
-+PROCEDURE sigaddset (VAR set: sigset_t; signo: int) : int;
-+
-+<*EXTERNAL*>
-+PROCEDURE sigdelset (VAR set: sigset_t; signo: int) : int;
-+
-+<*EXTERNAL*>
-+PROCEDURE sigismember(VAR set: sigset_t; signo: int) : int;
-
- END Usignal.
diff --git a/lang/modula-3-lib/files/extra-patch-new-sigset-ab b/lang/modula-3-lib/files/extra-patch-new-sigset-ab
deleted file mode 100644
index 0df8efb0987e..000000000000
--- a/lang/modula-3-lib/files/extra-patch-new-sigset-ab
+++ /dev/null
@@ -1,32 +0,0 @@
---- m3/m3core/src/runtime/FreeBSD2/RTHeapDep.m3.orig Fri Jan 20 09:41:09 1995
-+++ m3/m3core/src/runtime/FreeBSD2/RTHeapDep.m3 Wed Oct 6 15:22:49 1999
-@@ -101,25 +101,11 @@
- PROCEDURE Fault (sig : Ctypes.int;
- code: Ctypes.int;
- scp : UNTRACED REF Usignal.struct_sigcontext) =
-- VAR sf_addr_addr: UNTRACED REF ARRAY[0..1] OF ADDRESS;
-- sf_addr : ADDRESS;
-- (*
-- * Signal frame of FreeBSD 1.1.5
-- *
-- * struct sigframe {
-- * int sf_signum;
-- * int sf_code;
-- * struct sigcontext *sf_scp;
-- * char *sf_addr; <-- this is the faulting address
-- * sig_t sf_handler;
-- * struct sigcontext sf_sc; <-- this address is passed in scp
-- * };
-- *)
--
-+ VAR
-+ sf_addr := LOOPHOLE(scp.sc_err, ADDRESS);
-+
- BEGIN
-- sf_addr_addr := scp - ( 2 * BYTESIZE(ADDRESS));
-- sf_addr := sf_addr_addr[0];
-- IF scp # NIL AND RTHeapRep.Fault(sf_addr) THEN
-+ IF RTHeapRep.Fault(sf_addr) THEN
- RETURN;
- END;
- IF defaultSIGSEGV = Usignal.SIG_IGN THEN RETURN; END;
diff --git a/lang/modula-3-lib/files/extra-patch-new-sigset-ac b/lang/modula-3-lib/files/extra-patch-new-sigset-ac
deleted file mode 100644
index d9b7a6fc6028..000000000000
--- a/lang/modula-3-lib/files/extra-patch-new-sigset-ac
+++ /dev/null
@@ -1,30 +0,0 @@
---- m3/m3core/src/runtime/FreeBSD2/RTThread.m3.orig Wed Nov 23 13:01:14 1994
-+++ m3/m3core/src/runtime/FreeBSD2/RTThread.m3 Wed Oct 6 15:22:49 1999
-@@ -93,19 +93,21 @@
- END setup_sigvtalrm;
-
- PROCEDURE allow_sigvtalrm () =
-- VAR svt : Usignal.sigset_t := Usignal.sigmask(Usignal.SIGVTALRM);
-- old : Usignal.sigset_t;
-- i : INTEGER;
-+ VAR svt, old : Usignal.sigset_t;
-+ i : INTEGER;
- BEGIN
-+ EVAL Usignal.sigemptyset(svt);
-+ EVAL Usignal.sigaddset(svt, Usignal.SIGVTALRM);
- i := Usignal.sigprocmask(Usignal.SIG_UNBLOCK, svt, old);
- <*ASSERT i = 0 *>
- END allow_sigvtalrm;
-
- PROCEDURE disallow_sigvtalrm () =
-- VAR svt : Usignal.sigset_t := Usignal.sigmask(Usignal.SIGVTALRM);
-- old : Usignal.sigset_t;
-- i : INTEGER;
-+ VAR svt, old : Usignal.sigset_t;
-+ i : INTEGER;
- BEGIN
-+ EVAL Usignal.sigemptyset(svt);
-+ EVAL Usignal.sigaddset(svt, Usignal.SIGVTALRM);
- i := Usignal.sigprocmask(Usignal.SIG_BLOCK, svt, old);
- <*ASSERT i = 0 *>
- END disallow_sigvtalrm;
diff --git a/lang/modula-3-lib/files/extra-patch-old-sigset-aa b/lang/modula-3-lib/files/extra-patch-old-sigset-aa
deleted file mode 100644
index bfbb4b3f0b96..000000000000
--- a/lang/modula-3-lib/files/extra-patch-old-sigset-aa
+++ /dev/null
@@ -1,108 +0,0 @@
-This patch corrects some errors in the Usignal interface for FreeBSD.
-
---- m3/m3core/src/unix/freebsd-2/Usignal.i3.orig Mon Aug 12 15:47:48 1996
-+++ m3/m3core/src/unix/freebsd-2/Usignal.i3 Thu Jul 10 18:38:06 1997
-@@ -12,8 +12,6 @@
-
- (*** <signal.h> ***)
-
-- (* I don't know about all the indented values below from the
-- Linux implementation *)
- CONST
- SIGHUP = 1; (* hangup *)
- SIGINT = 2; (* interrupt *)
-@@ -23,27 +21,19 @@
- SIGIOT = 6; (* IOT instruction *)
- SIGEMT = 7; (* EMT instruction *)
- SIGFPE = 8; (* floating point exception *)
-- FPE_INTDIV_TRAP = 20; (* integer divide by zero *)
-- FPE_INTOVF_TRAP = 21; (* integer overflow *)
-- FPE_FLTOPERR_TRAP = 1; (* [floating operand error] *)
-- FPE_FLTDEN_TRAP = 2; (* [floating denormalized operand] *)
-- FPE_FLTDIV_TRAP = 3; (* [floating divide by zero] *)
-- FPE_FLTOVF_TRAP = 4; (* [floating overflow] *)
-- FPE_FLTUND_TRAP = 5; (* [floating underflow] *)
-- FPE_FLTINEX_TRAP = 6; (* [floating inexact result] *)
-- FPE_UUOP_TRAP = 7; (* [floating undefined opcode] *)
-- FPE_DATACH_TRAP = 8; (* [floating data chain exception] *)
-- FPE_FLTSTK_TRAP = 16; (* [floating stack fault] *)
-- FPE_FPA_ENABLE = 17; (* [FPA not enabled] *)
-- FPE_FPA_ERROR = 18; (* [FPA arithmetic exception] *)
-+ FPE_INTOVF_TRAP = 1; (* integer overflow *)
-+ FPE_INTDIV_TRAP = 2; (* integer divide by zero *)
-+ FPE_FLTDIV_TRAP = 3; (* floating/decimal divide by zero *)
-+ FPE_FLTOVF_TRAP = 4; (* floating overflow *)
-+ FPE_FLTUND_TRAP = 5; (* floating underflow *)
-+ FPE_FPU_NP_TRAP = 6; (* floating point unit not present *)
-+ FPE_SUBRNG_TRAP = 7; (* subrange out of bounds *)
- SIGKILL = 9; (* kill (cannot be caught or ignored) *)
- SIGBUS = 10; (* bus error *)
-- BUS_HWERR = 1; (* misc hardware error (e.g. timeout) *)
-- BUS_ALIGN = 2; (* hardware alignment error *)
-+ BUS_PAGE_FAULT = 12; (* page fault protection base *)
-+ BUS_SEGNP_FAULT = 26; (* segment not present *)
-+ BUS_STK_FAULT = 27; (* stack fault *)
- SIGSEGV = 11; (* segmentation violation *)
-- SEGV_NOMAP = 3; (* no mapping at the fault address *)
-- SEGV_PROT = 4; (* access exceeded protections *)
-- SEGV_OBJERR = 5; (* object returned errno value *)
- SIGSYS = 12; (* bad argument to system call *)
- SIGPIPE = 13; (* write on a pipe with no one to read it *)
- SIGALRM = 14; (* alarm clock *)
-@@ -61,9 +51,9 @@
- SIGVTALRM = 26; (* virtual time alarm *)
- SIGPROF = 27; (* profiling time alarm *)
- SIGWINCH = 28; (* window size changes *)
-- SIGLOST = 29; (* Sys-V rec lock: notify user upon server crash *)
-- SIGUSR1 = 30; (* User signal 1 (from SysV) *)
-- SIGUSR2 = 31; (* User signal 2 (from SysV) *)
-+ SIGINFO = 29; (* information request *)
-+ SIGUSR1 = 30; (* user defined signal 1 *)
-+ SIGUSR2 = 31; (* user defined signal 2 *)
-
- (* System V definitions *)
- SIGCLD = SIGCHLD;
-@@ -80,7 +70,8 @@
- struct_sigvec = RECORD
- sv_handler: SignalHandler; (* signal handler *)
- sv_mask: sigset_t; (* signal mask to apply *)
-- sv_flags: int; (* see signal options below *) END;
-+ sv_flags: int; (* see signal options below *)
-+ END;
-
-
- CONST
-@@ -101,16 +92,10 @@
- SIG_SETMASK = 3; (* Set block mask to this mask *)
-
- TYPE
-- SignalActionHandler = PROCEDURE (sig: int);
-- SignalRestoreHandler = PROCEDURE ();
--
- struct_sigaction = RECORD
-- sa_handler : SignalActionHandler; (* signal handler *)
-+ sa_handler : SignalHandler; (* signal handler *)
- sa_mask : sigset_t; (* signals to block while in handler *)
- sa_flags : int; (* signal action flags *)
-- (* ow
-- sa_restorer : SignalRestoreHandler; (* restores interrupted state *)
-- *)
- END;
-
- struct_sigaction_star = UNTRACED REF struct_sigaction;
-@@ -206,9 +191,15 @@
-
- <*EXTERNAL*> PROCEDURE sigstack (VAR ss, oss: struct_sigstack): int;
-
-+(*** sigsuspend(2) - release blocked signals and wait for interrupt ***)
-+
-+<*EXTERNAL*>
-+PROCEDURE sigsuspend (VAR sigmask: sigset_t): int;
-
- (*** sigaction(2) - software signal facilities ***)
-
-+(* FIXME - This should probably use the VAR construct like the other
-+ platforms use. *)
- <*EXTERNAL*>
- PROCEDURE sigaction (sig: int; act, oact: struct_sigaction_star): int;
-
diff --git a/lang/modula-3-lib/files/patch-aa b/lang/modula-3-lib/files/patch-aa
deleted file mode 100644
index be31e07867f1..000000000000
--- a/lang/modula-3-lib/files/patch-aa
+++ /dev/null
@@ -1,17 +0,0 @@
-Eliminate a compiler warning under FreeBSD.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/quake/src/utils.c,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 utils.c
---- m3/quake/src/utils.c.orig 1996/09/24 05:22:00 1.1.1.1
-+++ m3/quake/src/utils.c 1996/09/24 05:32:34
-@@ -10,7 +10,7 @@
- */
-
- #include "quake.h"
--#if !defined(TARGET_NEXT)
-+#if !defined(TARGET_NEXT) && !defined(TARGET_FreeBSD2)
- #include <malloc.h>
- #endif
-
diff --git a/lang/modula-3-lib/files/patch-ab b/lang/modula-3-lib/files/patch-ab
deleted file mode 100644
index a8113c547a34..000000000000
--- a/lang/modula-3-lib/files/patch-ab
+++ /dev/null
@@ -1,740 +0,0 @@
---- m3/m3core/src/runtime/FreeBSD2/RTHeapDepC.c.orig Sat Mar 23 14:52:21 1996
-+++ m3/m3core/src/runtime/FreeBSD2/RTHeapDepC.c Wed Dec 22 22:43:12 1999
-@@ -80,7 +80,8 @@
- #include <sys/file.h>
- #include <sys/param.h>
- #if __FreeBSD__ >= 2
--# include <sys/sysctl.h>
-+#include <sys/sysctl.h>
-+#include <osreldate.h>
- #endif
- #include <sys/mount.h>
- #include <sys/ipc.h>
-@@ -89,9 +90,27 @@
- #include <ufs/ufs/quota.h>
- #include <sys/signal.h>
- #include <sys/socket.h>
-+#include <sys/stat.h>
- #include <sys/uio.h>
- #include <sys/wait.h>
-
-+#if __FreeBSD__ >= 3
-+#include <sys/time.h>
-+#include <nfs/rpcv2.h>
-+#include <nfs/nfsproto.h>
-+#include <nfs/nfs.h>
-+#include <ufs/ufs/ufsmount.h>
-+#endif
-+
-+#include <string.h>
-+#include <unistd.h>
-+
-+#if __FreeBSD_version >= 400013
-+#define SOCKLEN_T socklen_t
-+#else
-+#define SOCKLEN_T int
-+#endif
-+
- #ifdef NULL
- #undef NULL
- #endif
-@@ -110,22 +129,8 @@
- /* Unless otherwise noted, all the following wrappers have the same
- structure. */
-
--int accept(s, addr, addrlen) /* ok */
--int s;
--struct sockaddr *addr;
--int *addrlen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(addr);
-- MAKE_WRITABLE(addrlen);
-- result = syscall(SYS_accept, s, addr, addrlen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int access(path, mode) /* ok */
--char *path;
-+const char *path;
- int mode;
- { int result;
-
-@@ -137,7 +142,7 @@
- }
-
- int acct(file) /* ok */
--char *file;
-+const char *file;
- { int result;
-
- ENTER_CRITICAL;
-@@ -228,19 +233,6 @@
- }
- */
-
--int bind(s, name, namelen) /* ok */
--int s;
--const struct sockaddr *name;
--int namelen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(name);
-- result = syscall(SYS_bind, s, name, namelen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- /* not implemented
- int cachectl(addr, nbytes, op)
- char *addr;
-@@ -268,7 +260,7 @@
- */
-
- int chdir(path) /* ok */
--char *path;
-+const char *path;
- { int result;
-
- ENTER_CRITICAL;
-@@ -278,8 +270,20 @@
- return result;
- }
-
-+int chflags(path, flags)
-+const char *path;
-+u_long flags;
-+{ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(path);
-+ result = syscall(SYS_chflags, path, flags);
-+ EXIT_CRITICAL;
-+ return result;
-+}
-+
- int chmod(path, mode) /* ok */
--char *path;
-+const char *path;
- mode_t mode;
- { int result;
-
-@@ -291,7 +295,7 @@
- }
-
- int chown(path, owner, group) /* ok */
--char *path;
-+const char *path;
- uid_t owner;
- gid_t group;
- { int result;
-@@ -304,7 +308,7 @@
- }
-
- int chroot(dirname) /* ok */
--char *dirname;
-+const char *dirname;
- { int result;
-
- ENTER_CRITICAL;
-@@ -314,19 +318,6 @@
- return result;
- }
-
--int connect(s, name, namelen) /* ok */
--int s;
--const struct sockaddr *name;
--int namelen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(name);
-- result = syscall(SYS_connect, s, name, namelen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- /* not implemented (obsolete)
- int creat(name, mode)
- const char *name;
-@@ -356,8 +347,8 @@
- result = syscall(SYS_execve, name, argv, envp);
- if (result == -1 && errno == EFAULT) {
- MAKE_READABLE(name);
-- { char **a; for (a = argv; *a; a++) MAKE_READABLE(*a); }
-- { char **e; for (e = envp; *e; e++) MAKE_READABLE(*e); }
-+ { char * const *a; for (a = argv; *a; a++) MAKE_READABLE(*a); }
-+ { char * const *e; for (e = envp; *e; e++) MAKE_READABLE(*e); }
- } else {
- return result;
- }
-@@ -473,7 +464,7 @@
-
- int getgroups(gidsetsize, grouplist) /* ok */
- int gidsetsize;
--int grouplist[];
-+gid_t grouplist[];
- { int result;
-
- ENTER_CRITICAL;
-@@ -513,20 +504,6 @@
- }
- */
-
--int getpeername(s, name, namelen) /* ok */
--int s;
--struct sockaddr *name;
--int *namelen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(name);
-- MAKE_WRITABLE(namelen);
-- result = syscall(SYS_getpeername, s, name, namelen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int getrlimit(resource, rlp) /* ok */
- int resource;
- struct rlimit *rlp;
-@@ -551,24 +528,10 @@
- return result;
- }
-
--int getsockname(s, name, namelen) /* ok */
--int s;
--struct sockaddr *name;
--int *namelen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(name);
-- MAKE_WRITABLE(namelen);
-- result = syscall(SYS_getsockname, s, name, namelen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int getsockopt(s, level, optname, optval, optlen) /* ok */
- int s, level, optname;
- void *optval;
--int *optlen;
-+SOCKLEN_T *optlen;
- { int result;
-
- ENTER_CRITICAL;
-@@ -629,9 +592,24 @@
- return result;
- }
-
-+#ifdef SYS_lchown
-+int lchown(path, owner, group) /* ok */
-+const char *path;
-+uid_t owner;
-+gid_t group;
-+{ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(path);
-+ result = syscall(SYS_lchown, path, owner, group);
-+ EXIT_CRITICAL;
-+ return result;
-+}
-+#endif /* SYS_lchown */
-+
- int link(name1, name2) /* ok */
--char *name1;
--char *name2;
-+const char *name1;
-+const char *name2;
- { int result;
-
- ENTER_CRITICAL;
-@@ -643,7 +621,7 @@
- }
-
- int lstat(path, buf) /* ok */
--char *path;
-+const char *path;
- struct stat *buf;
- { int result;
-
-@@ -656,7 +634,7 @@
- }
-
- int mkdir(path, mode) /* ok */
--char *path;
-+const char *path;
- mode_t mode;
- { int result;
-
-@@ -667,8 +645,20 @@
- return result;
- }
-
-+int mkfifo(path, mode) /* ok */
-+const char *path;
-+mode_t mode;
-+{ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(path);
-+ result = syscall(SYS_mkfifo, path, mode);
-+ EXIT_CRITICAL;
-+ return result;
-+}
-+
- int mknod(path, mode, dev) /* ok */
--char *path;
-+const char *path;
- mode_t mode;
- dev_t dev;
- { int result;
-@@ -680,13 +670,51 @@
- return result;
- }
-
--/* quite different ...
--int mount(special, name, rwflag, type, options)
--char *special;
--char *name;
--int rwflag, type;
--char *options;
--*/
-+#if __FreeBSD_version >= 300001 /* New form of mount(2) */
-+int
-+mount(type, dir, flags, data)
-+ const char *type;
-+ const char *dir;
-+ int flags;
-+ void *data;
-+{ int result;
-+ struct ufs_args *u_data;
-+ struct mfs_args *m_data;
-+ struct nfs_args *n_data;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(type);
-+ MAKE_READABLE(dir);
-+ if (strcmp(type, "ufs") == 0) {
-+ u_data = (struct ufs_args*) data;
-+ MAKE_READABLE(u_data);
-+ MAKE_READABLE(u_data->fspec);
-+ result = syscall(SYS_mount, type, dir, flags, data);
-+ } else if (strcmp(type, "mfs") == 0) {
-+ m_data = (struct mfs_args*) data;
-+ MAKE_READABLE(m_data);
-+ MAKE_READABLE(m_data->fspec);
-+ result = syscall(SYS_mount, type, dir, flags, data);
-+ } else if (strcmp(type, "nfs") == 0) {
-+ n_data = (struct nfs_args*) data;
-+ MAKE_READABLE(n_data);
-+ MAKE_READABLE(n_data->addr);
-+ MAKE_READABLE(n_data->fh);
-+ MAKE_READABLE(n_data->hostname);
-+ result = syscall(SYS_mount, type, dir, flags, data);
-+ } else { /* Not anything we recognize. */
-+ MAKE_READABLE(data);
-+ result = syscall(SYS_mount, type, dir, flags, data);
-+ }
-+ EXIT_CRITICAL;
-+ if (result != -1) {
-+ result = 0;
-+ }
-+ return result;
-+}
-+
-+#else /* __FreeBSD_version >= 300001 */
-+
- int mount(type, dir, flags, data)
- int type;
- const char *dir;
-@@ -723,6 +751,7 @@
- }
- return result;
- }
-+#endif /* __FreeBSD_version >= 300001 */
-
- int msgctl(msqid, cmd, buf) /* ok */
- int msqid, cmd;
-@@ -793,9 +822,13 @@
- }
-
- int quotactl(path, cmd, uid, addr) /* ok */
--const char *path;
--int cmd, uid;
--char *addr;
-+ const char *path;
-+ int cmd, uid;
-+#if __FreeBSD_version >= 400002
-+ void *addr;
-+#else
-+ char *addr;
-+#endif
- { int result;
-
- ENTER_CRITICAL;
-@@ -821,21 +854,8 @@
- return result;
- }
-
--int read(d, buf, nbytes) /* ok */
--int d;
--char *buf;
--size_t nbytes;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(buf);
-- result = syscall(SYS_read, d, buf, nbytes);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int readlink(path, buf, bufsiz) /* ok */
--char *path;
-+const char *path;
- char *buf;
- int bufsiz;
- { int result;
-@@ -865,46 +885,6 @@
- return result;
- }
-
--int recv(s, buf, len, flags) /* ok */
--int s;
--void *buf;
--#if __FreeBSD__ >=2
--size_t len;
--#else
--int len;
--#endif
--int flags;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(buf);
-- result = syscall(SYS_recvfrom, s, buf, len, flags, NULL, 0);
-- EXIT_CRITICAL;
-- return result;
--}
--
--int recvfrom(s, buf, len, flags, from, fromlen) /* ok */
--int s;
--void *buf;
--#if __FreeBSD__ >=2
--size_t len;
--#else
--int len;
--#endif
--int flags;
--struct sockaddr *from;
--int *fromlen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(buf);
-- MAKE_WRITABLE(from);
-- MAKE_WRITABLE(fromlen);
-- result = syscall(SYS_recvfrom, s, buf, len, flags, from, fromlen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int recvmsg(s, msg, flags) /* ok */
- int s;
- struct msghdr msg[];
-@@ -940,7 +920,7 @@
- }
-
- int rmdir(path) /* ok */
--char *path;
-+const char *path;
- { int result;
-
- ENTER_CRITICAL;
-@@ -950,44 +930,42 @@
- return result;
- }
-
--int select(nfds, readfds, writefds, exceptfds, timeout) /* ok */
--int nfds;
--fd_set *readfds;
--fd_set *writefds;
--fd_set *exceptfds;
--struct timeval *timeout;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_WRITABLE(readfds);
-- MAKE_WRITABLE(writefds);
-- MAKE_WRITABLE(exceptfds);
-- MAKE_READABLE(timeout);
-- result = syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout);
-- EXIT_CRITICAL;
-- return result;
--}
-+int
-+#if (227002 <= __FreeBSD_version && __FreeBSD_version < 300000) || \
-+ __FreeBSD_version >= 300002
-+semctl(int semid, int semnum, int cmd, ...)
-+#else
-+semctl(int semid, int semnum, int cmd, union semun arg)
-+#endif
-+{
-+ int result;
-+#if (227002 <= __FreeBSD_version && __FreeBSD_version < 300000) || \
-+ __FreeBSD_version >= 300002
-+ union semun arg;
-+ va_list ap;
-
--int semctl(semid, semnum, cmd, arg) /* ok ? */
--int semid, cmd;
--int semnum;
--union semun arg;
--{ int result;
-+ va_start(ap, cmd);
-+ arg = va_arg(ap, union semun);
-+ va_end(ap);
-+#endif
-
- ENTER_CRITICAL;
- switch (cmd) {
-- case GETNCNT:
-- case GETPID:
-- case GETVAL:
-- case GETALL:
-- case GETZCNT:
-+
-+ case IPC_SET:
- MAKE_READABLE(arg.buf);
- break;
-+
- case SETALL:
-- case SETVAL:
-+ MAKE_READABLE(arg.array);
-+ break;
-+
-+ case IPC_STAT:
- MAKE_WRITABLE(arg.buf);
- break;
-- default:
-+
-+ case GETALL:
-+ MAKE_WRITABLE(arg.array);
- break;
- }
- result = syscall(SYS_semsys, 0, semid, semnum, cmd, arg);
-@@ -1012,24 +990,6 @@
- return result;
- }
-
--int send(s, msg, len, flags) /* ok */
--int s;
--const void *msg;
--#if __FreeBSD__ >=2
--size_t len;
--#else
--int len;
--#endif
--int flags;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(msg);
-- result = syscall(SYS_sendto, s, msg, len, flags, NULL, 0);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int sendmsg(s, msg, flags) /* ok */
- int s;
- const struct msghdr msg[];
-@@ -1051,29 +1011,8 @@
- return result;
- }
-
--int sendto(s, msg, len, flags, to, tolen) /* ok */
--int s;
--const void *msg;
--#if __FreeBSD__ >=2
--size_t len;
--#else
--int len;
--#endif
--int flags;
--const struct sockaddr *to;
--int tolen;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(msg);
-- MAKE_READABLE(to);
-- result = syscall(SYS_sendto, s, msg, len, flags, to, tolen);
-- EXIT_CRITICAL;
-- return result;
--}
--
- int setdomainname(name, namelen) /* ok */
--char *name;
-+const char *name;
- int namelen;
- { int result;
-
-@@ -1086,7 +1025,7 @@
-
- int setgroups(ngroups, gidset) /* ok */
- int ngroups;
--int *gidset;
-+const gid_t *gidset;
- { int result;
-
- ENTER_CRITICAL;
-@@ -1097,7 +1036,7 @@
- }
-
- int sethostname(name, namelen) /* ok */
--char *name;
-+const char *name;
- int namelen;
- { int result;
- #if __FreeBSD__ >= 2
-@@ -1168,7 +1107,7 @@
- int setsockopt(s, level, optname, optval, optlen) /* ok */
- int s, level, optname;
- const void *optval;
--int optlen;
-+SOCKLEN_T optlen;
- { int result;
-
- ENTER_CRITICAL;
-@@ -1213,20 +1152,20 @@
- return result;
- }
-
--/* not implemented
--int sigpending(set)
--sigset_t *set;
-+int sigaction(sig, act, oact)
-+int sig;
-+const struct sigaction *act;
-+struct sigaction *oact;
- { int result;
-
- ENTER_CRITICAL;
-- MAKE_WRITABLE(set);
-- result = syscall(SYS_sigpending, set);
-+ MAKE_READABLE(act);
-+ MAKE_WRITABLE(oact);
-+ result = syscall(SYS_sigaction, sig, act, oact);
- EXIT_CRITICAL;
- return result;
- }
--*/
-
--#if __FreeBSD__ >= 2
- int sigaltstack(ss, oss) /* ok */
- const struct sigaltstack *ss;
- struct sigaltstack *oss;
-@@ -1239,20 +1178,6 @@
- EXIT_CRITICAL;
- return result;
- }
--#else
--int sigstack(ss, oss) /* ok */
--const struct sigstack *ss;
--struct sigstack *oss;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(ss);
-- MAKE_WRITABLE(oss);
-- result = syscall(SYS_sigstack, ss, oss);
-- EXIT_CRITICAL;
-- return result;
--}
--#endif
-
- int socketpair(d, type, protocol, sv) /* ok */
- int d, type, protocol;
-@@ -1267,7 +1192,7 @@
- }
-
- int stat(path, buf) /* ok */
--char *path;
-+const char *path;
- struct stat *buf;
- { int result;
-
-@@ -1280,7 +1205,7 @@
- }
-
- int swapon(special) /* ok */
--char *special;
-+const char *special;
- { int result;
-
- ENTER_CRITICAL;
-@@ -1291,8 +1216,8 @@
- }
-
- int symlink(name1, name2) /* ok */
--char *name1;
--char *name2;
-+const char *name1;
-+const char *name2;
- { int result;
-
- ENTER_CRITICAL;
-@@ -1304,14 +1229,14 @@
- }
-
- int truncate(path, length) /* ok */
--char *path;
--long length;
-+const char *path;
-+off_t length;
- { int result;
-- off_t len = (off_t)length;
-
- ENTER_CRITICAL;
- MAKE_READABLE(path);
-- result = syscall(SYS_truncate, path, len);
-+ /* The casts below pad "path" out to a 64-bit value as required. */
-+ result = __syscall(SYS_truncate, (u_quad_t) (u_int) path, length);
- EXIT_CRITICAL;
- return result;
- }
-@@ -1328,7 +1253,7 @@
- }
-
- int unlink(path) /* ok */
--char *path;
-+const char *path;
- { int result;
-
- ENTER_CRITICAL;
-@@ -1414,19 +1339,6 @@
- ENTER_CRITICAL;
- MAKE_WRITABLE(status);
- result = syscall(SYS_wait4, pid, status, options, NULL);
-- EXIT_CRITICAL;
-- return result;
--}
--
--int write(fd, buf, nbytes) /* ok */
--int fd;
--char *buf;
--int nbytes;
--{ int result;
--
-- ENTER_CRITICAL;
-- MAKE_READABLE(buf);
-- result = syscall(SYS_write, fd, buf, nbytes);
- EXIT_CRITICAL;
- return result;
- }
diff --git a/lang/modula-3-lib/files/patch-ae b/lang/modula-3-lib/files/patch-ae
deleted file mode 100644
index 109f0ee5811e..000000000000
--- a/lang/modula-3-lib/files/patch-ae
+++ /dev/null
@@ -1,18 +0,0 @@
-Remove an ill-formed C preprocessor construct, which isn't used anyway.
-
-Index: m3/coverage/src/analyze_coverage.c
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/coverage/src/analyze_coverage.c,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 analyze_coverage.c
---- m3/coverage/src/analyze_coverage.c.orig 1996/09/24 05:21:54 1.1.1.1
-+++ m3/coverage/src/analyze_coverage.c 1996/09/24 05:32:35
-@@ -15,8 +15,6 @@
- #endif
- #include <stdio.h>
-
--#define MAX_LINES=10000
--
- #define TRUE 1
- #define FALSE 0
-
diff --git a/lang/modula-3-lib/files/patch-ah b/lang/modula-3-lib/files/patch-ah
deleted file mode 100644
index f09633f8d008..000000000000
--- a/lang/modula-3-lib/files/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-Update the m3build templates for FreeBSD-2.1 and later.
-
---- m3/m3build/templates/COMMON.orig Fri Feb 9 14:23:04 1996
-+++ m3/m3build/templates/COMMON Fri Oct 25 13:48:57 1996
-@@ -998,7 +998,7 @@
- if HAVE_PKGTOOLS
- _install_file (src, dest, "0755", "T")
- else
-- local target = format ("%s%s%s%s%s%s%s", PKG_USE, SL, BUILD_PACKAGE,
-+ local target = format ("%s%s%s%s%s%s%s", LIB_TO_PKG, SL, BUILD_PACKAGE,
- SL, BUILD_DIR, SL, src)
- local link = format ("%s%s%s", dest, SL, src)
- >> M3SHIP_FILE in
diff --git a/lang/modula-3-lib/files/patch-ai b/lang/modula-3-lib/files/patch-ai
deleted file mode 100644
index c62e31e86e96..000000000000
--- a/lang/modula-3-lib/files/patch-ai
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix the mapping from M3 platform to GNU configure target, for FreeBSD.
-This particularly helps with m3gdb.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3build/templates/PLATFORMS,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 PLATFORMS
---- m3/m3build/templates/PLATFORMS.orig 1996/09/24 05:28:51 1.1.1.2
-+++ m3/m3build/templates/PLATFORMS 1996/09/24 05:34:56
-@@ -10,7 +10,7 @@
- "ARM" : [ "POSIX", "32BITS", "arm--riscos" ],
- "DS3100" : [ "POSIX", "32BITS", "decstation" ],
- "FreeBSD" : [ "POSIX", "32BITS", "i486-unknown-bsd" ],
-- "FreeBSD2" : [ "POSIX", "32BITS", "i486-unknown-bsd" ],
-+ "FreeBSD2" : [ "POSIX", "32BITS", "i486-unknown-freebsd" ],
- "HP300" : [ "POSIX", "32BITS", "m68k-hp-hpux" ],
- "HPPA" : [ "POSIX", "32BITS", "hppa1.1-hp-hpux" ],
- "IBMR2" : [ "POSIX", "32BITS", "rs6000-ibm-aix3.2" ],
diff --git a/lang/modula-3-lib/files/patch-aj b/lang/modula-3-lib/files/patch-aj
deleted file mode 100644
index 6a69acb9d06e..000000000000
--- a/lang/modula-3-lib/files/patch-aj
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix an erroneous structure declaration for FreeBSD.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3core/src/C/FreeBSD2/Cstdio.i3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 Cstdio.i3
---- m3/m3core/src/C/FreeBSD2/Cstdio.i3.orig 1996/09/24 05:21:57 1.1.1.1
-+++ m3/m3core/src/C/FreeBSD2/Cstdio.i3 1996/09/24 05:32:37
-@@ -55,6 +55,7 @@
- (* Unix stdio files get aligned to block boundaries on fseek() *)
- blksize : int; (* stat.st_blksize (may be != _bf._size) *)
- offset : off_t; (* current lseek offset *)
-+ pad1 : int; (* assume high 4 bytes of offset are 0 *)
-
- END;
-
diff --git a/lang/modula-3-lib/files/patch-ak b/lang/modula-3-lib/files/patch-ak
deleted file mode 100644
index 002c8726e6e7..000000000000
--- a/lang/modula-3-lib/files/patch-ak
+++ /dev/null
@@ -1,610 +0,0 @@
-Changes to what is built by default in the FreeBSD port.
-
-===================================================================
---- m3/src/m3makefile.orig Tue Sep 17 16:47:59 1996
-+++ m3/src/m3makefile Sat Jun 6 10:54:04 1998
-@@ -83,6 +83,12 @@
- % requires:
- BuildChunk ("m3core")
-
-+%--- m3configvars --- library -------------------------------------------------
-+% m3configvars is a small library containing various configuration
-+% parameters related to this particular installation of Modula-3.
-+% requires: m3core
-+BuildChunk ("m3configvars")
-+
- %--- libm3 --- library -------------------------------------------------
- % libm3 is the library that most others need.
- % requires: m3core
-@@ -99,12 +105,12 @@
- %--- m3middle --- library -------------------------------------------------
- % the Modula-3 compiler's IL definition
- % requires: libm3
--% BuildChunk ("m3middle") %-- built as part of the bootstrap process
-+BuildChunk ("m3middle")
-
- %--- m3linker --- library -------------------------------------------------
- % the Modula-3 prelinker
- % requires: m3middle
--% BuildChunk ("m3linker") %-- built as part of the bootstrap process
-+BuildChunk ("m3linker")
-
- %--- m3objfile --- library -------------------------------------------------
- % the Modula-3 object file writers
-@@ -114,7 +120,7 @@
- %--- m3front --- library -------------------------------------------------
- % the Modula-3 compiler front-end
- % requires: m3middle
--% BuildChunk ("m3front") %-- built as part of the bootstrap process
-+BuildChunk ("m3front")
-
- %--- m3back --- library -------------------------------------------------
- % the Windows/NT x86 back-end
-@@ -129,7 +135,7 @@
- %--- m3 --- utility -------------------------------------------------
- % the Modula-3 compiler (main program)
- % requires: m3linker, m3front, m3middle, libm3
--% BuildChunk ("m3") %-- built as part of the bootstrap process
-+BuildChunk ("m3")
-
- %--- m3loader --- utility -------------------------------------------------
- % an experimental dynamic loader for Windows/NT
-@@ -145,7 +151,7 @@
-
- %--- m3build2 --- utility ------------------------------------------------
- % an experimental Modula-3 version of m3build
--% requires: libm3, m3quake
-+% requires: m3configvars, libm3, m3quake
- % BuildChunk ("m3build2")
-
- %--- cg-burs --- utility -------------------------------------------------
-@@ -207,7 +213,7 @@
- %--- slisp --- library -----------------------------------------------
- % a library containing a small Lisp interpreter
- % requires: libm3
--BuildChunk ("slisp")
-+% BuildChunk ("slisp")
-
- %--- tempfiles --- library -----------------------------------------------
- % a library to build tempfiles
-@@ -229,32 +235,32 @@
- %--- netobj --- library -------------------------------------------
- % the network objects runtime library, needed by most distributed applications
- % requires: tcp
--BuildChunk ("netobj")
-+% BuildChunk ("netobj")
-
- %--- netobjd --- utility -------------------------------------------
- % the network objects daemon, needed by all programs using network objects
- % requires: netobj
--BuildChunk ("netobjd")
-+% BuildChunk ("netobjd")
-
- %--- m3tk --- library -------------------------------------------
- % a (large) Modula-3 abstract syntax tree (AST) toolkit, needed by stubgen
- % requires: libm3
--BuildChunk ("m3tk")
-+% BuildChunk ("m3tk")
-
- %--- stubgen --- utility -------------------------------------------
- % the network objects stub generator, needed by programs using network objects
- % requires: m3tk
--BuildChunk ("stubgen")
-+% BuildChunk ("stubgen")
-
- %--- stable --- library ---------------------------------------------
- % A library providing log-based persistent objects
- % requires: libm3
--BuildChunk ("stable")
-+% BuildChunk ("stable")
-
- %--- stablegen --- utility -------------------------------------------
- % a stub generator to make the use of the "stable" library much easier
- % requires: m3tk, stable
--BuildChunk ("stablegen")
-+% BuildChunk ("stablegen")
-
- %--- sharedboard --- prototype -------------------------------------------
- % a prototype shared whiteboard
-@@ -273,7 +279,7 @@
- % PEX implements a Modula-3 interface to the PEX 3D graphics library.
- % It is used by all graphical 3D applications
- % requires: X11R4 and a host PEX implementation
--if PLATFORM_SUPPORTS_PEX
-+if PLATFORM_SUPPORTS_DECPEX
- BuildChunk ("PEX")
- end
-
-@@ -289,21 +295,21 @@
- % motif implements a Modula-3 interface to the X/Motif library.
- % requires: X11R4
- if PLATFORM_SUPPORTS_MOTIF
-- BuildChunk ("motif")
-+% BuildChunk ("motif")
- end
-
- %--- tetris --- game -------------------------------------------------
- % a Modula-3 version of Tetris
- % requires: X11R4
- if PLATFORM_SUPPORTS_X
-- BuildChunk ("tetris")
-+% BuildChunk ("tetris")
- end
-
- %--- columns --- game -------------------------------------------------
- % a Modula-3 version of the PC game, columns
- % requires: X11R4
- if PLATFORM_SUPPORTS_X
-- BuildChunk ("columns")
-+% BuildChunk ("columns")
- end
-
- %--- ui --- library -------------------------------------------------
-@@ -311,23 +317,25 @@
- % by most graphical applications.
- % requires: X11R4 and tcp on POSIX; libm3 on WIN32
- % Note: The WIN32 version is still VERY buggy
--BuildChunk ("ui")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("ui")
-+end
-
- %--- bicycle --- library -------------------------------------------------
- % bicycle is a library of playing card images.
- % requires: ui
--BuildChunk ("bicycle")
-+% BuildChunk ("bicycle")
-
- %--- solitaire --- game -------------------------------------------------
- % a Modula-3 version of SeaHaven towers
- % requires: bicycle
--BuildChunk ("solitaire")
-+% BuildChunk ("solitaire")
-
- %--- badbricks --- game -------------------------------------------------
- % a Modula-3 game similar to minesweeper, inspired by the crumbling
- % facade of SRC's building.
- % requires: ui
--BuildChunk ("badbricks")
-+% BuildChunk ("badbricks")
-
- %--- m3tools --- library -------------------------------------------------
- % a simple Modula-3 scanner, needed by m3tohtml and m3browser
-@@ -336,12 +344,12 @@
-
- %--- m3tohtml --- utility -------------------------------------------------
- % a program to convert batches of Modula-3 source to interconnected HTML
--% requires: libm3, m3tools
-+% requires: m3configvars, libm3, m3tools
- BuildChunk ("m3tohtml")
-
- %--- m3browser --- utility -------------------------------------------------
- % an HTTP server that provides WWW browsing of the installed Modula-3 system
--% requires: libm3, m3tools
-+% requires: m3configvars, libm3, m3tools
- if equal (OS_TYPE, "POSIX")
- BuildChunk ("m3browser")
- end
-@@ -365,17 +373,19 @@
- % a large collection of useful window widgets, needed by many of the
- % following libraries and programs.
- % requires: ui
--BuildChunk ("vbtkit")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("vbtkit")
-+end
-
- %--- fours --- game -------------------------------------------------
- % a collection of Modula-3 variants of the PC game, tetris.
- % requires: vbtkit
--BuildChunk ("fours")
-+% BuildChunk ("fours")
-
- %--- showheap --- utility -------------------------------------------------
- % a program to graphically display in real-time the state of each heap page.
- % requires: vbtkit
--if equal (OS_TYPE, "POSIX")
-+if equal (OS_TYPE, "POSIX") and PLATFORM_SUPPORTS_X
- BuildChunk ("showheap")
- end
-
-@@ -389,90 +399,102 @@
- %--- replayheap --- utility -------------------------------------------------
- % a program to graphically display the log captured by "recordheap"
- % requires: vbtkit
--if equal (OS_TYPE, "POSIX")
-+if equal (OS_TYPE, "POSIX") and PLATFORM_SUPPORTS_X
- BuildChunk ("replayheap")
- end
-
- %--- shownew --- utility -------------------------------------------------
- % a program to graphically display in real-time per-type allocations
- % requires: vbtkit
--if equal (OS_TYPE, "POSIX")
-+if equal (OS_TYPE, "POSIX") and PLATFORM_SUPPORTS_X
- BuildChunk ("shownew")
- end
-
- %--- showthread --- utility -------------------------------------------------
- % a program to graphically display in real-time the state of each thread.
- % requires: vbtkit
--if equal (OS_TYPE, "POSIX")
-+if equal (OS_TYPE, "POSIX") and PLATFORM_SUPPORTS_X
- BuildChunk ("showthread")
- end
-
- %--- images --- library -------------------------------------------------
- % support for displaying bitmap images
- % requires: ui
--BuildChunk ("images")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("images")
-+end
-
- %--- jvideo --- library -------------------------------------------------
- % a low-level interface to the J-video hardware, needed by videovbt
- % requires: tcp
--BuildChunk ("jvideo")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("jvideo")
-+end
-
- %--- videovbt --- library -------------------------------------------------
- % a window widget that displays live video images
- % requires: jvideo, ui
--BuildChunk ("videovbt")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("videovbt")
-+end
-
- %--- formsvbtpixmaps --- library -------------------------------------------
- % misc. bitmaps, cursors and stuff used by formsvbt
- % requires: libm3, m3bundle
--BuildChunk ("formsvbtpixmaps")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("formsvbtpixmaps")
-+end
-
- %--- formsvbt --- library -------------------------------------------------
- % a high-level language based on S-expressions that makes it easy
- % to assemble VBTs (windows) using the TeX metaphors of boxes and
- % glue.
- % requires: vbtkit, videovbt, formsvbtpixmaps, web
--BuildChunk ("formsvbt")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("formsvbt")
-+end
-
- %--- formsedit --- utility -------------------------------------------------
- % a 1-1/2 view GUI editor for FormsVBT expressions
- % requires: formsvbt
--BuildChunk ("formsedit")
-+if PLATFORM_SUPPORTS_X
-+ BuildChunk ("formsedit")
-+end
-
- %--- fisheye --- demo -------------------------------------------------
- % a demo of "fisheye" views for graph browsing
- % requires: formsvbt
--BuildChunk ("fisheye")
-+% BuildChunk ("fisheye")
-
- %--- calculator --- demo -------------------------------------------------
- % a 10-key calculator using FormsVBT
- % requires: formsvbt
--BuildChunk ("calculator")
-+% BuildChunk ("calculator")
-
- %--- cube --- demo -------------------------------------------------
- % a rotating cube
- % requires: formsvbt
--BuildChunk ("cube")
-+% BuildChunk ("cube")
-
- %--- codeview --- library -------------------------------------------
- % support for animated views of source code, needed by zeus
- % requires: formsvbt
--BuildChunk ("codeview")
-+% BuildChunk ("codeview")
-
- %--- rehearsecode --- utility -------------------------------------------
- % a program to manually test drive source code animations
- % requires: codeview
--BuildChunk ("rehearsecode")
-+% BuildChunk ("rehearsecode")
-
- %--- mg --- library -------------------------------------------
- % the low-level animation support
- % requires: formsvbt
--BuildChunk ("mg")
-+% BuildChunk ("mg")
-
- %--- mgkit --- library -------------------------------------------
- % a collection of easier-to-use animation widgets
- % requires: m3
--BuildChunk ("mgkit")
-+% BuildChunk ("mgkit")
-
- %--- anim3D --- library -------------------------------------------
- % a collection of 3D animation widgets
-@@ -480,118 +502,118 @@
- % X11R4 and PEX
- % X11R4 and OpenGL
- % soon: OpenGL and Windows NT
--BuildChunk ("anim3D")
-+% BuildChunk ("anim3D")
-
- %--- synloc --- library -------------------------------------------
- % a low-level library used by the Obliq interpreter
- % requires: libm3
--BuildChunk ("synloc")
-+% BuildChunk ("synloc")
-
- %--- synex --- library -------------------------------------------
- % a low-level "syntax extension" library used by the Obliq interpreter
- % requires: synloc
--BuildChunk ("synex")
-+% BuildChunk ("synex")
-
- %--- metasyn --- library -------------------------------------------
- % a low-level library used by the Obliq interpreter
- % requires: synex
--BuildChunk ("metasyn")
-+% BuildChunk ("metasyn")
-
- %--- obliqrt --- library -------------------------------------------
- % the Obliq interpreter's runtime library
- % requires: synloc, netobj
--BuildChunk ("obliqrt")
-+% BuildChunk ("obliqrt")
-
- %--- obliqlibm3 --- library -------------------------------------------
- % the Obliq interpreter's hooks to the libm3 library
- % requires: obliqrt, libm3
--BuildChunk ("obliqlibm3")
-+% BuildChunk ("obliqlibm3")
-
- %--- obliqlibui --- library -------------------------------------------
- % the Obliq interpreter's hooks to the ui library
- % requires: obliqrt, formsvbt
--BuildChunk ("obliqlibui")
-+% BuildChunk ("obliqlibui")
-
- %--- obliqlibanim --- library -------------------------------------------
- % the Obliq interpreter's hooks to the animation libraries
- % requires: obliqrt, mgkit
--BuildChunk ("obliqlibanim")
-+% BuildChunk ("obliqlibanim")
-
- %--- obliqparse --- library -------------------------------------------
- % the Obliq interpreter's parser
- % requires: obliqrt
--BuildChunk ("obliqparse")
-+% BuildChunk ("obliqparse")
-
- %--- obliqprint --- library -------------------------------------------
- % the Obliq interpreter's value printer
- % requires: obliqrt
--BuildChunk ("obliqprint")
-+% BuildChunk ("obliqprint")
-
- %--- obliq --- library -------------------------------------------
- % the Obliq interpreter
- % requires: obliqparse, obliqprint, metasyn
--BuildChunk ("obliq")
-+% BuildChunk ("obliq")
-
- %--- obliqlib3D --- library -------------------------------------------
- % the Obliq interpreter's hooks to the 3D animation libraries
- % requires: anim3D, obliqlibanim, obliq
--BuildChunk ("obliqlib3D")
-+% BuildChunk ("obliqlib3D")
-
- %--- obliqbinmin --- utility -------------------------------------------
- % the Obliq interpreter with minimal runtime hooks
- % requires: obliq
--BuildChunk ("obliqbinmin")
-+% BuildChunk ("obliqbinmin")
-
- %--- obliqbinstd --- utility -------------------------------------------
- % the Obliq interpreter with the "standard" runtime hooks
- % requires: obliq, obliqlibm3
--BuildChunk ("obliqbinstd")
-+% BuildChunk ("obliqbinstd")
-
- %--- obliqbinui --- utility -------------------------------------------
- % the Obliq interpreter with ui support
- % requires: obliq, obliqlibm3, obliqlibui
--BuildChunk ("obliqbinui")
-+% BuildChunk ("obliqbinui")
-
- %--- obliqbinanim --- utility -------------------------------------------
- % the Obliq interpreter with full animation support
- % requires: obliq, obliqlibm3, obliqlibui, obliqlibanim
--BuildChunk ("obliqbinanim")
-+% BuildChunk ("obliqbinanim")
-
- %--- obliqbin3D --- utility -------------------------------------------
- % the Obliq interpreter with full 3D animation support
- % requires: obliq, obliqlibm3, obliqlibui, obliqlibanim, obliqlib3D
--BuildChunk ("obliqbin3D")
-+% BuildChunk ("obliqbin3D")
-
- %--- obliqsrvstd --- utility -------------------------------------------
- % an Obliq "server" with the standard runtime hooks
- % requires: obliq, obliqlibm3
--BuildChunk ("obliqsrvstd")
-+% BuildChunk ("obliqsrvstd")
-
- %--- obliqsrvui --- utility -------------------------------------------
- % an Obliq "server" with ui support
- % requires: obliq, obliqlibm3, obliqlibui
--BuildChunk ("obliqsrvui")
-+% BuildChunk ("obliqsrvui")
-
- %--- m3zume --- utility -------------------------------------------
- % the "interesting event" preprocessor needed by zeus
- % requires: formsvbt, stubgen
--BuildChunk ("m3zume")
-+% BuildChunk ("m3zume")
-
- %--- zeus --- library -------------------------------------------
- % the algorithm animation toolkit
- % requires: netobj, codeview, mgkit, m3zume, netobj, stubgen
--BuildChunk ("zeus")
-+% BuildChunk ("zeus")
-
- %--- mentor --- demo -------------------------------------------------
- % a collection of algoritm animations
- % requires: zeus, obliqbinanim
--BuildChunk ("mentor")
-+% BuildChunk ("mentor")
-
- %--- smalldb --- library -------------------------------------------
- % an in-memory database library, used by the package tools
- % requires: libm3
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("smalldb")
-+% BuildChunk ("smalldb")
- end
-
- %
-@@ -644,37 +666,40 @@
- %--- visualobliq --- demo -------------------------------------------
- % a prototype of an easy-to-use distributed programming environment
- % requires: formsvbt, obliq, obliqlibui, obliqlibm3
--BuildChunk ("visualobliq")
-+% BuildChunk ("visualobliq")
-
- %--- voquery --- demo -------------------------------------------
- % a simple query program used by vorun
- % requires: formsvbt
--BuildChunk ("voquery")
-+% BuildChunk ("voquery")
-
- %--- vorun --- demo -------------------------------------------
- % a safe visual obliq interpreter suitable for embedding in the WWW.
- % requires: obliqlibui, obliqlibm3, obliq, voquery, vorun
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("vorun")
-+% BuildChunk ("vorun")
- end
-
- %--- vocgi --- demo -------------------------------------------
- % an HTML/cgi gateway, required to embed Visual Obliq code in the WWW.
- % requires: obliqlibm3, obliq
--BuildChunk ("vocgi")
-+% BuildChunk ("vocgi")
-
- %--- llscan --- utility -------------------------------------------
- % a little mh program used by Postcard
- % requires:
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("llscan")
-+% FreeBSD port: Don't uncomment the following line. This chunk depends
-+% upon absolute pathnames. It will be built automatically during the
-+% installation process.
-+% BuildChunk ("llscan")
- end
-
- %--- postcard --- utility -------------------------------------------
- % an integrated mail/news reader
- % requires: formsvbt llscan mtex
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("postcard")
-+% BuildChunk ("postcard")
- end
-
- %--- gnuemacs --- library -------------------------------------------------
-@@ -682,67 +707,67 @@
- % also a program to build Modula-3 tags
- % requires:
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("gnuemacs")
-+% BuildChunk ("gnuemacs")
- end
-
- %--- webvbt --- library -------------------------------------------------
- % a library for displaying HTML pages inside a VBT
- % requires: formsvbt obliqparse obliqlibm3 obliqlibui obliqlibanim
--BuildChunk ("webvbt")
-+% BuildChunk ("webvbt")
-
- %--- webscape --- utility -------------------------------------------------
- % a web browser with support for interactive content
- % requires: webvbt
--BuildChunk ("webscape")
-+% BuildChunk ("webscape")
-
- %--- deckscape --- utility -------------------------------------------------
- % a web browser that uses a new metaphor: "decks" of web pages
- % requires: webvbt
--BuildChunk ("deckscape")
-+% BuildChunk ("deckscape")
-
- %--- webcard --- utility -------------------------------------------------
- % an integrated mail/news/web client
- % requires: webvbt
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("webcard")
-+% BuildChunk ("webcard")
- end
-
- %--- ocr --- library -------------------------------------------------
- % interface to optical character recognition library (DECstation only)
- % requires: libm3
--BuildChunk ("ocr")
-+% BuildChunk ("ocr")
-
- %--- lecterndoc --- library -------------------------------------------------
- % "lectern" document format
- % requires: libm3
--BuildChunk ("lecterndoc")
-+% BuildChunk ("lecterndoc")
-
- %--- lecternclient --- library & utility --------------------------------------
- % tool for sending requests to Lectern server
- % requires: libm3, mtex
--BuildChunk ("lecternclient")
-+% BuildChunk ("lecternclient")
-
- %--- lecterntohtml --- utility ------------------------------------------------
- % tool for sending requests to Lectern server
- % requires: lecterndoc, mtex
- if equal (OS_TYPE, "POSIX")
-- BuildChunk ("lecterntohtml")
-+% BuildChunk ("lecterntohtml")
- end
-
- %--- lectern --- utility -------------------------------------------------
- % the "virtual paper" document viewer
- % requires: formsvbt, images, tempfiles, lecternclient
--BuildChunk ("lectern")
-+% BuildChunk ("lectern")
-
- %--- buildlectern --- utility -------------------------------------------------
- % program for building lectern documents
- % requires: ocr, lecterndoc, tempfiles, images, mtex
--BuildChunk ("buildlectern")
-+% BuildChunk ("buildlectern")
-
- %--- editlectern --- utility -------------------------------------------------
- % program for editing lectern documents
- % requires: formsvbt, lecternclient, lecterndoc
--BuildChunk ("editlectern")
-+% BuildChunk ("editlectern")
-
- %--- tcpextras --- library -------------------------------------------------
- % Additions to the tcp library
-@@ -752,9 +777,9 @@
- %--- http --- library -------------------------------------------------
- % library for hypertext transfer protocol (HTTP)
- % requires: tcpextras
--BuildChunk ("http")
-+% BuildChunk ("http")
-
- %--- webcat --- utility -------------------------------------------------
- % program that takes a URL and prints out the web document
- % requires: http
--BuildChunk ("webcat")
-+% BuildChunk ("webcat")
diff --git a/lang/modula-3-lib/files/patch-am b/lang/modula-3-lib/files/patch-am
deleted file mode 100644
index e570475ea8de..000000000000
--- a/lang/modula-3-lib/files/patch-am
+++ /dev/null
@@ -1,96 +0,0 @@
-Change the font lookup algorithm to prefer non-scalable fonts when they
-are available. The original algorithm came up with some really ugly
-scaled fonts sometimes, even when an equally suitable unscaled
-alternative was available.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/ui/src/xvbt/XScrnFont.m3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 XScrnFont.m3
---- m3/ui/src/xvbt/XScrnFont.m3.orig 1996/09/24 05:22:01 1.1.1.1
-+++ m3/ui/src/xvbt/XScrnFont.m3 1996/09/24 05:32:38
-@@ -193,12 +193,16 @@
-
- PROCEDURE FontLookup (orc: FontOracle; name: TEXT): ScrnFont.T
- RAISES {ScrnFont.Failure, TrestleComm.Failure} =
-- VAR s: Ctypes.char_star;
-+ VAR
-+ s: Ctypes.char_star;
-+ uname: TEXT;
- BEGIN
- TRY
- TrestleOnX.Enter(orc.st.trsl);
- TRY
-- s := M3toC.TtoS(name);
-+ uname := FindUnscaled(orc.st.trsl.dpy, name); (* Prefer unscaled font *)
-+ IF uname = NIL THEN uname := name END;
-+ s := M3toC.TtoS(uname);
- VAR xfs := X.XLoadQueryFont(orc.st.trsl.dpy, s);
- BEGIN
- IF xfs = NIL THEN RAISE ScrnFont.Failure END;
-@@ -209,6 +213,65 @@
- END;
- EXCEPT X.Error => RAISE TrestleComm.Failure END;
- END FontLookup;
-+
-+PROCEDURE FindUnscaled(dpy: X.DisplayStar; pat: TEXT): TEXT RAISES {X.Error} =
-+ (* Return the first matching unscaled font, if any. Otherwise return NIL. *)
-+ VAR
-+ s := M3toC.TtoS(pat);
-+ xcount: Ctypes.int;
-+ fonts := X.XListFonts(dpy, s, 32767, ADR(xcount));
-+ fp := fonts;
-+ count: INTEGER := xcount;
-+ xmatch: Ctypes.char_star := NIL;
-+ match: TEXT := NIL;
-+ BEGIN
-+ IF count = 0 THEN
-+ IF fonts # NIL THEN X.XFreeFontNames(fonts) END;
-+ RETURN NIL;
-+ END;
-+
-+ FOR i := 0 TO count - 1 DO (* Search for an unscaled font *)
-+ IF NOT IsScaled(M3toC.StoT(fp^)) THEN
-+ xmatch := fp^;
-+ EXIT;
-+ END;
-+ fp := fp + ADRSIZE(fp^);
-+ END;
-+
-+ IF xmatch # NIL THEN (* Found an unscaled font *)
-+ match := M3toC.CopyStoT(xmatch);
-+ END;
-+ X.XFreeFontNames(fonts);
-+ RETURN match;
-+ END FindUnscaled;
-+
-+PROCEDURE IsScaled(name: TEXT): BOOLEAN =
-+ (* Return true if font is scaled. *)
-+ VAR
-+ len := Text.Length(name);
-+ fieldNum := 0;
-+ found0 := FALSE;
-+ hyphenPos: INTEGER;
-+ BEGIN
-+ (* A font is scaled if:
-+ a. it is in canonical form (starts with '-', and all 14 XLFD fields
-+ are present), and
-+ b. any of the fields pixel size, point size, or average width is 0. *)
-+ hyphenPos := Text.FindChar(name, '-', 0);
-+ WHILE hyphenPos # -1 DO
-+ INC(fieldNum);
-+ IF fieldNum = 7 OR fieldNum = 8 OR fieldNum = 12 THEN
-+ IF hyphenPos+2 < len AND
-+ Text.GetChar(name, hyphenPos+1) = '0' AND
-+ Text.GetChar(name, hyphenPos+2) = '-' THEN
-+ found0 := TRUE;
-+ END;
-+ END;
-+ hyphenPos := Text.FindChar(name, '-', hyphenPos+1);
-+ END;
-+
-+ RETURN fieldNum = 14 AND Text.GetChar(name, 0) = '-' AND found0;
-+ END IsScaled;
-
- CONST
- BuiltInNames = ARRAY OF
diff --git a/lang/modula-3-lib/files/patch-aq b/lang/modula-3-lib/files/patch-aq
deleted file mode 100644
index 50eb90f0cabe..000000000000
--- a/lang/modula-3-lib/files/patch-aq
+++ /dev/null
@@ -1,219 +0,0 @@
-New package "m3configvars". This does the same thing as "m3config", but
-instead of constants for the configuration parameters, it uses variables
-that are initialized at start up. This makes it much easier to change
-the Modula-3 installation directory, by simply building a new shared
-library for "m3configvars". With this approach, there is no need to
-recompile or even relink applications.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3configvars/src/COPYRIGHT,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 COPYRIGHT
---- m3/m3configvars/src/COPYRIGHT.orig 1996/09/24 05:21:56 1.1.1.1
-+++ m3/m3configvars/src/COPYRIGHT 1996/09/24 05:32:39
-@@ -0,0 +1,93 @@
-+
-+ Digital License Agreement
-+
-+ SRC Modula-3
-+
-+ 1. Grant Of License. Digital Equipment Corporation, having a principal
-+ office at 146 Main Street, Maynard, MA 01754 ("DIGITAL") grants to
-+ you ("LICENSEE") the non-exclusive, non-transferable, royalty free
-+ right to use, modify, reproduce and distribute SRC Modula-3 ("SOFTWARE")
-+ subject to the terms set forth herein. Any distribution of SOFTWARE
-+ shall include this Digital License Agreement in human readable form.
-+
-+ 2. Title to Intellectual Property and Software. Subject to the limited
-+ rights and licenses granted under this License Agreement, all rights,
-+ title and interests including patent, copyright, and trademark rights
-+ in SOFTWARE are and shall remain vested in DIGITAL to the exclusion
-+ of LICENSEE. DIGITAL represents and warrants that DIGITAL has the
-+ legal right to grant such licenses as are expressly granted under
-+ this Agreement.
-+
-+ 3. Copyright. The SOFTWARE is owned by DIGITAL or its suppliers and is
-+ protected by United States copyright laws and international treaty
-+ provisions. Therefore, you must treat the SOFTWARE like any other
-+ copyrighted material (e.g., a book or musical recording) except
-+ that you may use the SOFTWARE as provided in this Digital License
-+ Agreement.
-+
-+ 4. Improvements. LICENSEE hereby grants to DIGITAL a non-exclusive,
-+ non-transferable, royalty free right to use, modify, reproduce
-+ and distribute with the right to sublicense at any tier, any
-+ improvements, enhancements, extensions, or modifications that
-+ LICENSEE make to SOFTWARE, provided such are returned to DIGITAL
-+ by LICENSEE.
-+
-+ 5. DISCLAIMER OF WARRANTY. Because the SOFTWARE is a research work and
-+ not a released product, it is provided "AS IS" WITHOUT WARRANTY OF ANY
-+ KIND AND WITHOUT ANY SUPPORT SERVICES. EXCEPT AS SPECIFICALLY PROVIDED
-+ ABOVE IN SECTION 2, DIGITAL FURTHER DISCLAIMS ALL OTHER EXPRESS OR
-+ IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR
-+ PURPOSE. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF
-+ THE SOFTWARE REMAINS WITH YOU.
-+
-+ 6. Limitation of Liability. IN NO EVENT SHALL DIGITAL OR ITS SUPPLIERS BE
-+ LIABLE IN AN AMOUNT THAT EXCEEDS THE LICENSE FEE PAID BY LICENSEE FOR
-+ ANY DAMAGES (INCLUDING, WITH LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-+ PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
-+ PECUNIARY LOSS), REGARDLESS OF THE FORM OF CLAIM OR ACTIONS, ARISING
-+ OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION,
-+ EVEN IF DIGITAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-+ BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY
-+ FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT
-+ APPLY TO YOU.
-+
-+ 7. Acknowledgement of Allocation of Risk. LICENSEE acknowledges and agrees
-+ that the fees charged by DIGITAL in this Agreement reflect the allocation
-+ of risks provided by the foregoing limitation of liability. LICENSEE
-+ acknowledges and represents that it has read and understands these
-+ allocations of risk limiting the liability of DIGITAL and that it
-+ understands that a modification of the allocation of risks set forth
-+ in this agreement would affect the fees charged by DIGITAL, and that
-+ LICENSEE, in consideration of such fees, agrees to such allocations
-+ of risk.
-+
-+ 8. LICENSEE INDEMNIFICATION. LICENSEE SHALL INDEMNIFY DIGITAL AGAINST
-+ ALL COSTS AND DAMAGE JUDGEMENTS, INCLUDING ATTORNEY'S FEES AND COSTS
-+ OF DEFENSE, INCURRED BECAUSE OF CLAIMS OF DAMAGE ARISING FROM LICENSEE'S
-+ POSSESSION OR USE OR INABILITY TO USE SOFTWARE.
-+
-+ 9. GOVERNMENT RESTRICTED RIGHTS. The SOFTWARE and documentation are provided
-+ with RESTRICTED RIGHTS. Use duplication, or disclosure by the Government
-+ is subject restrictions as set forth in subparagraph (c)(1)(ii) of The
-+ Rights in Technical Data and Computer Software clause in DFARS
-+ 252.227-7013, or subparagraphs (c)(i) and (2) of the Commercial Computer
-+ Software -- Restricted Rights at 48 CFR 52.227-19, as applicable.
-+ Manufacturer is Digital Equipment Corporation, 130 Lytton Avenue,
-+ Palo Alto, CA 94301-1044.
-+
-+10. Severability. If any provision of the Agreement is held illegal or
-+ unenforceable by any court of competent jurisdiction, such provision
-+ shall be deemed separable from the remaining provisions of this Agreement
-+ and shall not affect or impair the validity or enforceability of the
-+ remaining provisions of this Agreement.
-+
-+11. Governing Law. This Agreement is governed by the laws of the
-+ Commonwealth of Massachusetts.
-+
-+12. Publicity. You my not use the name of DIGITAL in any advertisement,
-+ press release or other publicity with reference to SRC Modula-3
-+ without prior written consent of DIGITAL.
-+
-+13. Should you have any questions concerning this Agreement, or if you
-+ desire to contact Digital for any reason, please do so via E-mail:
-+ M3-REQUEST@SRC.DEC.COM.
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3configvars/src/M3ConfigVars.i3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 M3ConfigVars.i3
---- m3/m3configvars/src/M3ConfigVars.i3.orig 1996/09/24 05:21:56 1.1.1.1
-+++ m3/m3configvars/src/M3ConfigVars.i3 1996/09/24 05:32:39
-@@ -0,0 +1,41 @@
-+(* Copyright (C) 1994, Digital Equipment Corporation *)
-+(* All rights reserved. *)
-+(* See the file COPYRIGHT for a full description. *)
-+
-+(* This interface exports the configuration information
-+ used by m3build and quake. These constants were defined
-+ when Modula-3 was installed. *)
-+
-+INTERFACE M3ConfigVars;
-+
-+VAR (* CONST *) (* misc. configuration *)
-+ TARGET: TEXT;
-+ OS_TYPE: TEXT;
-+ WORD_SIZE: TEXT;
-+ BUILD_DIR: TEXT;
-+ PATH_SEP: TEXT;
-+ M3: TEXT;
-+
-+VAR (* CONST *) (* installation directories *)
-+ BIN_INSTALL: TEXT;
-+ LIB_INSTALL: TEXT;
-+ DOC_INSTALL: TEXT;
-+ PKG_INSTALL: TEXT;
-+ MAN_INSTALL: TEXT;
-+ EMACS_INSTALL: TEXT;
-+ HTML_INSTALL: TEXT;
-+
-+(* On some systems (e.g. AFS) you must install public files
-+ in a different place from where you use them. The paths
-+ below specify where to find the installed files. *)
-+
-+VAR (* CONST *)
-+ BIN_USE: TEXT;
-+ LIB_USE: TEXT;
-+ DOC_USE: TEXT;
-+ PKG_USE: TEXT;
-+ MAN_USE: TEXT;
-+ EMACS_USE: TEXT;
-+ HTML_USE: TEXT;
-+
-+END M3ConfigVars.
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3configvars/src/m3makefile,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 m3makefile
---- m3/m3configvars/src/m3makefile.orig 1996/09/24 05:21:56 1.1.1.1
-+++ m3/m3configvars/src/m3makefile 1996/09/24 05:32:39
-@@ -0,0 +1,57 @@
-+% Copyright (C) 1994, Digital Equipment Corporation
-+% All rights reserved.
-+% See the file COPYRIGHT for a full description.
-+%
-+% Last modified on Wed Jan 31 15:10:00 PST 1996 by jdp@polstra.com
-+% modified on Thu Dec 1 09:52:35 PST 1994 by kalsow
-+% modified on Mon Jan 18 11:50:18 PST 1993 by muller
-+
-+readonly M3ConfigVars_body = [
-+ "(* Copyright (C) 1994, Digital Equipment Corporation *)",
-+ "(* All rights reserved. *)",
-+ "(* See the file COPYRIGHT for a full description. *)",
-+ "",
-+ "MODULE M3ConfigVars;",
-+ "",
-+ "BEGIN",
-+ " (* misc. configuration *)",
-+ " TARGET := \"" & escape(TARGET) & "\";",
-+ " OS_TYPE := \"" & escape(OS_TYPE) & "\";",
-+ " WORD_SIZE := \"" & escape(WORD_SIZE) & "\";",
-+ " BUILD_DIR := \"" & escape(DEFAULT_BUILD_DIR) & "\";",
-+ " PATH_SEP := \"" & escape(SL) & "\";",
-+ " M3 := \"" & escape(M3) & "\";",
-+ "",
-+ " (* installation directories *)",
-+ " BIN_INSTALL := \"" & escape(BIN_INSTALL) & "\";",
-+ " LIB_INSTALL := \"" & escape(LIB_INSTALL) & "\";",
-+ " DOC_INSTALL := \"" & escape(DOC_INSTALL) & "\";",
-+ " PKG_INSTALL := \"" & escape(PKG_INSTALL) & "\";",
-+ " MAN_INSTALL := \"" & escape(MAN_INSTALL) & "\";",
-+ " EMACS_INSTALL := \"" & escape(EMACS_INSTALL) & "\";",
-+ " HTML_INSTALL := \"" & escape(HTML_INSTALL) & "\";",
-+ "",
-+ " BIN_USE := \"" & escape(BIN_USE) & "\";",
-+ " LIB_USE := \"" & escape(LIB_USE) & "\";",
-+ " DOC_USE := \"" & escape(DOC_INSTALL) & "\";",
-+ " PKG_USE := \"" & escape(PKG_USE) & "\";",
-+ " MAN_USE := \"" & escape(MAN_INSTALL) & "\";",
-+ " EMACS_USE := \"" & escape(EMACS_INSTALL) & "\";",
-+ " HTML_USE := \"" & escape(HTML_INSTALL) & "\";",
-+ "END M3ConfigVars."
-+]
-+
-+if defined("_all")
-+ > ".M3ConfigVars.m3" in
-+ foreach line in M3ConfigVars_body
-+ write (line, CR)
-+ end
-+ end
-+ cp_if (".M3ConfigVars.m3", "M3ConfigVars.m3")
-+end
-+
-+import ("m3core")
-+interface ("M3ConfigVars")
-+derived_implementation ("M3ConfigVars")
-+export_interface ("M3ConfigVars")
-+library ("m3configvars")
diff --git a/lang/modula-3-lib/files/patch-ar b/lang/modula-3-lib/files/patch-ar
deleted file mode 100644
index 8201df109acf..000000000000
--- a/lang/modula-3-lib/files/patch-ar
+++ /dev/null
@@ -1,48 +0,0 @@
-This patch modifies m3browser to use the new "m3configvars" package.
-
-===================================================================
---- m3/m3browser/src/Main.m3.orig Mon Feb 5 10:49:57 1996
-+++ m3/m3browser/src/Main.m3 Tue Sep 24 15:39:45 1996
-@@ -13,13 +13,12 @@
-
- IMPORT Text, Rd, Wr, TextRd, Thread, Time, Fmt, IntRefTbl, IntList;
- IMPORT Process, Params, Lex, OS, FloatMode, Word, IntIntTbl, TextIntTbl;
--IMPORT FileWr, OSError, Atom, FmtTime, M3Config, RTParams, RTCollector;
-+IMPORT FileWr, OSError, Atom, FmtTime, M3ConfigVars, RTParams, RTCollector;
- IMPORT FS, RefList, IntSeq, XFormat, RefSeq, TextRefTbl, CharMap, IP;
- IMPORT Buf, ID, Wx, MarkUp, CMarkUp, TCPServer, ErrLog, RTutils, RTHeapStats;
-
- CONST
- Title_page = "m3browser.html";
-- SLASH = M3Config.PATH_SEP;
- StartPage = "<HTML>\n<HEAD>\n";
- StartTitle = "<TITLE>";
- Body = "<BODY BGCOLOR=\"#ffffff\" VLINK=\"#006633\">\n";
-@@ -28,10 +27,11 @@
- EndPage = "</BODY>\n</HTML>\n";
-
- VAR (* configuration *)
-- package_root := M3Config.PKG_USE;
-+ SLASH := M3ConfigVars.PATH_SEP;
-+ package_root := M3ConfigVars.PKG_USE;
- server_machine : TEXT; (* initialized in "ParseOptions" *)
- server_socket := 3829;
-- derived_dirs := IntList.List1 (ID.Add (M3Config.BUILD_DIR));
-+ derived_dirs := IntList.List1 (ID.Add (M3ConfigVars.BUILD_DIR));
- n_workers := 3;
- refresh_interval := 30.0d0; (* minutes *)
- start_time := Time.Now ();
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3browser/src/m3makefile,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 m3makefile
---- m3/m3browser/src/m3makefile.orig 1996/09/24 05:21:56 1.1.1.1
-+++ m3/m3browser/src/m3makefile 1996/09/24 05:32:39
-@@ -6,6 +6,7 @@
-
- m3_option ("-times")
-
-+import ("m3configvars")
- import ("libm3")
- import ("tcp")
- import ("m3tools")
diff --git a/lang/modula-3-lib/files/patch-at b/lang/modula-3-lib/files/patch-at
deleted file mode 100644
index 67ab9db090c5..000000000000
--- a/lang/modula-3-lib/files/patch-at
+++ /dev/null
@@ -1,68 +0,0 @@
-Changes to "m3tohtml" to use the new "m3configvars" package.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3tohtml/src/Main.m3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 Main.m3
---- m3/m3tohtml/src/Main.m3.orig 1996/09/24 05:22:00 1.1.1.1
-+++ m3/m3tohtml/src/Main.m3 1996/09/24 05:32:40
-@@ -7,7 +7,7 @@
- MODULE Main;
-
- IMPORT Text, Rd, Wr, Stdio, Thread, Fmt, Time;
--IMPORT OSError, FileRd, FileWr, Pathname, FS, M3Config;
-+IMPORT OSError, FileRd, FileWr, Pathname, FS, M3ConfigVars;
- IMPORT MarkUp, M3DB, HTMLDir, FilePath, Process;
- <*FATAL Thread.Alerted*>
-
-@@ -31,8 +31,8 @@
- WHILE NOT Rd.EOF (rd) DO
- file := Rd.GetLine (rd);
- IF Text.GetChar (file, 0) = '$' THEN
-- pkg := Text.Sub (file, 1) & M3Config.PATH_SEP;
-- proj_pkg := M3Config.PKG_USE & M3Config.PATH_SEP & pkg;
-+ pkg := Text.Sub (file, 1) & M3ConfigVars.PATH_SEP;
-+ proj_pkg := M3ConfigVars.PKG_USE & M3ConfigVars.PATH_SEP & pkg;
- ELSE
- INC (n_sources);
- sources := NEW (Source, next := sources,
-@@ -53,7 +53,7 @@
- sources := b;
- END ReadFileList;
-
--VAR(*CONST*) Build_dir_len := Text.Length (M3Config.BUILD_DIR);
-+VAR(*CONST*) Build_dir_len := Text.Length (M3ConfigVars.BUILD_DIR);
-
- PROCEDURE FixDerived (filename: TEXT): TEXT =
- VAR i: INTEGER;
-@@ -64,13 +64,14 @@
-
- i := 0;
- WHILE (i < Build_dir_len) DO
-- IF Text.GetChar (filename, i) # Text.GetChar (M3Config.BUILD_DIR, i) THEN
-+ IF Text.GetChar (filename, i) # Text.GetChar (M3ConfigVars.BUILD_DIR, i)
-+ THEN
- RETURN filename;
- END;
- INC (i);
- END;
-
-- IF Text.GetChar (filename, i) = Text.GetChar (M3Config.PATH_SEP, 0) THEN
-+ IF Text.GetChar (filename, i) = Text.GetChar (M3ConfigVars.PATH_SEP, 0) THEN
- filename := "derived" & Text.Sub (filename, i);
- END;
- RETURN filename;
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3tohtml/src/m3makefile,v
-retrieving revision 1.1.1.2
-diff -u -r1.1.1.2 m3makefile
---- m3/m3tohtml/src/m3makefile.orig 1996/09/24 05:29:00 1.1.1.2
-+++ m3/m3tohtml/src/m3makefile 1996/09/24 05:35:10
-@@ -10,6 +10,7 @@
- % m3_option ("-Y0@/udir/kalsow/pkg/m3/compiler/DS/m3c@-tDS3100@")
- % override (m3tools, "/udir/kalsow/pkgs")
-
-+import ("m3configvars")
- import ("libm3")
- import ("m3tools")
-
diff --git a/lang/modula-3-lib/files/patch-av b/lang/modula-3-lib/files/patch-av
deleted file mode 100644
index 9945cf95c597..000000000000
--- a/lang/modula-3-lib/files/patch-av
+++ /dev/null
@@ -1,417 +0,0 @@
-Fix many incorrect things in the Usocket interface for FreeBSD.
-Also make provisions for using SOCKS.
-
---- m3/m3core/src/unix/freebsd-2/Usocket.i3.orig Sat Jan 7 14:22:22 1995
-+++ m3/m3core/src/unix/freebsd-2/Usocket.i3 Thu Oct 24 16:04:43 1996
-@@ -30,28 +30,30 @@
- (*
- * Option flags per-socket.
- *)
-- SO_DEBUG = 1; (* turn on debugging info recording *)
-- SO_REUSEADDR = 2; (* allow local address reuse *)
-- SO_TYPE = 3; (* get socket type *)
-- SO_ERROR = 4; (* get error status and clear *)
-- SO_DONTROUTE = 5; (* just use interface addresses *)
-- SO_BROADCAST = 6; (* permit sending of broadcast msgs *)
-- SO_SNDBUF = 7; (* send buffer size *)
-- SO_RCVBUF = 8; (* receive buffer size *)
-- SO_KEEPALIVE = 9; (* keep connections alive *)
-- SO_OOBINLINE = 10; (* leave received OOB data in line *)
-- SO_NO_CHECK = 11;
-- SO_PRIORITY = 12;
-- SO_LINGER = 13; (* linger on close if data present *)
-+ SO_DEBUG = 16_0001; (* turn on debugging info recording *)
-+ SO_ACCEPTCONN = 16_0002; (* socket has had listen() *)
-+ SO_REUSEADDR = 16_0004; (* allow local address reuse *)
-+ SO_KEEPALIVE = 16_0008; (* keep connections alive *)
-+ SO_DONTROUTE = 16_0010; (* just use interface addresses *)
-+ SO_BROADCAST = 16_0020; (* permit sending of broadcast msgs *)
-+ SO_USELOOPBACK = 16_0040; (* bypass hardware when possible *)
-+ SO_LINGER = 16_0080; (* linger on close if data present *)
-+ SO_OOBINLINE = 16_0100; (* leave received OOB data in line *)
-+ SO_REUSEPORT = 16_0200; (* allow local address & port reuse *)
-+ SO_TIMESTAMP = 16_0400; (* timestamp received dgram traffic *)
-
- (*
- * Additional options, not kept in so_options.
- *)
-- (* these constants may not be implemented - be careful *)
-- SO_SNDLOWAT = 16_1003; (* send low-water mark *)
-- SO_RCVLOWAT = 16_1004; (* receive low-water mark *)
-- SO_SNDTIMEO = 16_1005; (* send timeout *)
-- SO_RCVTIMEO = 16_1006; (* receive timeout *)
-+ SO_SNDBUF = 16_1001; (* send buffer size *)
-+ SO_RCVBUF = 16_1002; (* receive buffer size *)
-+ SO_SNDLOWAT = 16_1003; (* send low-water mark *)
-+ SO_RCVLOWAT = 16_1004; (* receive low-water mark *)
-+ SO_SNDTIMEO = 16_1005; (* send timeout *)
-+ SO_RCVTIMEO = 16_1006; (* receive timeout *)
-+ SO_ERROR = 16_1007; (* get error status and clear *)
-+ SO_TYPE = 16_1008; (* get socket type *)
-+ SO_PRIVSTATE = 16_1009; (* get/deny privileged state *)
-
- (*
- * Structure used for manipulating linger option.
-@@ -67,38 +69,45 @@
- * Level number for (get/set)sockopt() to apply to socket itself.
- *)
- CONST
-- SOL_SOCKET = 1; (* options for socket level *)
-+ SOL_SOCKET = 16_ffff; (* options for socket level *)
-
-
- (*
- * Address families.
- *)
-- AF_UNSPEC = 0; (* unspecified *)
-- AF_UNIX = 1; (* local to host (pipes, portals) *)
-- AF_INET = 2; (* internetwork: UDP, TCP, etc. *)
-- AF_AX25 = 3;
-- AF_IPX = 4;
--
-- AF_MAX = 5;
--
--(*****
-- AF_IMPLINK = 3; (* arpanet imp addresses *)
-- AF_PUP = 4; (* pup protocols: e.g. BSP *)
-- AF_CHAOS = 5; (* mit CHAOS protocols *)
-- AF_NS = 6; (* XEROX NS protocols *)
-- AF_NBS = 7; (* nbs protocols *)
-- AF_ECMA = 8; (* european computer manufacturers *)
-- AF_DATAKIT = 9; (* datakit protocols *)
-- AF_CCITT = 10; (* CCITT protocols, X.25 etc *)
-- AF_SNA = 11; (* IBM SNA *)
-- AF_DECnet = 12; (* DECnet *)
-- AF_DLI = 13; (* Direct data link interface *)
-- AF_LAT = 14; (* LAT *)
-- AF_HYLINK = 15; (* NSC Hyperchannel *)
-- AF_APPLETALK = 16; (* Apple talk *)
-- AF_BSC = 17; (* BISYNC 2780/3780 *)
-- AF_DSS = 18; (* Distributed system services *)
--*******)
-+ AF_UNSPEC = 0; (* unspecified *)
-+ AF_LOCAL = 1; (* local to host (pipes, portals) *)
-+ AF_UNIX = AF_LOCAL; (* backward compatibility *)
-+ AF_INET = 2; (* internetwork: UDP, TCP, etc. *)
-+ AF_IMPLINK = 3; (* arpanet imp addresses *)
-+ AF_PUP = 4; (* pup protocols: e.g. BSP *)
-+ AF_CHAOS = 5; (* mit CHAOS protocols *)
-+ AF_NS = 6; (* XEROX NS protocols *)
-+ AF_ISO = 7; (* ISO protocols *)
-+ AF_OSI = AF_ISO;
-+ AF_ECMA = 8; (* European computer manufacturers *)
-+ AF_DATAKIT = 9; (* datakit protocols *)
-+ AF_CCITT = 10; (* CCITT protocols, X.25 etc *)
-+ AF_SNA = 11; (* IBM SNA *)
-+ AF_DECnet = 12; (* DECnet *)
-+ AF_DLI = 13; (* DEC Direct data link interface *)
-+ AF_LAT = 14; (* LAT *)
-+ AF_HYLINK = 15; (* NSC Hyperchannel *)
-+ AF_APPLETALK = 16; (* Apple Talk *)
-+ AF_ROUTE = 17; (* Internal Routing Protocol *)
-+ AF_LINK = 18; (* Link layer interface *)
-+ pseudo_AF_XTP = 19; (* eXpress Transfer Protocol (no AF) *)
-+ AF_COIP = 20; (* connection-oriented IP, aka ST II *)
-+ AF_CNT = 21; (* Computer Network Technology *)
-+ pseudo_AF_RTIP = 22; (* Help Identify RTIP packets *)
-+ AF_IPX = 23; (* Novell Internet Protocol *)
-+ AF_SIP = 24; (* Simple Internet Protocol *)
-+ pseudo_AF_PIP = 25; (* Help Identify PIP packets *)
-+ AF_ISDN = 26; (* Integrated Services Digital Network*)
-+ AF_E164 = AF_ISDN; (* CCITT E.164 recommendation *)
-+ pseudo_AF_KEY = 27; (* Internal key-management function *)
-+
-+ AF_MAX = 28;
-
- (*
- * Structure used by kernel to store most
-@@ -106,9 +115,9 @@
- *)
- TYPE
- struct_sockaddr = RECORD
-- sa_family: Ctypes.unsigned_short; (* address family *)
-- sa_data: ARRAY [0..13] OF Ctypes.char;
-- (* up to 14 bytes of direct address *)
-+ sa_len: Ctypes.unsigned_char; (* total length *)
-+ sa_family: Ctypes.unsigned_char; (* address family *)
-+ sa_data: ARRAY [0..13] OF Ctypes.char; (* address; actually longer *)
- END;
-
-
-@@ -116,7 +125,6 @@
- * Structure used by kernel to pass protocol
- * information in raw sockets.
- *)
-- (* Can't find this one either .. be careful *)
- struct_sockproto = RECORD
- sp_family: Ctypes.unsigned_short; (* address family *)
- sp_protocol: Ctypes.unsigned_short; (* protocol *)
-@@ -126,75 +134,101 @@
- * Protocol families, same as address families for now.
- *)
- CONST
-+ PF_UNSPEC = AF_UNSPEC;
-+ PF_LOCAL = AF_LOCAL;
-+ PF_UNIX = PF_LOCAL; (* backward compatibility *)
-+ PF_INET = AF_INET;
-+ PF_IMPLINK = AF_IMPLINK;
-+ PF_PUP = AF_PUP;
-+ PF_CHAOS = AF_CHAOS;
-+ PF_NS = AF_NS;
-+ PF_ISO = AF_ISO;
-+ PF_OSI = AF_ISO;
-+ PF_ECMA = AF_ECMA;
-+ PF_DATAKIT = AF_DATAKIT;
-+ PF_CCITT = AF_CCITT;
-+ PF_SNA = AF_SNA;
-+ PF_DECnet = AF_DECnet;
-+ PF_DLI = AF_DLI;
-+ PF_LAT = AF_LAT;
-+ PF_HYLINK = AF_HYLINK;
-+ PF_APPLETALK = AF_APPLETALK;
-+ PF_ROUTE = AF_ROUTE;
-+ PF_LINK = AF_LINK;
-+ PF_XTP = pseudo_AF_XTP; (* really just proto family, no AF *)
-+ PF_COIP = AF_COIP;
-+ PF_CNT = AF_CNT;
-+ PF_SIP = AF_SIP;
-+ PF_IPX = AF_IPX; (* same format as AF_NS *)
-+ PF_RTIP = pseudo_AF_RTIP; (* same format as AF_INET *)
-+ PF_PIP = pseudo_AF_PIP;
-+ PF_ISDN = AF_ISDN;
-+ PF_KEY = pseudo_AF_KEY;
-
-- PF_UNSPEC = AF_UNSPEC;
-- PF_UNIX = AF_UNIX;
-- PF_INET = AF_INET;
-- PF_AX25 = AF_AX25;
-- PF_IPX = AF_IPX;
--
-- (* NO supported on Linux:
-- PF_IMPLINK = AF_IMPLINK;
-- PF_PUP = AF_PUP;
-- PF_CHAOS = AF_CHAOS;
-- PF_NS = AF_NS;
-- PF_NBS = AF_NBS;
-- PF_ECMA = AF_ECMA;
-- PF_DATAKIT = AF_DATAKIT;
-- PF_CCITT = AF_CCITT;
-- PF_SNA = AF_SNA;
-- PF_DECnet = AF_DECnet;
-- PF_DLI = AF_DLI;
-- PF_LAT = AF_LAT;
-- PF_HYLINK = AF_HYLINK;
-- PF_APPLETALK = AF_APPLETALK;
-- PF_BSC = AF_BSC;
-- PF_DSS = AF_DSS;
-- ************)
--
-- PF_MAX = AF_MAX;
-+ PF_MAX = AF_MAX;
-
- (*
- * Maximum queue length specifiable by listen.
- *)
-- (* Not defined under Linux - be careful *)
-- SOMAXCONN = 5;
-+ SOMAXCONN = 128;
-
- (*
- * Message header for recvmsg and sendmsg calls.
- *)
- TYPE
-- (* Again, I haven't checked this structure *)
- struct_msghdr = RECORD
-- msg_name: Utypes.caddr_t; (* optional address *)
-- msg_namelen: Ctypes.int; (* size of address *)
-- msg_iov: Uuio.struct_iovec_star; (* scatter/gather array *)
-- msg_iovlen: Ctypes.int; (* # elements in msg_iov *)
-- msg_accrights: Utypes.caddr_t; (* access rights sent/received *)
-- msg_accrightslen: Ctypes.int;
-+ msg_name: Utypes.caddr_t; (* optional address *)
-+ msg_namelen: Ctypes.unsigned_int; (* size of address *)
-+ msg_iov: Uuio.struct_iovec_star; (* scatter/gather array *)
-+ msg_iovlen: Ctypes.unsigned_int; (* # elements in msg_iov *)
-+ msg_control: Utypes.caddr_t; (* ancillary data, see below *)
-+ msg_controllen: Ctypes.unsigned_int; (* ancillary data buffer len *)
-+ msg_flags: Ctypes.int; (* flags on received message *)
- END;
-
-
- CONST
-- MSG_OOB = 16_1; (* process out-of-band data *)
-- MSG_PEEK = 16_2; (* peek at incoming message *)
--(* The following aren't defined in /usr/include/linux/socket.h *)
--(**
-- MSG_DONTROUTE = 16_4; (* send without using routing tables *)
-+ MSG_OOB = 16_1; (* process out-of-band data *)
-+ MSG_PEEK = 16_2; (* peek at incoming message *)
-+ MSG_DONTROUTE = 16_4; (* send without using routing tables *)
-+ MSG_EOR = 16_8; (* data completes record *)
-+ MSG_TRUNC = 16_10; (* data discarded before delivery *)
-+ MSG_CTRUNC = 16_20; (* control data lost before delivery *)
-+ MSG_WAITALL = 16_40; (* wait for full request or error *)
-+ MSG_DONTWAIT = 16_80; (* this message should be nonblocking *)
-+ MSG_EOF = 16_100; (* data completes connection *)
-+ MSG_COMPAT = 16_8000; (* used in sendit() *)
-+
-+(*
-+ * Header for ancillary data objects in msg_control buffer.
-+ * Used for additional information with/about a datagram
-+ * not expressible by flags. The format is a sequence
-+ * of message elements headed by cmsghdr structures.
-+ *)
-+TYPE
-+ struct_cmsghdr = RECORD
-+ cmsg_len: Ctypes.unsigned_int; (* data byte count, including hdr *)
-+ cmsg_level: Ctypes.int; (* originating protocol *)
-+ cmsg_type: Ctypes.int; (* protocol-specific type *)
-+ (* followed by u_char cmsg_data[]; *)
-+ END;
-
-- MSG_MAXIOVLEN = 16;
--***)
-+(* "Socket"-level control message types: *)
-+CONST
-+ SCM_RIGHTS = 16_01; (* access rights (array of int) *)
-+ SCM_TIMESTAMP = 16_02; (* timestamp (struct timeval) *)
-
- (*
- * Definitions for UNIX IPC domain.
- *)
- TYPE
- struct_sockaddr_un = RECORD
-- sun_family: Ctypes.unsigned_short; (* AF_UNIX *)
-- sun_path: ARRAY [0..107] OF Ctypes.char; (* path name (gag) *)
-+ sun_len: Ctypes.unsigned_char; (* sockaddr len including null *)
-+ sun_family: Ctypes.unsigned_char; (* AF_UNIX *)
-+ sun_path: ARRAY [0..103] OF Ctypes.char; (* path name (gag) *)
- END;
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_accept"*>
- PROCEDURE accept(
- s: Ctypes.int;
- addr: UNTRACED REF struct_sockaddr;
-@@ -202,7 +236,7 @@
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_bind"*>
- PROCEDURE bind(
- s: Ctypes.int;
- name: UNTRACED REF struct_sockaddr;
-@@ -210,7 +244,7 @@
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_connect"*>
- PROCEDURE connect(
- s: Ctypes.int;
- name: UNTRACED REF struct_sockaddr;
-@@ -218,7 +252,7 @@
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_getpeername"*>
- PROCEDURE getpeername(
- s: Ctypes.int;
- name: UNTRACED REF struct_sockaddr;
-@@ -226,7 +260,7 @@
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_getsockname"*>
- PROCEDURE getsockname(
- s: Ctypes.int;
- name: UNTRACED REF struct_sockaddr;
-@@ -237,52 +271,70 @@
- <*EXTERNAL*>
- PROCEDURE getsockopt(
- s, level, optname: Ctypes.int;
-- optval: Ctypes.char_star;
-+ optval: Ctypes.void_star;
- optlen: Ctypes.int_star)
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_listen"*>
- PROCEDURE listen(s, backlog: Ctypes.int): Ctypes.int RAISES {};
-
--<*EXTERNAL*>
--PROCEDURE recv(s: Ctypes.int; buf: Ctypes.char_star; len, flags: Ctypes.int): Ctypes.int RAISES {};
-+<*EXTERNAL "m3_recv"*>
-+PROCEDURE recv(
-+ s: Ctypes.int;
-+ buf: Ctypes.void_star;
-+ len: Utypes.size_t;
-+ flags: Ctypes.int)
-+ : Ctypes.int
-+ RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_recvfrom"*>
- PROCEDURE recvfrom(
- s: Ctypes.int;
-- buf: Ctypes.char_star;
-- len, flags: Ctypes.int;
-+ buf: Ctypes.void_star;
-+ len: Utypes.size_t;
-+ flags: Ctypes.int;
- from: UNTRACED REF struct_sockaddr;
- fromlen: Ctypes.int_star)
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
--PROCEDURE send(s: Ctypes.int; msg: Ctypes.char_star; len, flags: Ctypes.int): Ctypes.int RAISES {};
-+(* FIXME - recvmsg *)
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_send"*>
-+PROCEDURE send(
-+ s: Ctypes.int;
-+ msg: Ctypes.const_void_star;
-+ len: Utypes.size_t;
-+ flags: Ctypes.int)
-+ : Ctypes.int
-+ RAISES {};
-+
-+<*EXTERNAL "m3_sendto"*>
- PROCEDURE sendto(
- s: Ctypes.int;
-- msg: Ctypes.char_star;
-- len, flags: Ctypes.int;
-+ msg: Ctypes.const_void_star;
-+ len: Utypes.size_t;
-+ flags: Ctypes.int;
- to: UNTRACED REF struct_sockaddr;
- tolen: Ctypes.int)
- : Ctypes.int
- RAISES {};
-
-+(* FIXME - sendmsg *)
-+
- <*EXTERNAL*>
- PROCEDURE setsockopt(
- s, level, optname: Ctypes.int;
-- optval: Ctypes.char_star;
-+ optval: Ctypes.const_void_star;
- optlen: Ctypes.int)
- : Ctypes.int
- RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_shutdown"*>
- PROCEDURE shutdown(s, how: Ctypes.int): Ctypes.int RAISES {};
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_socket" *>
- PROCEDURE socket(af, type, protocol: Ctypes.int): Ctypes.int RAISES {};
-
- <*EXTERNAL*>
diff --git a/lang/modula-3-lib/files/patch-aw b/lang/modula-3-lib/files/patch-aw
deleted file mode 100644
index 62813f35b3a4..000000000000
--- a/lang/modula-3-lib/files/patch-aw
+++ /dev/null
@@ -1,43 +0,0 @@
-Fix some things in the Uin interface for FreeBSD. Most important is the
-change to "struct_sockaddr_in".
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3core/src/unix/freebsd-2/Uin.i3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 Uin.i3
---- m3/m3core/src/unix/freebsd-2/Uin.i3.orig 1996/09/24 05:22:00 1.1.1.1
-+++ m3/m3core/src/unix/freebsd-2/Uin.i3 1996/09/24 05:32:41
-@@ -8,7 +8,7 @@
-
- INTERFACE Uin;
-
--FROM Ctypes IMPORT short, char;
-+FROM Ctypes IMPORT char;
- FROM Utypes IMPORT u_char, u_short, u_long;
- IMPORT Word;
-
-@@ -25,9 +25,12 @@
- IPPROTO_PUP = 12; (* pup *)
- IPPROTO_UDP = 17; (* user datagram protocol *)
- IPPROTO_IDP = 22; (* xns idp *)
-- IPPROTO_HELLO = 63; (* "hello" routing protocol *)
-- IPPROTO_ND = 77; (* UNOFFICIAL net disk proto *)
-+ IPPROTO_TP = 29; (* tp-4 w/ class negotiation *)
-+ IPPROTO_RSVP = 46; (* resource reservation *)
-+ IPPROTO_EON = 80; (* ISO cnlp *)
-+ IPPROTO_ENCAP = 98; (* encapsulation header *)
-
-+ IPPROTO_DIVERT = 254; (* divert pseudo-protocol *)
- IPPROTO_RAW = 255; (* raw IP packet *)
- IPPROTO_MAX = 256;
-
-@@ -128,7 +131,8 @@
- (* Socket address, internet style. *)
- TYPE
- struct_sockaddr_in = RECORD
-- sin_family: short;
-+ sin_len: u_char;
-+ sin_family: u_char;
- sin_port: u_short;
- sin_addr: struct_in_addr;
- sin_zero: ARRAY [0..7] OF char;
diff --git a/lang/modula-3-lib/files/patch-ax b/lang/modula-3-lib/files/patch-ax
deleted file mode 100644
index 9b6baee9c320..000000000000
--- a/lang/modula-3-lib/files/patch-ax
+++ /dev/null
@@ -1,65 +0,0 @@
-Correct some errno declarations for FreeBSD.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3core/src/unix/freebsd-2/Uerror.i3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 Uerror.i3
---- m3/m3core/src/unix/freebsd-2/Uerror.i3.orig 1996/09/24 05:22:00 1.1.1.1
-+++ m3/m3core/src/unix/freebsd-2/Uerror.i3 1996/09/24 05:32:41
-@@ -23,7 +23,7 @@
- ENOEXEC = 8; (* Exec format error *)
- EBADF = 9; (* Bad file number *)
- ECHILD = 10; (* No children *)
-- EAGAIN = 11; (* No more processes *)
-+ EDEADLK = 11; (* Resource deadlock avoided *)
- ENOMEM = 12; (* Not enough core *)
- EACCES = 13; (* Permission denied *)
- EFAULT = 14; (* Bad address *)
-@@ -51,7 +51,8 @@
- ERANGE = 34; (* Result too large *)
-
- (* non-blocking and interrupt i/o *)
-- EWOULDBLOCK = 35; (* Operation would block *)
-+ EAGAIN = 35; (* Resource temporarily unavailable *)
-+ EWOULDBLOCK = EAGAIN; (* Operation would block *)
- EINPROGRESS = 36; (* Operation now in progress *)
- EALREADY = 37; (* Operation already in progress *)
-
-@@ -108,29 +109,22 @@
- EPROCUNAVAIL = 76; (* Bad procedure for program *)
-
- (* POSIX errnos *)
-- ENOLCK = 77; (* LOCK_MAX exceeded *)
--
-- (* IPC errors *)
--
-- (* I don't know about the following codes. ow 02.10.1994 *)
-- ENOMSG = 78; (* No message of desired type *)
-- EIDRM = 79; (* Identifier removed *)
--
-- (* Alignment error of some type (i.e., cluster, page, block ...) *)
-- EALIGN = 80; (* alignment error *)
--
-- (* System V mappings from BRL package *)
-- EDEADLK = EWOULDBLOCK; (* resource deadlock would occur *)
-+ ENOLCK = 77; (* No locks available *)
-+ ENOSYS = 78; (* Function not implemented *)
-
-+ EFTYPE = 79; (* Inappropriate file type or format *)
-+ EAUTH = 80; (* Authentication error *)
-+ ENEEDAUTH = 81; (* Need authenticator *)
-+ ELAST = 81; (* Must be equal to the largest errno *)
-
- <*EXTERNAL*>
- VAR
- errno: int;
-
-
--(* Extention by mjordan *)
-+(* Extension by mjordan *)
- CONST
-- Max = ENOLCK; (* should be exported from Uerror *)
-+ Max = ELAST; (* should be exported from Uerror *)
-
- <*EXTERNAL*> VAR
- sys_nerr: int;
diff --git a/lang/modula-3-lib/files/patch-ay b/lang/modula-3-lib/files/patch-ay
deleted file mode 100644
index df23eba2120a..000000000000
--- a/lang/modula-3-lib/files/patch-ay
+++ /dev/null
@@ -1,16 +0,0 @@
-Bugfix from SRC for uninitialized "FS.DirectoryFileType" variable.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/libm3/src/os/Common/m3makefile,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 m3makefile
---- m3/libm3/src/os/Common/m3makefile.orig 1996/09/24 05:21:55 1.1.1.1
-+++ m3/libm3/src/os/Common/m3makefile 1996/09/24 05:32:42
-@@ -19,6 +19,7 @@
- Interface(Terminal)
-
- /* The following only initialize the File.Type variables: */
-+implementation(FS)
- implementation(Terminal)
- implementation(RegularFile)
- implementation(Pipe)
diff --git a/lang/modula-3-lib/files/patch-bf b/lang/modula-3-lib/files/patch-bf
deleted file mode 100644
index 1697618cf971..000000000000
--- a/lang/modula-3-lib/files/patch-bf
+++ /dev/null
@@ -1,31 +0,0 @@
-Fix incorrect layout for the Udir.dirent structure.
-
-===================================================================
-RCS file: /home/jdp/m3-cvs/m3/m3core/src/unix/freebsd-2/Udir.i3,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 Udir.i3
---- m3/m3core/src/unix/freebsd-2/Udir.i3.orig 1996/09/24 05:22:00 1.1.1.1
-+++ m3/m3core/src/unix/freebsd-2/Udir.i3 1996/09/24 05:32:44
-@@ -40,10 +40,10 @@
- *)
- TYPE
- dirent = RECORD (* describes directory entry *)
-- d_fileno: Ctypes.long; (* inode number of entry *)
-- d_reclen: Ctypes.unsigned_char; (* record length in bytes *)
-+ d_fileno: Ctypes.unsigned_long; (* inode number of entry *)
-+ d_reclen: Ctypes.unsigned_short; (* record length in bytes *)
- d_type: Ctypes.unsigned_char; (* file types, see above *)
-- d_namelen: Ctypes.unsigned_short; (* name length in bytes *)
-+ d_namelen: Ctypes.unsigned_char; (* name length in bytes *)
- d_name: ARRAY [0..MAXNAMLEN] OF Ctypes.char; (* name *)
- END;
-
-@@ -53,7 +53,7 @@
- dd_fd: Ctypes.int; (* file descriptor associated with directory *)
- dd_loc: Ctypes.long; (* offset in current buffer *)
- dd_size: Ctypes.long; (* amount of data returned by getdirentries *)
-- dd_buf: UNTRACED REF Ctypes.char; (* data buffer *)
-+ dd_buf: Ctypes.char_star; (* data buffer *)
- dd_len: Ctypes.int; (* size of data buffer *)
- dd_seek: Ctypes.long (* magic cookie returned by getdirentries *);
- dd_rewind: Ctypes.long; (* magic cookie for rewinding *)
diff --git a/lang/modula-3-lib/files/patch-bg b/lang/modula-3-lib/files/patch-bg
deleted file mode 100644
index 9f682974b70b..000000000000
--- a/lang/modula-3-lib/files/patch-bg
+++ /dev/null
@@ -1,1199 +0,0 @@
-This inserts a thread-safe version of malloc into the "m3core"
-package. It solves some very obscure problems that were caused by
-back-door entries into malloc from <*EXTERNAL*> procedures, without
-locking the heap. These allowed multiple threads to enter the
-malloc package at once, and led to scribbling in memory and subsequent
-core dumps.
-
-This also adds separate wrapper files for network related functions to the
-m3makefile, for SOCKS support.
-
---- m3/m3core/src/runtime/FreeBSD2/m3makefile.orig Tue Sep 17 16:48:03 1996
-+++ m3/m3core/src/runtime/FreeBSD2/m3makefile Thu Oct 24 16:11:02 1996
-@@ -13,6 +13,30 @@
- c_source ("RTThreadC")
- c_source ("RTHeapDepC")
- s_source ("_fpsetjmp")
-+c_source ("malloc")
-+
-+% These wrappers were extracted from RTHeapDepC.c and modified slightly,
-+% in order to make it possible to support SOCKS.
-+c_source ("accept")
-+c_source ("bind")
-+c_source ("close")
-+c_source ("connect")
-+c_source ("dup")
-+c_source ("dup2")
-+c_source ("gethostbyaddr")
-+c_source ("gethostbyname")
-+c_source ("getpeername")
-+c_source ("getsockname")
-+c_source ("listen")
-+c_source ("read")
-+c_source ("recv")
-+c_source ("recvfrom")
-+c_source ("select")
-+c_source ("send")
-+c_source ("sendto")
-+c_source ("shutdown")
-+c_source ("socket")
-+c_source ("write")
-
- %% s_source (RTStackASM)
-
---- m3/m3core/src/runtime/FreeBSD2/malloc.c.orig Mon Jul 28 14:36:20 1997
-+++ m3/m3core/src/runtime/FreeBSD2/malloc.c Thu Sep 4 22:15:00 1997
-@@ -0,0 +1,1153 @@
-+/*
-+ * ----------------------------------------------------------------------------
-+ * "THE BEER-WARE LICENSE" (Revision 42):
-+ * <phk@FreeBSD.ORG> wrote this file. As long as you retain this notice you
-+ * can do whatever you want with this stuff. If we meet some day, and you think
-+ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
-+ * ----------------------------------------------------------------------------
-+ *
-+ * From FreeBSD: malloc.c,v 1.32 1997/08/31 05:59:39 phk Exp
-+ * Modified for Modula-3 thread safety by jdp@polstra.com (John Polstra).
-+ *
-+ */
-+
-+#define _THREAD_SAFE 1 /* Turn on thread safety for Modula-3 */
-+
-+/*
-+ * Defining EXTRA_SANITY will enable extra checks which are related
-+ * to internal conditions and consistency in malloc.c. This has a
-+ * noticeable runtime performance hit, and generally will not do you
-+ * any good unless you fiddle with the internals of malloc or want
-+ * to catch random pointer corruption as early as possible.
-+ */
-+#ifndef MALLOC_EXTRA_SANITY
-+#undef MALLOC_EXTRA_SANITY
-+#endif
-+
-+/*
-+ * What to use for Junk. This is the byte value we use to fill with
-+ * when the 'J' option is enabled.
-+ */
-+#define SOME_JUNK 0xd0 /* as in "Duh" :-) */
-+
-+/*
-+ * The basic parameters you can tweak.
-+ *
-+ * malloc_pageshift pagesize = 1 << malloc_pageshift
-+ * It's probably best if this is the native
-+ * page size, but it doesn't have to be.
-+ *
-+ * malloc_minsize minimum size of an allocation in bytes.
-+ * If this is too small it's too much work
-+ * to manage them. This is also the smallest
-+ * unit of alignment used for the storage
-+ * returned by malloc/realloc.
-+ *
-+ */
-+
-+#if defined(__FreeBSD__)
-+# if defined(__i386__)
-+# define malloc_pageshift 12U
-+# define malloc_minsize 16U
-+# endif
-+#endif /* __FreeBSD__ */
-+
-+#if defined(__sparc__) && defined(sun)
-+# define malloc_pageshift 12U
-+# define malloc_minsize 16U
-+# define MAP_ANON (0)
-+ static int fdzero;
-+# define MMAP_FD fdzero
-+# define INIT_MMAP() \
-+ { if ((fdzero=open("/dev/zero", O_RDWR, 0000)) == -1) \
-+ wrterror("open of /dev/zero"); }
-+# define MADV_FREE MADV_DONTNEED
-+#endif /* __sparc__ */
-+
-+#if defined(__linux__)
-+# if defined(__i386__)
-+# define malloc_pageshift 12U
-+# define malloc_minsize 16U
-+# endif
-+#endif /* __linux__ */
-+
-+#if defined(__alpha)
-+# define malloc_pageshift 13U
-+# define malloc_minsize 16U
-+#endif /* __alpha */
-+
-+/* Insert your combination here... */
-+#if defined(__FOOCPU__) && defined(__BAROS__)
-+# define malloc_pageshift 12U
-+# define malloc_minsize 16U
-+#endif /* __FOOCPU__ && __BAROS__ */
-+
-+
-+/*
-+ * No user serviceable parts behind this point.
-+ */
-+#include <sys/types.h>
-+#include <sys/mman.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <stddef.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+/*
-+ * This structure describes a page worth of chunks.
-+ */
-+
-+struct pginfo {
-+ struct pginfo *next; /* next on the free list */
-+ void *page; /* Pointer to the page */
-+ u_short size; /* size of this page's chunks */
-+ u_short shift; /* How far to shift for this size chunks */
-+ u_short free; /* How many free chunks */
-+ u_short total; /* How many chunk */
-+ u_int bits[1]; /* Which chunks are free */
-+};
-+
-+/*
-+ * This structure describes a number of free pages.
-+ */
-+
-+struct pgfree {
-+ struct pgfree *next; /* next run of free pages */
-+ struct pgfree *prev; /* prev run of free pages */
-+ void *page; /* pointer to free pages */
-+ void *end; /* pointer to end of free pages */
-+ size_t size; /* number of bytes free */
-+};
-+
-+/*
-+ * How many bits per u_int in the bitmap.
-+ * Change only if not 8 bits/byte
-+ */
-+#define MALLOC_BITS (8*sizeof(u_int))
-+
-+/*
-+ * Magic values to put in the page_directory
-+ */
-+#define MALLOC_NOT_MINE ((struct pginfo*) 0)
-+#define MALLOC_FREE ((struct pginfo*) 1)
-+#define MALLOC_FIRST ((struct pginfo*) 2)
-+#define MALLOC_FOLLOW ((struct pginfo*) 3)
-+#define MALLOC_MAGIC ((struct pginfo*) 4)
-+
-+#ifndef malloc_pageshift
-+#define malloc_pageshift 12U
-+#endif
-+
-+#ifndef malloc_minsize
-+#define malloc_minsize 16U
-+#endif
-+
-+#if !defined(malloc_pagesize)
-+#define malloc_pagesize (1UL<<malloc_pageshift)
-+#endif
-+
-+#if ((1<<malloc_pageshift) != malloc_pagesize)
-+#error "(1<<malloc_pageshift) != malloc_pagesize"
-+#endif
-+
-+#ifndef malloc_maxsize
-+#define malloc_maxsize ((malloc_pagesize)>>1)
-+#endif
-+
-+/* A mask for the offset inside a page. */
-+#define malloc_pagemask ((malloc_pagesize)-1)
-+
-+#define pageround(foo) (((foo) + (malloc_pagemask))&(~(malloc_pagemask)))
-+#define ptr2index(foo) (((u_long)(foo) >> malloc_pageshift)-malloc_origo)
-+
-+#ifdef _THREAD_SAFE
-+extern int RT0u__inCritical; /* Flag set when in a critical region */
-+#define THREAD_LOCK() (++RT0u__inCritical)
-+#define THREAD_UNLOCK() (--RT0u__inCritical)
-+#endif
-+
-+#ifndef THREAD_LOCK
-+#define THREAD_LOCK()
-+#endif
-+
-+#ifndef THREAD_UNLOCK
-+#define THREAD_UNLOCK()
-+#endif
-+
-+#ifndef MMAP_FD
-+#define MMAP_FD (-1)
-+#endif
-+
-+#ifndef INIT_MMAP
-+#define INIT_MMAP()
-+#endif
-+
-+/* This is needed at least by HP-UX 10.20 */
-+#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS)
-+#define MAP_ANON MAP_ANONYMOUS
-+#endif
-+
-+/* Set when initialization has been done */
-+static unsigned malloc_started;
-+
-+/* Recusion flag for public interface. */
-+static int malloc_active;
-+
-+/* Number of free pages we cache */
-+static unsigned malloc_cache = 16;
-+
-+/* The offset from pagenumber to index into the page directory */
-+static u_long malloc_origo;
-+
-+/* The last index in the page directory we care about */
-+static u_long last_index;
-+
-+/* Pointer to page directory. Allocated "as if with" malloc */
-+static struct pginfo **page_dir;
-+
-+/* How many slots in the page directory */
-+static unsigned malloc_ninfo;
-+
-+/* Free pages line up here */
-+static struct pgfree free_list;
-+
-+/* Abort(), user doesn't handle problems. */
-+static int malloc_abort;
-+
-+/* Are we trying to die ? */
-+static int suicide;
-+
-+/* always realloc ? */
-+static int malloc_realloc;
-+
-+/* pass the kernel a hint on free pages ? */
-+static int malloc_hint = 1;
-+
-+/* xmalloc behaviour ? */
-+static int malloc_xmalloc;
-+
-+/* sysv behaviour for malloc(0) ? */
-+static int malloc_sysv;
-+
-+/* zero fill ? */
-+static int malloc_zero;
-+
-+/* junk fill ? */
-+static int malloc_junk;
-+
-+#ifdef HAS_UTRACE
-+
-+/* utrace ? */
-+static int malloc_utrace;
-+
-+struct ut { void *p; size_t s; void *r; };
-+
-+void utrace __P((struct ut *, int));
-+
-+#define UTRACE(a, b, c) \
-+ if (malloc_utrace) \
-+ {struct ut u; u.p=a; u.s = b; u.r=c; utrace(&u, sizeof u);}
-+#else /* !HAS_UTRACE */
-+#define UTRACE(a,b,c)
-+#endif /* HAS_UTRACE */
-+
-+/* my last break. */
-+static void *malloc_brk;
-+
-+/* one location cache for free-list holders */
-+static struct pgfree *px;
-+
-+/* compile-time options */
-+char *malloc_options;
-+
-+/* Name of the current public function */
-+static char *malloc_func;
-+
-+/* Macro for mmap */
-+#define MMAP(size) \
-+ mmap((caddr_t)0, (size), PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, \
-+ MMAP_FD, 0);
-+
-+/*
-+ * Necessary function declarations
-+ */
-+static int extend_pgdir(u_long index);
-+static void *imalloc(size_t size);
-+static void ifree(void *ptr);
-+static void *irealloc(void *ptr, size_t size);
-+
-+static void
-+wrterror(char *p)
-+{
-+ char *q = " error: ";
-+ write(STDERR_FILENO, malloc_func, strlen(malloc_func));
-+ write(STDERR_FILENO, q, strlen(q));
-+ write(STDERR_FILENO, p, strlen(p));
-+ suicide = 1;
-+ abort();
-+}
-+
-+static void
-+wrtwarning(char *p)
-+{
-+ char *q = " warning: ";
-+ if (malloc_abort)
-+ wrterror(p);
-+ write(STDERR_FILENO, malloc_func, strlen(malloc_func));
-+ write(STDERR_FILENO, q, strlen(q));
-+ write(STDERR_FILENO, p, strlen(p));
-+}
-+
-+
-+/*
-+ * Allocate a number of pages from the OS
-+ */
-+static caddr_t
-+map_pages(int pages)
-+{
-+ caddr_t result, tail;
-+
-+ result = (caddr_t)pageround((u_long)sbrk(0));
-+ tail = result + (pages << malloc_pageshift);
-+
-+ if (brk(tail)) {
-+#ifdef EXTRA_SANITY
-+ wrterror("(ES): map_pages fails\n");
-+#endif /* EXTRA_SANITY */
-+ return 0;
-+ }
-+
-+ last_index = ptr2index(tail) - 1;
-+ malloc_brk = tail;
-+
-+ if ((last_index+1) >= malloc_ninfo && !extend_pgdir(last_index))
-+ return 0;;
-+
-+ return result;
-+}
-+
-+/*
-+ * Extend page directory
-+ */
-+static int
-+extend_pgdir(u_long index)
-+{
-+ struct pginfo **new, **old;
-+ int i, oldlen;
-+
-+ /* Make it this many pages */
-+ i = index * sizeof *page_dir;
-+ i /= malloc_pagesize;
-+ i += 2;
-+
-+ /* remember the old mapping size */
-+ oldlen = malloc_ninfo * sizeof *page_dir;
-+
-+ /*
-+ * NOTE: we allocate new pages and copy the directory rather than tempt
-+ * fate by trying to "grow" the region.. There is nothing to prevent
-+ * us from accidently re-mapping space that's been allocated by our caller
-+ * via dlopen() or other mmap().
-+ *
-+ * The copy problem is not too bad, as there is 4K of page index per
-+ * 4MB of malloc arena.
-+ *
-+ * We can totally avoid the copy if we open a file descriptor to associate
-+ * the anon mappings with. Then, when we remap the pages at the new
-+ * address, the old pages will be "magically" remapped.. But this means
-+ * keeping open a "secret" file descriptor.....
-+ */
-+
-+ /* Get new pages */
-+ new = (struct pginfo**) MMAP(i * malloc_pagesize);
-+ if (new == (struct pginfo **)-1)
-+ return 0;
-+
-+ /* Copy the old stuff */
-+ memcpy(new, page_dir,
-+ malloc_ninfo * sizeof *page_dir);
-+
-+ /* register the new size */
-+ malloc_ninfo = i * malloc_pagesize / sizeof *page_dir;
-+
-+ /* swap the pointers */
-+ old = page_dir;
-+ page_dir = new;
-+
-+ /* Now free the old stuff */
-+ munmap((caddr_t)old, oldlen);
-+ return 1;
-+}
-+
-+/*
-+ * Initialize the world
-+ */
-+static void
-+malloc_init ()
-+{
-+ char *p, b[64];
-+ int i, j;
-+
-+ INIT_MMAP();
-+
-+#ifdef EXTRA_SANITY
-+ malloc_junk = 1;
-+#endif /* EXTRA_SANITY */
-+
-+ for (i = 0; i < 3; i++) {
-+ if (i == 0) {
-+ j = readlink("/etc/malloc.conf", b, sizeof b - 1);
-+ if (j <= 0)
-+ continue;
-+ b[j] = '\0';
-+ p = b;
-+ } else if (i == 1) {
-+ p = getenv("MALLOC_OPTIONS");
-+ } else {
-+ p = malloc_options;
-+ }
-+ for (; p && *p; p++) {
-+ switch (*p) {
-+ case '>': malloc_cache <<= 1; break;
-+ case '<': malloc_cache >>= 1; break;
-+ case 'a': malloc_abort = 0; break;
-+ case 'A': malloc_abort = 1; break;
-+ case 'h': malloc_hint = 0; break;
-+ case 'H': malloc_hint = 1; break;
-+ case 'r': malloc_realloc = 0; break;
-+ case 'R': malloc_realloc = 1; break;
-+ case 'j': malloc_junk = 0; break;
-+ case 'J': malloc_junk = 1; break;
-+#ifdef HAS_UTRACE
-+ case 'u': malloc_utrace = 0; break;
-+ case 'U': malloc_utrace = 1; break;
-+#endif
-+ case 'v': malloc_sysv = 0; break;
-+ case 'V': malloc_sysv = 1; break;
-+ case 'x': malloc_xmalloc = 0; break;
-+ case 'X': malloc_xmalloc = 1; break;
-+ case 'z': malloc_zero = 0; break;
-+ case 'Z': malloc_zero = 1; break;
-+ default:
-+ j = malloc_abort;
-+ malloc_abort = 0;
-+ wrtwarning("unknown char in MALLOC_OPTIONS\n");
-+ malloc_abort = j;
-+ break;
-+ }
-+ }
-+ }
-+
-+ UTRACE(0, 0, 0);
-+
-+ /*
-+ * We want junk in the entire allocation, and zero only in the part
-+ * the user asked for.
-+ */
-+ if (malloc_zero)
-+ malloc_junk=1;
-+
-+ /*
-+ * If we run with junk (or implicitly from above: zero), we want to
-+ * force realloc() to get new storage, so we can DTRT with it.
-+ */
-+ if (malloc_junk)
-+ malloc_realloc=1;
-+
-+ /* Allocate one page for the page directory */
-+ page_dir = (struct pginfo **) MMAP(malloc_pagesize);
-+
-+ if (page_dir == (struct pginfo **) -1)
-+ wrterror("mmap(2) failed, check limits.\n");
-+
-+ /*
-+ * We need a maximum of malloc_pageshift buckets, steal these from the
-+ * front of the page_directory;
-+ */
-+ malloc_origo = ((u_long)pageround((u_long)sbrk(0))) >> malloc_pageshift;
-+ malloc_origo -= malloc_pageshift;
-+
-+ malloc_ninfo = malloc_pagesize / sizeof *page_dir;
-+
-+ /* Recalculate the cache size in bytes, and make sure it's nonzero */
-+
-+ if (!malloc_cache)
-+ malloc_cache++;
-+
-+ malloc_cache <<= malloc_pageshift;
-+
-+ /*
-+ * This is a nice hack from Kaleb Keithly (kaleb@x.org).
-+ * We can sbrk(2) further back when we keep this on a low address.
-+ */
-+ px = (struct pgfree *) imalloc (sizeof *px);
-+
-+ /* Been here, done that */
-+ malloc_started++;
-+}
-+
-+/*
-+ * Allocate a number of complete pages
-+ */
-+static void *
-+malloc_pages(size_t size)
-+{
-+ void *p, *delay_free = 0;
-+ int i;
-+ struct pgfree *pf;
-+ u_long index;
-+
-+ size = pageround(size);
-+
-+ p = 0;
-+
-+ /* Look for free pages before asking for more */
-+ for(pf = free_list.next; pf; pf = pf->next) {
-+
-+#ifdef EXTRA_SANITY
-+ if (pf->size & malloc_pagemask)
-+ wrterror("(ES): junk length entry on free_list\n");
-+ if (!pf->size)
-+ wrterror("(ES): zero length entry on free_list\n");
-+ if (pf->page == pf->end)
-+ wrterror("(ES): zero entry on free_list\n");
-+ if (pf->page > pf->end)
-+ wrterror("(ES): sick entry on free_list\n");
-+ if ((void*)pf->page >= (void*)sbrk(0))
-+ wrterror("(ES): entry on free_list past brk\n");
-+ if (page_dir[ptr2index(pf->page)] != MALLOC_FREE)
-+ wrterror("(ES): non-free first page on free-list\n");
-+ if (page_dir[ptr2index(pf->end)-1] != MALLOC_FREE)
-+ wrterror("(ES): non-free last page on free-list\n");
-+#endif /* EXTRA_SANITY */
-+
-+ if (pf->size < size)
-+ continue;
-+
-+ if (pf->size == size) {
-+ p = pf->page;
-+ if (pf->next)
-+ pf->next->prev = pf->prev;
-+ pf->prev->next = pf->next;
-+ delay_free = pf;
-+ break;
-+ }
-+
-+ p = pf->page;
-+ pf->page = (char *)pf->page + size;
-+ pf->size -= size;
-+ break;
-+ }
-+
-+#ifdef EXTRA_SANITY
-+ if (p && page_dir[ptr2index(p)] != MALLOC_FREE)
-+ wrterror("(ES): allocated non-free page on free-list\n");
-+#endif /* EXTRA_SANITY */
-+
-+ size >>= malloc_pageshift;
-+
-+ /* Map new pages */
-+ if (!p)
-+ p = map_pages(size);
-+
-+ if (p) {
-+
-+ index = ptr2index(p);
-+ page_dir[index] = MALLOC_FIRST;
-+ for (i=1;i<size;i++)
-+ page_dir[index+i] = MALLOC_FOLLOW;
-+
-+ if (malloc_junk)
-+ memset(p, SOME_JUNK, size << malloc_pageshift);
-+ }
-+
-+ if (delay_free) {
-+ if (!px)
-+ px = delay_free;
-+ else
-+ ifree(delay_free);
-+ }
-+
-+ return p;
-+}
-+
-+/*
-+ * Allocate a page of fragments
-+ */
-+
-+static __inline__ int
-+malloc_make_chunks(int bits)
-+{
-+ struct pginfo *bp;
-+ void *pp;
-+ int i, k, l;
-+
-+ /* Allocate a new bucket */
-+ pp = malloc_pages(malloc_pagesize);
-+ if (!pp)
-+ return 0;
-+
-+ /* Find length of admin structure */
-+ l = offsetof(struct pginfo, bits[0]);
-+ l += sizeof bp->bits[0] *
-+ (((malloc_pagesize >> bits)+MALLOC_BITS-1) / MALLOC_BITS);
-+
-+ /* Don't waste more than two chunks on this */
-+ if ((1<<(bits)) <= l+l) {
-+ bp = (struct pginfo *)pp;
-+ } else {
-+ bp = (struct pginfo *)imalloc(l);
-+ if (!bp) {
-+ ifree(pp);
-+ return 0;
-+ }
-+ }
-+
-+ bp->size = (1<<bits);
-+ bp->shift = bits;
-+ bp->total = bp->free = malloc_pagesize >> bits;
-+ bp->page = pp;
-+
-+ /* set all valid bits in the bitmap */
-+ k = bp->total;
-+ i = 0;
-+
-+ /* Do a bunch at a time */
-+ for(;k-i >= MALLOC_BITS; i += MALLOC_BITS)
-+ bp->bits[i / MALLOC_BITS] = ~0;
-+
-+ for(; i < k; i++)
-+ bp->bits[i/MALLOC_BITS] |= 1<<(i%MALLOC_BITS);
-+
-+ if (bp == bp->page) {
-+ /* Mark the ones we stole for ourselves */
-+ for(i=0;l > 0;i++) {
-+ bp->bits[i/MALLOC_BITS] &= ~(1<<(i%MALLOC_BITS));
-+ bp->free--;
-+ bp->total--;
-+ l -= (1 << bits);
-+ }
-+ }
-+
-+ /* MALLOC_LOCK */
-+
-+ page_dir[ptr2index(pp)] = bp;
-+
-+ bp->next = page_dir[bits];
-+ page_dir[bits] = bp;
-+
-+ /* MALLOC_UNLOCK */
-+
-+ return 1;
-+}
-+
-+/*
-+ * Allocate a fragment
-+ */
-+static void *
-+malloc_bytes(size_t size)
-+{
-+ int i,j;
-+ u_int u;
-+ struct pginfo *bp;
-+ int k;
-+ u_int *lp;
-+
-+ /* Don't bother with anything less than this */
-+ if (size < malloc_minsize)
-+ size = malloc_minsize;
-+
-+ /* Find the right bucket */
-+ j = 1;
-+ i = size-1;
-+ while (i >>= 1)
-+ j++;
-+
-+ /* If it's empty, make a page more of that size chunks */
-+ if (!page_dir[j] && !malloc_make_chunks(j))
-+ return 0;
-+
-+ bp = page_dir[j];
-+
-+ /* Find first word of bitmap which isn't empty */
-+ for (lp = bp->bits; !*lp; lp++)
-+ ;
-+
-+ /* Find that bit, and tweak it */
-+ u = 1;
-+ k = 0;
-+ while (!(*lp & u)) {
-+ u += u;
-+ k++;
-+ }
-+ *lp ^= u;
-+
-+ /* If there are no more free, remove from free-list */
-+ if (!--bp->free) {
-+ page_dir[j] = bp->next;
-+ bp->next = 0;
-+ }
-+
-+ /* Adjust to the real offset of that chunk */
-+ k += (lp-bp->bits)*MALLOC_BITS;
-+ k <<= bp->shift;
-+
-+ if (malloc_junk)
-+ memset((u_char*)bp->page + k, SOME_JUNK, bp->size);
-+
-+ return (u_char *)bp->page + k;
-+}
-+
-+/*
-+ * Allocate a piece of memory
-+ */
-+static void *
-+imalloc(size_t size)
-+{
-+ void *result;
-+
-+ if (suicide)
-+ abort();
-+
-+ if ((size + malloc_pagesize) < size) /* Check for overflow */
-+ result = 0;
-+ else if (size <= malloc_maxsize)
-+ result = malloc_bytes(size);
-+ else
-+ result = malloc_pages(size);
-+
-+ if (malloc_abort && !result)
-+ wrterror("allocation failed.\n");
-+
-+ if (malloc_zero && result)
-+ memset(result, 0, size);
-+
-+ return result;
-+}
-+
-+/*
-+ * Change the size of an allocation.
-+ */
-+static void *
-+irealloc(void *ptr, size_t size)
-+{
-+ void *p;
-+ u_long osize, index;
-+ struct pginfo **mp;
-+ int i;
-+
-+ if (suicide)
-+ abort();
-+
-+ index = ptr2index(ptr);
-+
-+ if (index < malloc_pageshift) {
-+ wrtwarning("junk pointer, too low to make sense.\n");
-+ return 0;
-+ }
-+
-+ if (index > last_index) {
-+ wrtwarning("junk pointer, too high to make sense.\n");
-+ return 0;
-+ }
-+
-+ mp = &page_dir[index];
-+
-+ if (*mp == MALLOC_FIRST) { /* Page allocation */
-+
-+ /* Check the pointer */
-+ if ((u_long)ptr & malloc_pagemask) {
-+ wrtwarning("modified (page-) pointer.\n");
-+ return 0;
-+ }
-+
-+ /* Find the size in bytes */
-+ for (osize = malloc_pagesize; *++mp == MALLOC_FOLLOW;)
-+ osize += malloc_pagesize;
-+
-+ if (!malloc_realloc && /* unless we have to, */
-+ size <= osize && /* .. or are too small, */
-+ size > (osize - malloc_pagesize)) { /* .. or can free a page, */
-+ return ptr; /* don't do anything. */
-+ }
-+
-+ } else if (*mp >= MALLOC_MAGIC) { /* Chunk allocation */
-+
-+ /* Check the pointer for sane values */
-+ if (((u_long)ptr & ((*mp)->size-1))) {
-+ wrtwarning("modified (chunk-) pointer.\n");
-+ return 0;
-+ }
-+
-+ /* Find the chunk index in the page */
-+ i = ((u_long)ptr & malloc_pagemask) >> (*mp)->shift;
-+
-+ /* Verify that it isn't a free chunk already */
-+ if ((*mp)->bits[i/MALLOC_BITS] & (1<<(i%MALLOC_BITS))) {
-+ wrtwarning("chunk is already free.\n");
-+ return 0;
-+ }
-+
-+ osize = (*mp)->size;
-+
-+ if (!malloc_realloc && /* Unless we have to, */
-+ size < osize && /* ..or are too small, */
-+ (size > osize/2 || /* ..or could use a smaller size, */
-+ osize == malloc_minsize)) { /* ..(if there is one) */
-+ return ptr; /* ..Don't do anything */
-+ }
-+
-+ } else {
-+ wrtwarning("pointer to wrong page.\n");
-+ return 0;
-+ }
-+
-+ p = imalloc(size);
-+
-+ if (p) {
-+ /* copy the lesser of the two sizes, and free the old one */
-+ if (!size || !osize)
-+ ;
-+ else if (osize < size)
-+ memcpy(p, ptr, osize);
-+ else
-+ memcpy(p, ptr, size);
-+ ifree(ptr);
-+ }
-+ return p;
-+}
-+
-+/*
-+ * Free a sequence of pages
-+ */
-+
-+static __inline__ void
-+free_pages(void *ptr, int index, struct pginfo *info)
-+{
-+ int i;
-+ struct pgfree *pf, *pt=0;
-+ u_long l;
-+ void *tail;
-+
-+ if (info == MALLOC_FREE) {
-+ wrtwarning("page is already free.\n");
-+ return;
-+ }
-+
-+ if (info != MALLOC_FIRST) {
-+ wrtwarning("pointer to wrong page.\n");
-+ return;
-+ }
-+
-+ if ((u_long)ptr & malloc_pagemask) {
-+ wrtwarning("modified (page-) pointer.\n");
-+ return;
-+ }
-+
-+ /* Count how many pages and mark them free at the same time */
-+ page_dir[index] = MALLOC_FREE;
-+ for (i = 1; page_dir[index+i] == MALLOC_FOLLOW; i++)
-+ page_dir[index + i] = MALLOC_FREE;
-+
-+ l = i << malloc_pageshift;
-+
-+ if (malloc_junk)
-+ memset(ptr, SOME_JUNK, l);
-+
-+#ifdef MADV_FREE
-+ if (malloc_hint)
-+ madvise(ptr, l, MADV_FREE);
-+#endif
-+
-+ tail = (char *)ptr+l;
-+
-+ /* add to free-list */
-+ if (!px)
-+ px = imalloc(sizeof *pt); /* This cannot fail... */
-+ px->page = ptr;
-+ px->end = tail;
-+ px->size = l;
-+ if (!free_list.next) {
-+
-+ /* Nothing on free list, put this at head */
-+ px->next = free_list.next;
-+ px->prev = &free_list;
-+ free_list.next = px;
-+ pf = px;
-+ px = 0;
-+
-+ } else {
-+
-+ /* Find the right spot, leave pf pointing to the modified entry. */
-+ tail = (char *)ptr+l;
-+
-+ for(pf = free_list.next; pf->end < ptr && pf->next; pf = pf->next)
-+ ; /* Race ahead here */
-+
-+ if (pf->page > tail) {
-+ /* Insert before entry */
-+ px->next = pf;
-+ px->prev = pf->prev;
-+ pf->prev = px;
-+ px->prev->next = px;
-+ pf = px;
-+ px = 0;
-+ } else if (pf->end == ptr ) {
-+ /* Append to the previous entry */
-+ pf->end = (char *)pf->end + l;
-+ pf->size += l;
-+ if (pf->next && pf->end == pf->next->page ) {
-+ /* And collapse the next too. */
-+ pt = pf->next;
-+ pf->end = pt->end;
-+ pf->size += pt->size;
-+ pf->next = pt->next;
-+ if (pf->next)
-+ pf->next->prev = pf;
-+ }
-+ } else if (pf->page == tail) {
-+ /* Prepend to entry */
-+ pf->size += l;
-+ pf->page = ptr;
-+ } else if (!pf->next) {
-+ /* Append at tail of chain */
-+ px->next = 0;
-+ px->prev = pf;
-+ pf->next = px;
-+ pf = px;
-+ px = 0;
-+ } else {
-+ wrterror("freelist is destroyed.\n");
-+ }
-+ }
-+
-+ /* Return something to OS ? */
-+ if (!pf->next && /* If we're the last one, */
-+ pf->size > malloc_cache && /* ..and the cache is full, */
-+ pf->end == malloc_brk && /* ..and none behind us, */
-+ malloc_brk == sbrk(0)) { /* ..and it's OK to do... */
-+
-+ /*
-+ * Keep the cache intact. Notice that the '>' above guarantees that
-+ * the pf will always have at least one page afterwards.
-+ */
-+ pf->end = (char *)pf->page + malloc_cache;
-+ pf->size = malloc_cache;
-+
-+ brk(pf->end);
-+ malloc_brk = pf->end;
-+
-+ index = ptr2index(pf->end);
-+ last_index = index - 1;
-+
-+ for(i=index;i <= last_index;)
-+ page_dir[i++] = MALLOC_NOT_MINE;
-+
-+ /* XXX: We could realloc/shrink the pagedir here I guess. */
-+ }
-+ if (pt)
-+ ifree(pt);
-+}
-+
-+/*
-+ * Free a chunk, and possibly the page it's on, if the page becomes empty.
-+ */
-+
-+static __inline__ void
-+free_bytes(void *ptr, int index, struct pginfo *info)
-+{
-+ int i;
-+ struct pginfo **mp;
-+ void *vp;
-+
-+ /* Find the chunk number on the page */
-+ i = ((u_long)ptr & malloc_pagemask) >> info->shift;
-+
-+ if (((u_long)ptr & (info->size-1))) {
-+ wrtwarning("modified (chunk-) pointer.\n");
-+ return;
-+ }
-+
-+ if (info->bits[i/MALLOC_BITS] & (1<<(i%MALLOC_BITS))) {
-+ wrtwarning("chunk is already free.\n");
-+ return;
-+ }
-+
-+ if (malloc_junk)
-+ memset(ptr, SOME_JUNK, info->size);
-+
-+ info->bits[i/MALLOC_BITS] |= 1<<(i%MALLOC_BITS);
-+ info->free++;
-+
-+ mp = page_dir + info->shift;
-+
-+ if (info->free == 1) {
-+
-+ /* Page became non-full */
-+
-+ mp = page_dir + info->shift;
-+ /* Insert in address order */
-+ while (*mp && (*mp)->next && (*mp)->next->page < info->page)
-+ mp = &(*mp)->next;
-+ info->next = *mp;
-+ *mp = info;
-+ return;
-+ }
-+
-+ if (info->free != info->total)
-+ return;
-+
-+ /* Find & remove this page in the queue */
-+ while (*mp != info) {
-+ mp = &((*mp)->next);
-+#ifdef EXTRA_SANITY
-+ if (!*mp)
-+ wrterror("(ES): Not on queue\n");
-+#endif /* EXTRA_SANITY */
-+ }
-+ *mp = info->next;
-+
-+ /* Free the page & the info structure if need be */
-+ page_dir[ptr2index(info->page)] = MALLOC_FIRST;
-+ vp = info->page; /* Order is important ! */
-+ if(vp != (void*)info)
-+ ifree(info);
-+ ifree(vp);
-+}
-+
-+static void
-+ifree(void *ptr)
-+{
-+ struct pginfo *info;
-+ int index;
-+
-+ /* This is legal */
-+ if (!ptr)
-+ return;
-+
-+ if (!malloc_started) {
-+ wrtwarning("malloc() has never been called.\n");
-+ return;
-+ }
-+
-+ /* If we're already sinking, don't make matters any worse. */
-+ if (suicide)
-+ return;
-+
-+ index = ptr2index(ptr);
-+
-+ if (index < malloc_pageshift) {
-+ wrtwarning("junk pointer, too low to make sense.\n");
-+ return;
-+ }
-+
-+ if (index > last_index) {
-+ wrtwarning("junk pointer, too high to make sense.\n");
-+ return;
-+ }
-+
-+ info = page_dir[index];
-+
-+ if (info < MALLOC_MAGIC)
-+ free_pages(ptr, index, info);
-+ else
-+ free_bytes(ptr, index, info);
-+ return;
-+}
-+
-+/*
-+ * These are the public exported interface routines.
-+ */
-+
-+
-+void *
-+malloc(size_t size)
-+{
-+ register void *r;
-+
-+ malloc_func = " in malloc():";
-+ THREAD_LOCK();
-+ if (malloc_active++) {
-+ wrtwarning("recursive call.\n");
-+ malloc_active--;
-+ return (0);
-+ }
-+ if (!malloc_started)
-+ malloc_init();
-+ if (malloc_sysv && !size)
-+ r = 0;
-+ else
-+ r = imalloc(size);
-+ UTRACE(0, size, r);
-+ malloc_active--;
-+ THREAD_UNLOCK();
-+ if (malloc_xmalloc && !r)
-+ wrterror("out of memory.\n");
-+ return (r);
-+}
-+
-+void
-+free(void *ptr)
-+{
-+ malloc_func = " in free():";
-+ THREAD_LOCK();
-+ if (malloc_active++) {
-+ wrtwarning("recursive call.\n");
-+ malloc_active--;
-+ return;
-+ }
-+ ifree(ptr);
-+ UTRACE(ptr, 0, 0);
-+ malloc_active--;
-+ THREAD_UNLOCK();
-+ return;
-+}
-+
-+void *
-+realloc(void *ptr, size_t size)
-+{
-+ register void *r;
-+
-+ malloc_func = " in realloc():";
-+ THREAD_LOCK();
-+ if (malloc_active++) {
-+ wrtwarning("recursive call.\n");
-+ malloc_active--;
-+ return (0);
-+ }
-+ if (ptr && !malloc_started) {
-+ wrtwarning("malloc() has never been called.\n");
-+ ptr = 0;
-+ }
-+ if (!malloc_started)
-+ malloc_init();
-+ if (malloc_sysv && !size) {
-+ ifree(ptr);
-+ r = 0;
-+ } else if (!ptr) {
-+ r = imalloc(size);
-+ } else {
-+ r = irealloc(ptr, size);
-+ }
-+ UTRACE(ptr, size, r);
-+ malloc_active--;
-+ THREAD_UNLOCK();
-+ if (malloc_xmalloc && !r)
-+ wrterror("out of memory.\n");
-+ return (r);
-+}
-+
-+void *
-+calloc(size_t num, size_t size)
-+{
-+ register void *r;
-+
-+ size *= num;
-+ r = malloc(size);
-+ if (r)
-+ memset(r, 0, size);
-+ return (r);
-+}
diff --git a/lang/modula-3-lib/files/patch-bi b/lang/modula-3-lib/files/patch-bi
deleted file mode 100644
index 3592bb46306d..000000000000
--- a/lang/modula-3-lib/files/patch-bi
+++ /dev/null
@@ -1,37 +0,0 @@
-Bug fix from SRC:
- bug assigning arrays
-
- This patch applies to all platforms.
-
- The Modula-3 language definition says that it is possible to assign
- one array to another if they have the same shape. There is a bug
- in the compiler front-end that causes the compiler to report that
- two array types are not assignable if they have different base
- indices, even if they have the same size.
-
---- m3/m3front/src/types/ArrayType.m3.orig Tue May 23 15:24:27 1995
-+++ m3/m3front/src/types/ArrayType.m3 Mon Sep 30 11:12:31 1996
-@@ -286,7 +286,9 @@
- a := Reduce (ta); b := Reduce (tb);
- IF (a = NIL) OR (b = NIL) THEN EXIT END;
- IF (a.index # b.index) THEN
-- IF Type.Number (a.index) # Type.Number (b.index) THEN RETURN FALSE END;
-+ IF NOT TInt.EQ (Type.Number (a.index), Type.Number (b.index)) THEN
-+ RETURN FALSE
-+ END;
- END;
- ta := a.element;
- tb := b.element;
---- m3/m3front/src/types/OpenArrayType.m3.orig Tue May 23 15:24:22 1995
-+++ m3/m3front/src/types/OpenArrayType.m3 Mon Sep 30 11:13:12 1996
-@@ -188,7 +188,9 @@
-
- (* peel off the fixed dimensions as long as the sizes are equal *)
- WHILE ArrayType.Split (ta, ia, ea) AND ArrayType.Split (tb, ib, eb) DO
-- IF Type.Number (ia) # Type.Number (ib) THEN RETURN FALSE END;
-+ IF NOT TInt.EQ (Type.Number (ia), Type.Number (ib)) THEN
-+ RETURN FALSE
-+ END;
- ta := ea;
- tb := eb;
- END;
diff --git a/lang/modula-3-lib/files/patch-bj b/lang/modula-3-lib/files/patch-bj
deleted file mode 100644
index b4ee88e31e09..000000000000
--- a/lang/modula-3-lib/files/patch-bj
+++ /dev/null
@@ -1,438 +0,0 @@
-New wrapper files for network related functions. These are separated so
-that they can be easily overridden when SOCKS support is desired.
-
---- m3/m3core/src/runtime/FreeBSD2/accept.c.orig Thu Oct 24 13:11:22 1996
-+++ m3/m3core/src/runtime/FreeBSD2/accept.c Thu Oct 24 12:47:29 1996
-@@ -0,0 +1,16 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_accept(int s, struct sockaddr *addr, int *addrlen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(addr);
-+ MAKE_WRITABLE(addrlen);
-+ result = accept(s, addr, addrlen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/bind.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/bind.c Thu Oct 24 12:48:12 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_bind(int s, const struct sockaddr *name, int namelen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(name);
-+ result = bind(s, name, namelen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/close.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/close.c Thu Oct 24 12:48:51 1996
-@@ -0,0 +1,13 @@
-+#include "wrap.h"
-+#include <unistd.h>
-+
-+int
-+m3_close(int d)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = close(d);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/connect.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/connect.c Thu Oct 24 12:49:40 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_connect(int s, const struct sockaddr *name, int namelen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(name);
-+ result = connect(s, name, namelen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/dup.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/dup.c Thu Oct 24 12:50:09 1996
-@@ -0,0 +1,13 @@
-+#include "wrap.h"
-+#include <unistd.h>
-+
-+int
-+m3_dup(int oldd)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = dup(oldd);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/dup2.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/dup2.c Thu Oct 24 12:50:28 1996
-@@ -0,0 +1,13 @@
-+#include "wrap.h"
-+#include <unistd.h>
-+
-+int
-+m3_dup2(int oldd, int newd)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = dup2(oldd, newd);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/gethostbyaddr.c.orig Thu Oct 24 16:07:10 1996
-+++ m3/m3core/src/runtime/FreeBSD2/gethostbyaddr.c Thu Oct 24 16:10:19 1996
-@@ -0,0 +1,14 @@
-+#include "wrap.h"
-+#include <netdb.h>
-+
-+struct hostent *
-+m3_gethostbyaddr(const char *addr, int len, int type)
-+{
-+ struct hostent *result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(addr);
-+ result = gethostbyaddr(addr, len, type);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/gethostbyname.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/gethostbyname.c Thu Oct 24 16:08:41 1996
-@@ -0,0 +1,14 @@
-+#include "wrap.h"
-+#include <netdb.h>
-+
-+struct hostent *
-+m3_gethostbyname(const char *name)
-+{
-+ struct hostent *result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(name);
-+ result = gethostbyname(name);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/getpeername.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/getpeername.c Thu Oct 24 12:52:25 1996
-@@ -0,0 +1,16 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_getpeername(int s, struct sockaddr *name, int *namelen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(name);
-+ MAKE_WRITABLE(namelen);
-+ result = getpeername(s, name, namelen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/getsockname.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/getsockname.c Thu Oct 24 12:52:56 1996
-@@ -0,0 +1,16 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_getsockname(int s, struct sockaddr *name, int *namelen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(name);
-+ MAKE_WRITABLE(namelen);
-+ result = getsockname(s, name, namelen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/listen.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/listen.c Thu Oct 24 12:53:42 1996
-@@ -0,0 +1,14 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_listen(int s, int backlog)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = listen(s, backlog);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/read.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/read.c Thu Oct 24 12:55:56 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <unistd.h>
-+
-+ssize_t
-+m3_read(int d, void *buf, size_t nbytes)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(buf);
-+ result = read(d, buf, nbytes);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/recv.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/recv.c Thu Oct 24 12:56:57 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+ssize_t
-+m3_recv(int s, void *buf, size_t len, int flags)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(buf);
-+ result = recv(s, buf, len, flags);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/recvfrom.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/recvfrom.c Thu Oct 24 12:58:10 1996
-@@ -0,0 +1,18 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+ssize_t
-+m3_recvfrom(int s, void *buf, size_t len, int flags,
-+ struct sockaddr *from, int *fromlen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(buf);
-+ MAKE_WRITABLE(from);
-+ MAKE_WRITABLE(fromlen);
-+ result = recvfrom(s, buf, len, flags, from, fromlen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/select.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/select.c Thu Oct 24 12:59:17 1996
-@@ -0,0 +1,20 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/time.h>
-+#include <unistd.h>
-+
-+int
-+m3_select(int nfds, fd_set *readfds, fd_set *writefds,
-+ fd_set *exceptfds, struct timeval *timeout)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_WRITABLE(readfds);
-+ MAKE_WRITABLE(writefds);
-+ MAKE_WRITABLE(exceptfds);
-+ MAKE_READABLE(timeout);
-+ result = select(nfds, readfds, writefds, exceptfds, timeout);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/send.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/send.c Thu Oct 24 13:00:25 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+ssize_t
-+m3_send(int s, const void *msg, size_t len, int flags)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(msg);
-+ result = send(s, msg, len, flags);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/sendto.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/sendto.c Thu Oct 24 13:01:18 1996
-@@ -0,0 +1,17 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+ssize_t
-+m3_sendto(int s, const void *msg, size_t len, int flags,
-+ const struct sockaddr *to, int tolen)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(msg);
-+ MAKE_READABLE(to);
-+ result = sendto(s, msg, len, flags, to, tolen);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/shutdown.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/shutdown.c Thu Oct 24 13:01:40 1996
-@@ -0,0 +1,14 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_shutdown(int s, int how)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = shutdown(s, how);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/socket.c.orig Thu Oct 24 16:11:12 1996
-+++ m3/m3core/src/runtime/FreeBSD2/socket.c Thu Oct 24 16:12:22 1996
-@@ -0,0 +1,14 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+
-+int
-+m3_socket(int domain, int type, int protocol)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ result = socket(domain, type, protocol);
-+ EXIT_CRITICAL;
-+ return result;
-+}
---- m3/m3core/src/runtime/FreeBSD2/socksconf.h.orig Fri Oct 25 14:05:03 1996
-+++ m3/m3core/src/runtime/FreeBSD2/socksconf.h Fri Oct 25 14:05:28 1996
-@@ -0,0 +1,6 @@
-+/*
-+ * Define 0 or 1 of these, to select the variety of SOCKS support you want.
-+ */
-+#undef HPSOCKS
-+#undef SOCKS4
-+#undef SOCKS5
---- m3/m3core/src/runtime/FreeBSD2/wrap.h.orig Thu Oct 24 20:50:16 1996
-+++ m3/m3core/src/runtime/FreeBSD2/wrap.h Fri Oct 25 14:04:13 1996
-@@ -0,0 +1,61 @@
-+#include "socksconf.h"
-+
-+#if defined(HPSOCKS) /* { */
-+ #define accept Raccept
-+ #define bind Rxbind
-+ #define close Rclose
-+ #define connect Rconnect
-+ #define dup Rdup
-+ #define dup2 Rdup2
-+ #define gethostbyaddr Rgethostbyaddr
-+ #define gethostbyname Rgethostbyname
-+ #define getpeername Rgetpeername
-+ #define getsockname Rgetsockname
-+ #define listen Rlisten
-+ #define recv Rrecv
-+ #define recvfrom Rrecvfrom
-+ #define send Rsend
-+ #define sendto Rsendto
-+ #define shutdown Rshutdown
-+ #define socket Rsocket
-+#elif defined(SOCKS4) /* } { */
-+ #define accept Raccept
-+ #define bind Rbind
-+ #define connect Rconnect
-+ #define getpeername Rgetpeername
-+ #define getsockname Rgetsockname
-+ #define listen Rlisten
-+ #define select Rselect
-+#elif defined(SOCKS5) /* } { */
-+ #define accept SOCKSaccept
-+ #define bind SOCKSbind
-+ #define close SOCKSclose
-+ #define connect SOCKSconnect
-+ #define dup SOCKSdup
-+ #define dup2 SOCKSdup2
-+ #define fclose SOCKSfclose
-+ #define gethostbyname SOCKSgethostbyname
-+ #define getpeername SOCKSgetpeername
-+ #define getsockname SOCKSgetsockname
-+ #define listen SOCKSlisten
-+ #define read SOCKSread
-+ #define recv SOCKSrecv
-+ #define recvfrom SOCKSrecvfrom
-+ #define rresvport SOCKSrresvport
-+ #define select SOCKSselect
-+ #define send SOCKSsend
-+ #define sendto SOCKSsendto
-+ #define shutdown SOCKSshutdown
-+ #define write SOCKSwrite
-+#endif /* } */
-+
-+extern int RT0u__inCritical;
-+#define ENTER_CRITICAL RT0u__inCritical++
-+#define EXIT_CRITICAL RT0u__inCritical--
-+
-+static char RTHeapDepC__c;
-+#define MAKE_READABLE(x) \
-+ if ((int)x) { RTHeapDepC__c = *(char*)(x); }
-+
-+#define MAKE_WRITABLE(x) \
-+ if ((int)x) { *(char*)(x) = RTHeapDepC__c = *(char*)(x); }
---- m3/m3core/src/runtime/FreeBSD2/write.c.orig Thu Oct 24 13:11:23 1996
-+++ m3/m3core/src/runtime/FreeBSD2/write.c Thu Oct 24 13:02:24 1996
-@@ -0,0 +1,15 @@
-+#include "wrap.h"
-+#include <sys/types.h>
-+#include <unistd.h>
-+
-+size_t
-+m3_write(int fd, const void *buf, int nbytes)
-+{
-+ int result;
-+
-+ ENTER_CRITICAL;
-+ MAKE_READABLE(buf);
-+ result = write(fd, buf, nbytes);
-+ EXIT_CRITICAL;
-+ return result;
-+}
diff --git a/lang/modula-3-lib/files/patch-bk b/lang/modula-3-lib/files/patch-bk
deleted file mode 100644
index 6d721061f979..000000000000
--- a/lang/modula-3-lib/files/patch-bk
+++ /dev/null
@@ -1,82 +0,0 @@
-Support for SOCKS wrappers in Unix.i3.
-Also add some missing system call declarations.
-Also fix misdirected entries for "open" and "fcntl" which bypassed the
-VM wrappers.
-
---- m3/m3core/src/unix/freebsd-2/Unix.i3.orig Sat Jan 7 14:41:42 1995
-+++ m3/m3core/src/unix/freebsd-2/Unix.i3 Thu Apr 23 22:09:54 1998
-@@ -84,9 +84,10 @@
- <*EXTERNAL*> PROCEDURE fchmod (fd, mode: mode_t): int;
- (* ok *)
-
--(*** chown, fchown - change owner and group of a file ***)
-+(*** chown, fchown, lchown - change owner and group of a file ***)
- <*EXTERNAL*> PROCEDURE chown (path: char_star; owner: uid_t; group: gid_t): int;
- <*EXTERNAL*> PROCEDURE fchown (fd: int; owner: uid_t; group: gid_t): int;
-+<*EXTERNAL*> PROCEDURE lchown (path: char_star; owner: uid_t; group: gid_t): int;
- (* ok *)
-
- (*** chroot - change root directory ***)
-@@ -94,7 +95,7 @@
- (* ok *)
-
- (*** close - delete a descriptor ***)
--<*EXTERNAL*> PROCEDURE close (d: int): int;
-+<*EXTERNAL "m3_close"*> PROCEDURE close (d: int): int;
- (* ok *)
-
- (*** creat - create a new file ***)
-@@ -102,8 +103,8 @@
- (* ok, but obsolete *)
-
- (*** dup, dup2 - duplicate an open file descriptor ***)
--<*EXTERNAL*> PROCEDURE dup (oldd: int): int;
--<*EXTERNAL*> PROCEDURE dup2 (oldd, newd: int): int;
-+<*EXTERNAL "m3_dup"*> PROCEDURE dup (oldd: int): int;
-+<*EXTERNAL "m3_dup2"*> PROCEDURE dup2 (oldd, newd: int): int;
- (* ok *)
-
- (*** execve - execute a file ***)
-@@ -156,10 +157,7 @@
- F_WRLCK = 3; (* Write lock *)
- F_UNLCK = 2; (* Remove lock(s) *)
-
--(* with vm use this
- <*EXTERNAL "ufcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
--*)
--<*EXTERNAL "m3_fcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
- (* ok *)
-
- (*** flock - apply or remove an advisory lock on an open file ***)
-@@ -773,6 +771,9 @@
- PROCEDURE lseek (d: int; offset: off_t; whence: int): off_t;
- (* ok *)
-
-+(*** mkfifo - make a FIFO (named pipe) ***)
-+<*EXTERNAL*> PROCEDURE mkfifo (path: char_star; mode: mode_t): int;
-+
- (*** mkdir - make a directory file ***)
- <*EXTERNAL*> PROCEDURE mkdir (path: char_star; mode: mode_t): int;
- (* ok *)
-@@ -827,12 +828,8 @@
-
- M3_NONBLOCK = O_NONBLOCK; (* -1 => would block, 0 => EOF *)
-
--(* with vm use this
- <*EXTERNAL "uopen" *> PROCEDURE open (name: char_star;
- flags, mode: int): int;
--*)
--<*EXTERNAL "m3_open" *> PROCEDURE open (name: char_star;
-- flags, mode: int): int;
- (* ok *)
-
- (*** pipe - create an interprocess channel ***)
-@@ -892,7 +889,7 @@
- TYPE
- FDSet = SET OF [0 .. MAX_FDSET - 1];
-
--<*EXTERNAL*> PROCEDURE select (nfds: int;
-+<*EXTERNAL "m3_select"*> PROCEDURE select (nfds: int;
- readfds, writefds, exceptfds: UNTRACED REF FDSet;
- timeout: UNTRACED REF struct_timeval): int;
- (* ok *)
diff --git a/lang/modula-3-lib/files/patch-bl b/lang/modula-3-lib/files/patch-bl
deleted file mode 100644
index e94717b6d27a..000000000000
--- a/lang/modula-3-lib/files/patch-bl
+++ /dev/null
@@ -1,24 +0,0 @@
-Support for SOCKS wrappers in Uuio.i3.
-
---- m3/m3core/src/unix/freebsd-2/Uuio.i3.orig Sat Jan 7 14:22:23 1995
-+++ m3/m3core/src/unix/freebsd-2/Uuio.i3 Tue Oct 8 14:22:15 1996
-@@ -50,13 +50,17 @@
-
- (*** read, readv(2) - read from a file ***)
-
--<*EXTERNAL*> PROCEDURE read (d: int; buf: char_star; nbytes: int): int;
-+<*EXTERNAL "m3_read"*>
-+PROCEDURE read (d: int; buf: char_star; nbytes: int): int;
-+
- <*EXTERNAL*> PROCEDURE readv (d: int; iov: struct_iovec_star;
- iovcnt: int): int;
-
- (*** write, writev(2) - write on a file ***)
-
--<*EXTERNAL*> PROCEDURE write (d: int; buf: char_star; nbytes: int): int;
-+<*EXTERNAL "m3_write"*>
-+PROCEDURE write (d: int; buf: char_star; nbytes: int): int;
-+
- <*EXTERNAL*> PROCEDURE writev (d: int; iov: struct_iovec_star;
- ioveclen: int): int;
-
diff --git a/lang/modula-3-lib/files/patch-bm b/lang/modula-3-lib/files/patch-bm
deleted file mode 100644
index 7b6fce48f043..000000000000
--- a/lang/modula-3-lib/files/patch-bm
+++ /dev/null
@@ -1,17 +0,0 @@
-Support for SOCKS wrappers in Unetdb.i3.
-
---- m3/m3core/src/unix/freebsd-2/Unetdb.i3.orig Sat Jan 7 14:22:19 1995
-+++ m3/m3core/src/unix/freebsd-2/Unetdb.i3 Thu Oct 24 16:05:40 1996
-@@ -88,10 +88,10 @@
- (*** gethostent(3n), gethostbyaddr(3n), gethostbyname(3n),
- sethostent(3n), endhostent(3n) - get network host entry ***)
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_gethostbyname"*>
- PROCEDURE gethostbyname (name: char_star): struct_hostent_star;
-
--<*EXTERNAL*>
-+<*EXTERNAL "m3_gethostbyaddr"*>
- PROCEDURE gethostbyaddr (addr: char_star; len, type: int): struct_hostent_star;
-
- <*EXTERNAL*>
diff --git a/lang/modula-3-lib/files/patch-bn b/lang/modula-3-lib/files/patch-bn
deleted file mode 100644
index a0da2b603582..000000000000
--- a/lang/modula-3-lib/files/patch-bn
+++ /dev/null
@@ -1,23 +0,0 @@
-This fixes a bug which can result in a value out of range error if the
-cursor is at the beginning of a TextPort and the DeleteToStartOfLine
-procedure is invoked.
-
-This patch has been sent to SRC.
-
---- m3/vbtkit/src/etext/TextPortClass.m3.orig Mon Jan 30 14:34:34 1995
-+++ m3/vbtkit/src/etext/TextPortClass.m3 Thu May 8 17:20:58 1997
-@@ -271,8 +271,12 @@
- left := MTextUnit.StartOfLine (v.vtext.mtext, here);
- BEGIN
- IF here = left THEN
-- (* We're already at the start of line; delete one char. *)
-- RETURN v.replace (here - 1, here, "")
-+ (* Already at the start of line; delete preceding newline if any. *)
-+ IF here > 0 THEN
-+ RETURN v.replace (here - 1, here, "")
-+ ELSE
-+ RETURN NotFound
-+ END
- ELSE
- RETURN v.replace (left, here, "")
- END
diff --git a/lang/modula-3-lib/files/patch-bp b/lang/modula-3-lib/files/patch-bp
deleted file mode 100644
index 84e7eeebb679..000000000000
--- a/lang/modula-3-lib/files/patch-bp
+++ /dev/null
@@ -1,112 +0,0 @@
-This patch uses the sigaction interface to gain access to the PC value
-so that it can be printed out when a fatal signal occurs.
-
---- m3/m3core/src/runtime/FreeBSD2/RTSignal.m3.orig Mon Nov 21 10:31:19 1994
-+++ m3/m3core/src/runtime/FreeBSD2/RTSignal.m3 Thu Jul 10 14:24:59 1997
-@@ -7,18 +7,21 @@
-
- UNSAFE MODULE RTSignal;
-
--IMPORT RTMisc, RTProcess, Csignal, Usignal, Uprocess;
-+IMPORT RTMisc, RTProcess, Usignal, Uprocess;
- FROM Ctypes IMPORT int;
-
-+TYPE
-+ SigInfo = UNTRACED REF Usignal.struct_sigcontext;
-+
- VAR
-- DefaultHandler : Csignal.Handler;
-- IgnoreSignal : Csignal.Handler;
-- initial_handlers : ARRAY [0..5] OF Csignal.Handler;
-+ DefaultHandler : Usignal.SignalHandler;
-+ IgnoreSignal : Usignal.SignalHandler;
-+ initial_handlers : ARRAY [0..5] OF Usignal.struct_sigaction;
-
- PROCEDURE InstallHandlers () =
- BEGIN
-- DefaultHandler := LOOPHOLE (0, Csignal.Handler);
-- IgnoreSignal := LOOPHOLE (1, Csignal.Handler);
-+ DefaultHandler := LOOPHOLE (0, Usignal.SignalHandler);
-+ IgnoreSignal := LOOPHOLE (1, Usignal.SignalHandler);
-
- SetHandler (0, Usignal.SIGHUP, Shutdown);
- SetHandler (1, Usignal.SIGINT, Interrupt);
-@@ -28,13 +31,18 @@
- SetHandler (5, Usignal.SIGTERM, Shutdown);
- END InstallHandlers;
-
--PROCEDURE SetHandler (id: INTEGER; sig: int; handler: Csignal.Handler) =
-- VAR old := Csignal.signal (sig, handler);
-- BEGIN
-- initial_handlers[id] := old;
-- IF (old # DefaultHandler) THEN
-+PROCEDURE SetHandler (id: INTEGER; sig: int; handler: Usignal.SignalHandler) =
-+ (* Note: we use the LOOPHOLE to prevent the runtime check for
-+ nested procedure. The runtime check crashes when
-+ handler = IgnoreSignal = 1. *)
-+ VAR new: Usignal.struct_sigaction;
-+ BEGIN
-+ new.sa_handler := LOOPHOLE (handler, Usignal.SignalHandler);
-+ new.sa_flags := 0;
-+ EVAL Usignal.sigaction (sig, ADR(new), ADR(initial_handlers[id]));
-+ IF (initial_handlers[id].sa_handler # DefaultHandler) THEN
- (* don't override inherited, non-default handlers *)
-- EVAL Csignal.signal (sig, old);
-+ EVAL Usignal.sigaction (sig, ADR(initial_handlers[id]), ADR(new));
- END;
- END SetHandler;
-
-@@ -50,36 +58,43 @@
-
- PROCEDURE RestoreHandler (id: INTEGER; sig: int) =
- BEGIN
-- EVAL Csignal.signal (sig, initial_handlers[id]);
-+ EVAL Usignal.sigaction (sig, ADR(initial_handlers[id]), NIL);
- END RestoreHandler;
-
--PROCEDURE Shutdown (sig: int) =
-+PROCEDURE Shutdown (sig: int; <*UNUSED*> code: int; <*UNUSED*> scp: SigInfo) =
-+ VAR new, old: Usignal.struct_sigaction;
- BEGIN
-+ new.sa_handler := DefaultHandler;
-+ new.sa_flags := 0;
- RTProcess.InvokeExitors (); (* flush stdio... *)
-- EVAL Csignal.signal (sig, DefaultHandler); (* restore default handler *)
-+ EVAL Usignal.sigaction (sig, ADR(new), ADR(old)); (* restore default handler *)
- EVAL Usignal.kill (Uprocess.getpid (), sig); (* and resend the signal *)
- END Shutdown;
-
--PROCEDURE Interrupt (sig: int) =
-+PROCEDURE Interrupt (sig: int; code: int; scp: SigInfo) =
- VAR h := RTProcess.OnInterrupt (NIL);
- BEGIN
- IF (h = NIL) THEN
-- Shutdown (sig);
-+ Shutdown (sig, code, scp);
- ELSE
- EVAL RTProcess.OnInterrupt (h); (* reinstall the handler *)
- h ();
- END;
- END Interrupt;
-
--PROCEDURE Quit (<*UNUSED*> sig: int) =
-+PROCEDURE Quit (<*UNUSED*> sig, code: int; scp: SigInfo) =
-+ VAR pc := 0;
- BEGIN
-- RTMisc.FatalErrorI ("aborted", 0);
-+ IF (scp # NIL) THEN pc := scp.sc_eip END;
-+ RTMisc.FatalErrorPC (pc, "aborted");
- END Quit;
-
--PROCEDURE SegV (<*UNUSED*> sig: int) =
-+PROCEDURE SegV (<*UNUSED*> sig, code: int; scp: SigInfo) =
-+ VAR pc := 0;
- BEGIN
-- RTMisc.FatalErrorI (
-- "Segmentation violation - possible attempt to dereference NIL", 0);
-+ IF (scp # NIL) THEN pc := scp.sc_eip END;
-+ RTMisc.FatalErrorPC (pc,
-+ "Segmentation violation - possible attempt to dereference NIL");
- END SegV;
-
- BEGIN
diff --git a/lang/modula-3-lib/files/patch-bq b/lang/modula-3-lib/files/patch-bq
deleted file mode 100644
index 7bbf6443ae1e..000000000000
--- a/lang/modula-3-lib/files/patch-bq
+++ /dev/null
@@ -1,31 +0,0 @@
-Add chflags(2) and fchflags(2) to Ustat.i3.
-
---- m3/m3core/src/unix/freebsd-2/Ustat.i3.orig Wed Mar 15 16:47:47 1995
-+++ m3/m3core/src/unix/freebsd-2/Ustat.i3 Thu Jul 10 18:41:32 1997
-@@ -70,4 +70,26 @@
-
- <*EXTERNAL*> PROCEDURE fstat (fd: int; buf: struct_stat_star): int;
-
-+(* chflags, fchflags *)
-+CONST
-+ (* Definitions of flags stored in file flags word. *)
-+ (* Super-user and owner changeable flags. *)
-+ UF_SETTABLE = 16_0000ffff; (* mask of owner changeable flags *)
-+ UF_NODUMP = 16_00000001; (* do not dump file *)
-+ UF_IMMUTABLE = 16_00000002; (* file may not be changed *)
-+ UF_APPEND = 16_00000004; (* writes to file may only append *)
-+ UF_OPAQUE = 16_00000008; (* directory is opaque wrt. union *)
-+
-+ (* Super-user changeable flags. *)
-+ SF_SETTABLE = 16_ffff0000; (* mask of superuser changeable flags *)
-+ SF_ARCHIVED = 16_00010000; (* file is archived *)
-+ SF_IMMUTABLE = 16_00020000; (* file may not be changed *)
-+ SF_APPEND = 16_00040000; (* writes to file may only append *)
-+
-+<*EXTERNAL*>
-+PROCEDURE chflags(path: char_star; flags: u_long): int;
-+
-+<*EXTERNAL*>
-+PROCEDURE fchflags(fd: int; flags: u_long): int;
-+
- END Ustat.
diff --git a/lang/modula-3-lib/files/patch-br b/lang/modula-3-lib/files/patch-br
deleted file mode 100644
index 417d37244b81..000000000000
--- a/lang/modula-3-lib/files/patch-br
+++ /dev/null
@@ -1,61 +0,0 @@
-This fixes a couple of problems in the setting of the WM_NORMAL_HINTS
-window manager property.
-
-The flags were set indicating that the width, height, x, and y fields
-were valid, but these fields in fact contained garbage. Since the
-fields are obsolete now (starting with X11R5), I simply removed the
-code that set the corresponding flags.
-
-Also, the base_width, base_height, width_inc, and height_inc fields
-were not set. This caused the window manager to display incorrect
-values for window size while resizing it.
-
-I have sent this patch to DEC SRC.
-
---- m3/ui/src/xvbt/XClient.m3.orig Mon Mar 6 17:44:15 1995
-+++ m3/ui/src/xvbt/XClient.m3 Mon Jul 28 13:45:30 1997
-@@ -520,7 +520,7 @@
- BEGIN
- ur.sh := sh;
- ur.sv := sv;
-- SetSizeHints(xSizeHints, width, height, sh, sv, st, userPosition);
-+ SetSizeHints(xSizeHints, width, height, sh, sv, st);
- END;
- xwa.border_pixel := 0;
- xwa.bit_gravity := X.NorthWestGravity;
-@@ -1080,19 +1080,17 @@
- PROCEDURE SetSizeHints (VAR xhints : X.XSizeHints;
- VAR width, height: CARDINAL;
- READONLY sh, sv : VBT.SizeRange;
-- st : XScreenType.T;
-- userPosition : BOOLEAN ) =
-+ st : XScreenType.T ) =
- BEGIN
- IF sv.hi < VBT.DefaultShape.hi OR sh.hi < VBT.DefaultShape.hi THEN
-- xhints.flags := X.PMinSize + X.PMaxSize
-+ xhints.flags := X.PMinSize + X.PMaxSize + X.PResizeInc + X.PBaseSize
- ELSE
-- xhints.flags := X.PMinSize
-- END;
-- IF userPosition THEN
-- INC(xhints.flags, X.USPosition + X.USSize)
-- ELSE
-- INC(xhints.flags, X.PPosition + X.PSize)
-+ xhints.flags := X.PMinSize + X.PResizeInc + X.PBaseSize
- END;
-+ xhints.base_width := 0;
-+ xhints.base_height := 0;
-+ xhints.width_inc := 1;
-+ xhints.height_inc := 1;
- xhints.min_width := sh.lo;
- xhints.max_width :=
- MAX(MIN(sh.hi - 1, Rect.HorSize(st.rootDom)), sh.lo);
-@@ -1125,7 +1123,7 @@
- sh := s[Axis.T.Hor];
- sv := s[Axis.T.Ver];
- BEGIN
-- SetSizeHints(xhints, width, height, sh, sv, st, ur.userPosition);
-+ SetSizeHints(xhints, width, height, sh, sv, st);
- TRY
- Enter(v);
- TRY
diff --git a/lang/modula-3-lib/files/patch-bs b/lang/modula-3-lib/files/patch-bs
deleted file mode 100644
index a58a5f7de94c..000000000000
--- a/lang/modula-3-lib/files/patch-bs
+++ /dev/null
@@ -1,18 +0,0 @@
---- m3/m3core/src/unix/freebsd-2/off_t_wrap.c.orig Thu Jan 12 09:28:20 1995
-+++ m3/m3core/src/unix/freebsd-2/off_t_wrap.c Thu Apr 23 22:08:58 1998
-@@ -33,15 +33,3 @@
- off_t len = (off_t) length;
- return ftruncate(fd, length);
- }
--
--/* added to avoid problems with the ellipsis... */
--
--int m3_fcntl(int fd, int cmd, int arg)
--{
-- return fcntl(fd, cmd, arg);
--}
--
--int m3_open(const char *path, int flags, mode_t mode)
--{
-- return open(path, flags, mode);
--}
diff --git a/lang/modula-3-lib/files/patch-bt b/lang/modula-3-lib/files/patch-bt
deleted file mode 100644
index da04f7886c19..000000000000
--- a/lang/modula-3-lib/files/patch-bt
+++ /dev/null
@@ -1,22 +0,0 @@
---- m3/m3core/src/runtime/FreeBSD2/_fpsetjmp.s.orig Mon Nov 7 13:11:12 1994
-+++ m3/m3core/src/runtime/FreeBSD2/_fpsetjmp.s Fri Aug 28 13:45:40 1998
-@@ -55,6 +55,9 @@
- .globl __fpsetjmp;
- .type __fpsetjmp,@function;
- __fpsetjmp:
-+.globl _fpsetjmp;
-+.type _fpsetjmp,@function;
-+_fpsetjmp:
- movl 4(%esp),%eax
- movl 0(%esp),%edx
- movl %edx, 0(%eax)
-@@ -71,6 +74,9 @@
- .globl __fplongjmp;
- .type __fplongjmp,@function;
- __fplongjmp:
-+.globl _fplongjmp;
-+.type _fplongjmp,@function;
-+_fplongjmp:
- movl 4(%esp),%edx
- movl 8(%esp),%eax
- movl 0(%edx),%ecx
diff --git a/lang/modula-3-lib/files/patch-bu b/lang/modula-3-lib/files/patch-bu
deleted file mode 100644
index f231da9b6a5f..000000000000
--- a/lang/modula-3-lib/files/patch-bu
+++ /dev/null
@@ -1,29 +0,0 @@
---- m3/m3core/src/runtime/FreeBSD2/RTStackASM.s.orig Mon Oct 17 09:50:40 1994
-+++ m3/m3core/src/runtime/FreeBSD2/RTStackASM.s Fri Aug 28 13:44:44 1998
-@@ -3,6 +3,8 @@
-
- .globl _RTStack__CurrentFrame
- _RTStack__CurrentFrame:
-+ .globl RTStack__CurrentFrame
-+RTStack__CurrentFrame:
- # STACK = ret frame
- popl %eax # STACK = frame
- pushl %eax
-@@ -19,6 +21,8 @@
-
- .globl _RTStack__PreviousFrame
- _RTStack__PreviousFrame:
-+ .globl RTStack__PreviousFrame
-+RTStack__PreviousFrame:
- movl 4(%esp), %eax # eax = ^callee
- movl 4(%eax), %eax # eax = callee.ebp
- pushl 0(%eax) # push bp of caller
-@@ -33,6 +37,8 @@
-
- .globl _RTStack__Unwind
- _RTStack__Unwind:
-+ .globl RTStack__Unwind
-+RTStack__Unwind:
- movl 4(%esp), %eax # eax = ^to
- movl 8(%eax), %esp
- movl 4(%eax), %ebp
diff --git a/lang/modula-3-lib/files/patch-bv b/lang/modula-3-lib/files/patch-bv
deleted file mode 100644
index 25cb3af0e4fc..000000000000
--- a/lang/modula-3-lib/files/patch-bv
+++ /dev/null
@@ -1,11 +0,0 @@
---- m3/m3core/src/float/Common/DragonInt.m3.orig Fri Jul 7 13:26:16 1995
-+++ m3/m3core/src/float/Common/DragonInt.m3 Wed Dec 15 09:17:34 1999
-@@ -421,7 +421,7 @@
- t.s := n_words;
- t.w := s.next;
- INC (s.next, n_words);
-- IF (s.next > NUMBER (s.w^)) THEN Expand (s); END;
-+ IF (s.next >= NUMBER (s.w^)) THEN Expand (s); END;
- RETURN ADR (s.w[t.w]);
- END InitValue;
-
diff --git a/lang/modula-3-lib/files/patch-bw b/lang/modula-3-lib/files/patch-bw
deleted file mode 100644
index 39d3da1ffe85..000000000000
--- a/lang/modula-3-lib/files/patch-bw
+++ /dev/null
@@ -1,38 +0,0 @@
---- m3cc/gcc/Makefile.in.orig Wed Sep 25 10:17:27 1996
-+++ m3cc/gcc/Makefile.in Thu Jan 20 18:50:14 2000
-@@ -57,7 +57,7 @@
- T_CPPFLAGS =
-
- CC = cc
--BISON = bison
-+BISON = byacc
- BISONFLAGS =
- LEX = flex
- LEXFLAGS =
-@@ -1067,7 +1067,7 @@
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c
- $(srcdir)/c-parse.h: $(srcdir)/c-parse.c
- $(srcdir)/c-parse.c: $(srcdir)/c-parse.y
-- cd $(srcdir); $(BISON) $(BISONFLAGS) -d c-parse.y -o c-parse.c
-+ cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o c-parse.c c-parse.y
- $(srcdir)/c-parse.y: c-parse.in
- sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \
- -e "/^ifc$$/d" -e "/^end ifc$$/d" \
-@@ -1129,7 +1129,7 @@
- c-tree.h input.h flags.h objc-act.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/objc-parse.c
- $(srcdir)/objc-parse.c : $(srcdir)/objc-parse.y
-- cd $(srcdir); $(BISON) $(BISONFLAGS) objc-parse.y -o objc-parse.c
-+ cd $(srcdir); $(BISON) $(BISONFLAGS) -o objc-parse.c objc-parse.y
- $(srcdir)/objc-parse.y: $(srcdir)/c-parse.in
- sed -e "/^ifc$$/,/^end ifc$$/d" \
- -e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \
-@@ -1569,7 +1569,7 @@
-
- $(srcdir)/bi-parser.h: $(srcdir)/bi-parser.c
- $(srcdir)/bi-parser.c: $(srcdir)/bi-parser.y
-- cd $(srcdir); $(BISON) $(BISONFLAGS) -d bi-parser.y -o bi-parser.c
-+ cd $(srcdir); $(BISON) $(BISONFLAGS) -d -o bi-parser.c bi-parser.y
-
- bi-parser.o: $(srcdir)/bi-parser.c bi-defs.h $(build_xm_file)
- $(HOST_CC) -c $(HOST_CFLAGS) $(HOST_CPPFLAGS) $(INCLUDES) \
diff --git a/lang/modula-3-lib/pkg-comment b/lang/modula-3-lib/pkg-comment
deleted file mode 100644
index dc4cbe5c16fe..000000000000
--- a/lang/modula-3-lib/pkg-comment
+++ /dev/null
@@ -1 +0,0 @@
-The shared libraries needed for executing Modula-3 programs
diff --git a/lang/modula-3-lib/pkg-descr b/lang/modula-3-lib/pkg-descr
deleted file mode 100644
index 0a196c8afcea..000000000000
--- a/lang/modula-3-lib/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a subset of the Modula-3 port, consisting of the shared
-libraries only. People who don't wish to install the entire Modula-3
-system just so they can execute Modula-3 programs can install this
-package instead.
-
-Please read "${PREFIX}/share/modula-3-lib/COPYRIGHT" for the DEC
-copyright notice.
-
-John Polstra <jdp@FreeBSD.ORG>
diff --git a/lang/modula-3-lib/pkg-install b/lang/modula-3-lib/pkg-install
deleted file mode 100644
index 07e589ad89d8..000000000000
--- a/lang/modula-3-lib/pkg-install
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/sh
-#
-# This script determines whether certain earlier versions of the
-# Modula-3 port exist on the system in a place where the linker or
-# dynamic linker would find them. These earlier versions must be
-# removed before installing the current port, because they use higher
-# major version numbers for the shared libraries than this port uses.
-# This situation arose because of an ill-considered choice for the
-# major version numbers in those early ports. I am intentionally
-# breaking the rule that the version number should never be decreased,
-# in order to nip this unfortunate situation in the bud.
-
-if [ x$2 != xPRE-INSTALL ]; then
- exit 0
-fi
-
-check() {
- local list i lib_path oldIFS status
-
- status=0
-
- # Check the dynamic linker's hints.
-
- list=$(/sbin/ldconfig -r | grep "libm3\.so\.35[34]\." | sed "s/^.* => //")
- for file in ${list}; do
- if [ -f ${file} ]; then # The file actually exists
- echo $(dirname ${file})
- status=1
- fi
- done
-
- # Check any directories in LD_LIBRARY_PATH. Also, check the directory
- # where we intend to install the new libraries.
-
- lib_path=${PREFIX:-/usr/local}/lib/m3/FreeBSD2:${LD_LIBRARY_PATH}
- oldIFS=${IFS}; IFS=":"; set ${lib_path}; IFS=${oldIFS}
- for dir; do
- if [ x${dir} != x ]; then
- if echo ${dir}/libm3.so.35[34].* | grep -q "\*"; then # Not found
- :
- else # Found
- echo ${dir}
- status=1
- fi
- fi
- done
-
- return ${status}
-}
-
-tmp=/tmp/m3-inst$$a
-trap "rm -f ${tmp}" 1 2 3 15
-touch ${tmp}
-
-if check > ${tmp}; then
- rm -f ${tmp}
- exit 0
-else
- echo "*****************************************************************"
- echo "* IMPORTANT *"
- echo "* You currently have an older version of the Modula-3 port on *"
- echo "* your system. You must remove the older version before you *"
- echo "* install this one. Otherwise, a problem with the shared *"
- echo "* libraries in the older version will cause utter confusion. *"
- echo "* Please remove the older version and try again. *"
- echo "* *"
- echo "* Old Modula-3 shared libraries were found in the following *"
- echo "* directories: *"
- echo "* *"
- sort -u ${tmp} | awk '{ printf "* %-59s *\n", $0 }'
- echo "*****************************************************************"
- rm -f ${tmp}
- exit 1
-fi
diff --git a/lang/modula-3-lib/pkg-plist b/lang/modula-3-lib/pkg-plist
deleted file mode 100644
index 1d038c0e968c..000000000000
--- a/lang/modula-3-lib/pkg-plist
+++ /dev/null
@@ -1,88 +0,0 @@
-etc/rc.d/50.m3.sh
-lib/m3/FreeBSD2/libDiGraph.so
-lib/m3/FreeBSD2/libGeometry.so
-lib/m3/FreeBSD2/libImages.so
-lib/m3/FreeBSD2/libTempFiles.so
-lib/m3/FreeBSD2/libjvideo.so
-lib/m3/FreeBSD2/libm3.so
-lib/m3/FreeBSD2/libm3X11R4.so
-lib/m3/FreeBSD2/libm3core.so
-lib/m3/FreeBSD2/libm3formsvbt.so
-lib/m3/FreeBSD2/libm3formsvbtpixmaps.so
-lib/m3/FreeBSD2/libm3parseparams.so
-lib/m3/FreeBSD2/libm3tcp.so
-lib/m3/FreeBSD2/libm3tools.so
-lib/m3/FreeBSD2/libm3ui.so
-lib/m3/FreeBSD2/libm3vbtkit.so
-lib/m3/FreeBSD2/libset.so
-lib/m3/FreeBSD2/libtable-list.so
-lib/m3/FreeBSD2/libtcpextras.so
-lib/m3/FreeBSD2/libvideovbt.so
-lib/m3/FreeBSD2/libweb.so
-lib/m3/pkg/X11R4/FreeBSD2/libm3X11R4.so
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.so
-lib/m3/pkg/formsvbt/FreeBSD2/libm3formsvbt.so
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/libm3formsvbtpixmaps.so
-lib/m3/pkg/images/FreeBSD2/libImages.so
-lib/m3/pkg/jvideo/FreeBSD2/libjvideo.so
-lib/m3/pkg/libm3/FreeBSD2/libm3.so
-lib/m3/pkg/m3core/FreeBSD2/libm3core.so
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.so
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.so
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.so
-lib/m3/pkg/set/FreeBSD2/libset.so
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.so
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.so
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.so
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.so
-lib/m3/pkg/ui/FreeBSD2/libm3ui.so
-lib/m3/pkg/vbtkit/FreeBSD2/libm3vbtkit.so
-lib/m3/pkg/videovbt/FreeBSD2/libvideovbt.so
-lib/m3/pkg/web/FreeBSD2/libweb.so
-share/modula-3-lib/COPYRIGHT
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %D/lib/m3/FreeBSD2
-@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
-@dirrm share/modula-3-lib
-@dirrm lib/m3/pkg/web/FreeBSD2
-@dirrm lib/m3/pkg/web
-@dirrm lib/m3/pkg/videovbt/FreeBSD2
-@dirrm lib/m3/pkg/videovbt
-@dirrm lib/m3/pkg/vbtkit/FreeBSD2
-@dirrm lib/m3/pkg/vbtkit
-@dirrm lib/m3/pkg/ui/FreeBSD2
-@dirrm lib/m3/pkg/ui
-@dirrm lib/m3/pkg/tempfiles/FreeBSD2
-@dirrm lib/m3/pkg/tempfiles
-@dirrm lib/m3/pkg/tcpextras/FreeBSD2
-@dirrm lib/m3/pkg/tcpextras
-@dirrm lib/m3/pkg/tcp/FreeBSD2
-@dirrm lib/m3/pkg/tcp
-@dirrm lib/m3/pkg/table-list/FreeBSD2
-@dirrm lib/m3/pkg/table-list
-@dirrm lib/m3/pkg/set/FreeBSD2
-@dirrm lib/m3/pkg/set
-@dirrm lib/m3/pkg/realgeometry/FreeBSD2
-@dirrm lib/m3/pkg/realgeometry
-@dirrm lib/m3/pkg/parseparams/FreeBSD2
-@dirrm lib/m3/pkg/parseparams
-@dirrm lib/m3/pkg/m3tools/FreeBSD2
-@dirrm lib/m3/pkg/m3tools
-@dirrm lib/m3/pkg/m3core/FreeBSD2
-@dirrm lib/m3/pkg/m3core
-@dirrm lib/m3/pkg/libm3/FreeBSD2
-@dirrm lib/m3/pkg/libm3
-@dirrm lib/m3/pkg/jvideo/FreeBSD2
-@dirrm lib/m3/pkg/jvideo
-@dirrm lib/m3/pkg/images/FreeBSD2
-@dirrm lib/m3/pkg/images
-@dirrm lib/m3/pkg/formsvbtpixmaps/FreeBSD2
-@dirrm lib/m3/pkg/formsvbtpixmaps
-@dirrm lib/m3/pkg/formsvbt/FreeBSD2
-@dirrm lib/m3/pkg/formsvbt
-@dirrm lib/m3/pkg/digraph/FreeBSD2
-@dirrm lib/m3/pkg/digraph
-@dirrm lib/m3/pkg/X11R4/FreeBSD2
-@dirrm lib/m3/pkg/X11R4
-@dirrm lib/m3/pkg
-@dirrm lib/m3/FreeBSD2
-@dirrm lib/m3
diff --git a/lang/modula-3-lib/pkg-plist.noX11 b/lang/modula-3-lib/pkg-plist.noX11
deleted file mode 100644
index 79664f815d94..000000000000
--- a/lang/modula-3-lib/pkg-plist.noX11
+++ /dev/null
@@ -1,56 +0,0 @@
-etc/rc.d/50.m3.sh
-lib/m3/FreeBSD2/libDiGraph.so
-lib/m3/FreeBSD2/libGeometry.so
-lib/m3/FreeBSD2/libTempFiles.so
-lib/m3/FreeBSD2/libm3.so
-lib/m3/FreeBSD2/libm3core.so
-lib/m3/FreeBSD2/libm3parseparams.so
-lib/m3/FreeBSD2/libm3tcp.so
-lib/m3/FreeBSD2/libm3tools.so
-lib/m3/FreeBSD2/libset.so
-lib/m3/FreeBSD2/libtable-list.so
-lib/m3/FreeBSD2/libtcpextras.so
-lib/m3/FreeBSD2/libweb.so
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.so
-lib/m3/pkg/libm3/FreeBSD2/libm3.so
-lib/m3/pkg/m3core/FreeBSD2/libm3core.so
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.so
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.so
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.so
-lib/m3/pkg/set/FreeBSD2/libset.so
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.so
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.so
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.so
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.so
-lib/m3/pkg/web/FreeBSD2/libweb.so
-share/modula-3-lib/COPYRIGHT
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %D/lib/m3/FreeBSD2
-@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
-@dirrm share/modula-3-lib
-@dirrm lib/m3/pkg/web/FreeBSD2
-@dirrm lib/m3/pkg/web
-@dirrm lib/m3/pkg/tempfiles/FreeBSD2
-@dirrm lib/m3/pkg/tempfiles
-@dirrm lib/m3/pkg/tcpextras/FreeBSD2
-@dirrm lib/m3/pkg/tcpextras
-@dirrm lib/m3/pkg/tcp/FreeBSD2
-@dirrm lib/m3/pkg/tcp
-@dirrm lib/m3/pkg/table-list/FreeBSD2
-@dirrm lib/m3/pkg/table-list
-@dirrm lib/m3/pkg/set/FreeBSD2
-@dirrm lib/m3/pkg/set
-@dirrm lib/m3/pkg/realgeometry/FreeBSD2
-@dirrm lib/m3/pkg/realgeometry
-@dirrm lib/m3/pkg/parseparams/FreeBSD2
-@dirrm lib/m3/pkg/parseparams
-@dirrm lib/m3/pkg/m3tools/FreeBSD2
-@dirrm lib/m3/pkg/m3tools
-@dirrm lib/m3/pkg/m3core/FreeBSD2
-@dirrm lib/m3/pkg/m3core
-@dirrm lib/m3/pkg/libm3/FreeBSD2
-@dirrm lib/m3/pkg/libm3
-@dirrm lib/m3/pkg/digraph/FreeBSD2
-@dirrm lib/m3/pkg/digraph
-@dirrm lib/m3/pkg
-@dirrm lib/m3/FreeBSD2
-@dirrm lib/m3
diff --git a/lang/modula-3-lib/scripts/check_files b/lang/modula-3-lib/scripts/check_files
deleted file mode 100644
index 2c120f417479..000000000000
--- a/lang/modula-3-lib/scripts/check_files
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh
-#
-# check_files listfile m3dir sysdir
-#
-# The listfile must contain a list of filenames, one per line. It is read,
-# and all leading instances of m3dir are replaced with sysdir. If all
-# the resulting files exist and are readable, then sysdir is echoed to
-# the standard output. Otherwise, nothing is echoed. In any event, the
-# exit status is successful.
-
-if [ $# -ne 3 ]; then
- echo "Usage: $0 listfile m3dir sysdir" >&2
- exit 1
-fi
-
-listfile=$1
-m3dir=$2
-sysdir=$3
-
-result=${sysdir}
-for i in $(sed "s,^${m3dir},${sysdir}," ${listfile}); do
- if [ ! -r $i ]; then
- result=
- break
- fi
-done
-
-echo ${result}
-exit 0
diff --git a/lang/modula-3-lib/scripts/configure b/lang/modula-3-lib/scripts/configure
deleted file mode 100644
index 7360b086b391..000000000000
--- a/lang/modula-3-lib/scripts/configure
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh
-#
-# $FreeBSD$
-
-umask 022
-
-temp_prefix=${WRKSRC}/installed
-plist_src=${PKGDIR}/${PLIST##*/}
-template_src=${FILESDIR}/FreeBSD2.${PORTOBJFORMAT}
-template="${WRKSRC}/m3/m3build/templates/FreeBSD2"
-
-if [ "${PORTOBJFORMAT}" = aout -a -f /usr/lib/aout/crt0.o ]; then
- crt0=/usr/lib/aout/crt0.o
-else
- crt0=/usr/lib/crt0.o
-fi
-if [ "${PORTOBJFORMAT}" = aout -a -f /usr/lib/aout/libgcc.a ]; then
- libgcc=/usr/lib/aout/libgcc.a
-else
- libgcc=/usr/lib/libgcc.a
-fi
-
-# Copy the appropriate m3build template file into place, patching up
-# various pathnames in the process.
-rm -f ${template}
-sed -e "s|/usr/local/|${temp_prefix}/|g" \
- -e "s|!PREFIX!|${PREFIX}|g" \
- -e "s|/usr/lib/crt0\.o|${crt0}|g" \
- -e "s|/usr/lib/libgcc\.a|${libgcc}|g" \
- ${template_src} >${template}
-
-# Our PLIST templates contain only the "libfoo.so" names for shared
-# libraries. Here we add the "libfoo.so.${MAJOR}" names. This saves
-# us from having to fix the PLIST every time we bump the version number.
-sed -e "/\.so\$/p" \
- -e "s/\.so\$/&.${MAJOR}/" \
- ${plist_src} > ${PLIST}
-
-# Also generate a "PLIST.real" file which includes the minor version
-# numbers on shared library names if the object format is a.out.
-if [ "${PORTOBJFORMAT}" = aout ]; then
- sed -e "s/\.so\.${MAJOR}\$/&.0/" ${PLIST} > ${PLIST}.real
-else
- cp ${PLIST} ${PLIST}.real
-fi
diff --git a/lang/modula-3-lib/scripts/copy_files b/lang/modula-3-lib/scripts/copy_files
deleted file mode 100644
index 4c24d4954a2a..000000000000
--- a/lang/modula-3-lib/scripts/copy_files
+++ /dev/null
@@ -1,16 +0,0 @@
-#! /bin/sh
-#
-# copy_files listfile m3dir sysdir wrkdir
-
-if [ $# -ne 4 ]; then
- echo "Usage: $0 listfile m3dir sysdir wrkdir" >&2
- exit 1
-fi
-
-listfile=$1
-m3dir=$2
-sysdir=$3
-wrkdir=$4
-
-sed "s,^${m3dir}/,," ${listfile} |\
- (cd ${sysdir}; cpio -pdmu ${wrkdir}/${m3dir})
diff --git a/lang/modula-3/Makefile b/lang/modula-3/Makefile
deleted file mode 100644
index 1d9de1cc5915..000000000000
--- a/lang/modula-3/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# New ports collection makefile for: modula-3
-# Date created: 18 Mar 1996
-# Whom: John Polstra <jdp@polstra.com>
-#
-# $FreeBSD$
-#
-
-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>
diff --git a/lang/modula-3/pkg-comment b/lang/modula-3/pkg-comment
deleted file mode 100644
index 764bda29bc12..000000000000
--- a/lang/modula-3/pkg-comment
+++ /dev/null
@@ -1 +0,0 @@
-Modula-3 compiler and libraries from DEC Systems Research Center
diff --git a/lang/modula-3/pkg-descr b/lang/modula-3/pkg-descr
deleted file mode 100644
index 9ce375603121..000000000000
--- a/lang/modula-3/pkg-descr
+++ /dev/null
@@ -1,43 +0,0 @@
-This is a port of Modula-3 release 3.6, from DEC Systems Research
-Center. Modula-3 is a modern compiled programming language designed
-for systems programming as well as large applications. A wealth
-of information about Modula-3 can be found at:
-
-WWW: http://www.research.digital.com/SRC/modula-3/html/home.html
-
-This port includes patches for a number of bugs found since the
-release of DEC SRC's version 3.6. To save space and time, only
-the most commonly-used subset of the DEC distribution is built and
-installed by this port. That includes the compiler, the standard
-libraries, and the graphics packages, but not the (huge) separate
-projects such as netobj, zeus, obliq, and visual obliq. Specifically,
-the following packages are included:
-
- X11R4 m3browser mtex showthread
- coverage m3build parseparams src
- digraph m3bundle pp table-list
- formsedit m3core quake tcp
- formsvbt m3front realgeometry tcpextras
- formsvbtpixmaps m3linker recordheap tempfiles
- images m3middle replayheap ui
- jvideo m3tohtml set vbtkit
- libm3 m3tools showheap videovbt
- m3 m3totex shownew web
-
-To reduce download times, this port uses custom distfiles containing
-only the packages listed above. Also, I have updated the code
-generator so that it is based on gcc-2.7.2.1. If the gcc sources
-are found on the system, the port will use the system sources
-instead of downloading them. Altogether, these changes reduce the
-size of the necessary distfiles from about 16 MB down to 2.7-4.5
-MB, depending on what is already installed on the system.
-
-If desired, the packages not included here can be built directly
-from the DEC distribution, in:
-
- ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.6/m3.tar.gz
-
-Please see "${PREFIX}/share/modula-3/COPYRIGHT" for the DEC copyright
-notice.
-
-John Polstra <jdp@polstra.com>
diff --git a/lang/modula-3/pkg-plist b/lang/modula-3/pkg-plist
deleted file mode 100644
index b9b3e03261f4..000000000000
--- a/lang/modula-3/pkg-plist
+++ /dev/null
@@ -1,798 +0,0 @@
-bin/analyze_coverage
-bin/formsedit
-bin/m3browser
-bin/m3build
-bin/m3bundle
-bin/m3pp
-bin/m3ship
-bin/m3tohtml
-bin/m3totex
-bin/m3where
-bin/quake
-bin/recordheap
-bin/replayheap
-bin/showheap
-bin/shownew
-bin/showthread
-lib/m3/FreeBSD2/libm3configvars.so
-lib/m3/FreeBSD2/m3
-lib/m3/FreeBSD2/m3cgc1
-lib/m3/FreeBSD2/m3mkdir
-lib/m3/FreeBSD2/report_coverage.o
-lib/m3/pkg/X11R4/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/X11R4/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/X11R4/FreeBSD2/.M3WEB
-lib/m3/pkg/X11R4/FreeBSD2/libm3X11R4.a
-lib/m3/pkg/X11R4/FreeBSD2/libm3X11R4.m3x
-lib/m3/pkg/X11R4/src/Common/X.i3
-lib/m3/pkg/X11R4/src/Common/Xatom.i3
-lib/m3/pkg/X11R4/src/Common/Xaw.i3
-lib/m3/pkg/X11R4/src/Common/Xct.i3
-lib/m3/pkg/X11R4/src/Common/Xmbuf.i3
-lib/m3/pkg/X11R4/src/Common/Xmu.i3
-lib/m3/pkg/X11R4/src/Common/Xrm.i3
-lib/m3/pkg/X11R4/src/Common/Xt.i3
-lib/m3/pkg/X11R4/src/Common/XtC.i3
-lib/m3/pkg/X11R4/src/Common/XtE.i3
-lib/m3/pkg/X11R4/src/Common/XtN.i3
-lib/m3/pkg/X11R4/src/Common/XtR.i3
-lib/m3/pkg/X11R4/src/Vanilla/XMachine.i3
-lib/m3/pkg/digraph/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/digraph/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/digraph/FreeBSD2/.M3WEB
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.a
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.m3x
-lib/m3/pkg/digraph/src/DiGraph.ig
-lib/m3/pkg/digraph/src/DiGraph.mg
-lib/m3/pkg/digraph/src/NullEdgeType.i3
-lib/m3/pkg/digraph/src/POEdgeType.i3
-lib/m3/pkg/digraph/src/digraph.tmpl
-lib/m3/pkg/formsedit/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/formsedit/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/formsedit/FreeBSD2/.M3WEB
-lib/m3/pkg/formsedit/FreeBSD2/formseditBundle.i3
-lib/m3/pkg/formsedit/src/FormsEditVBT.i3
-lib/m3/pkg/formsvbt/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/formsvbt/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/formsvbt/FreeBSD2/.M3WEB
-lib/m3/pkg/formsvbt/FreeBSD2/libm3formsvbt.a
-lib/m3/pkg/formsvbt/FreeBSD2/libm3formsvbt.m3x
-lib/m3/pkg/formsvbt/src/FVRuntime.i3
-lib/m3/pkg/formsvbt/src/FVTypes.i3
-lib/m3/pkg/formsvbt/src/FormsVBT.i3
-lib/m3/pkg/formsvbt/src/Macro.i3
-lib/m3/pkg/formsvbt/src/Manpage.i3
-lib/m3/pkg/formsvbt/src/RefListUtils.i3
-lib/m3/pkg/formsvbt/src/StubImageRd.i3
-lib/m3/pkg/formsvbt/src/StubImageVBT.i3
-lib/m3/pkg/formsvbt/src/StubImages.i3
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/.M3WEB
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/FormsVBTPixmapsBundle.i3
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/libm3formsvbtpixmaps.a
-lib/m3/pkg/formsvbtpixmaps/FreeBSD2/libm3formsvbtpixmaps.m3x
-lib/m3/pkg/images/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/images/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/images/FreeBSD2/.M3WEB
-lib/m3/pkg/images/FreeBSD2/ImagesBundle.i3
-lib/m3/pkg/images/FreeBSD2/libImages.a
-lib/m3/pkg/images/FreeBSD2/libImages.m3x
-lib/m3/pkg/images/src/ImageRd.i3
-lib/m3/pkg/images/src/ImageVBT.i3
-lib/m3/pkg/images/src/Images.i3
-lib/m3/pkg/jvideo/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/jvideo/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/jvideo/FreeBSD2/.M3WEB
-lib/m3/pkg/jvideo/FreeBSD2/libjvideo.a
-lib/m3/pkg/jvideo/FreeBSD2/libjvideo.m3x
-lib/m3/pkg/jvideo/src/POSIX/JVAudio.i3
-lib/m3/pkg/jvideo/src/POSIX/JVBuffer.i3
-lib/m3/pkg/jvideo/src/POSIX/JVConverter.i3
-lib/m3/pkg/jvideo/src/POSIX/JVConverterF.i3
-lib/m3/pkg/jvideo/src/POSIX/JVDecomp.i3
-lib/m3/pkg/jvideo/src/POSIX/JVDecompPool.i3
-lib/m3/pkg/jvideo/src/POSIX/JVFromDecomp.i3
-lib/m3/pkg/jvideo/src/POSIX/JVFromSource.i3
-lib/m3/pkg/jvideo/src/POSIX/JVSink.i3
-lib/m3/pkg/jvideo/src/POSIX/JVSinkPool.i3
-lib/m3/pkg/jvideo/src/POSIX/Jv.i3
-lib/m3/pkg/jvideo/src/POSIX/Jva.i3
-lib/m3/pkg/jvideo/src/POSIX/JvaProtocol.i3
-lib/m3/pkg/jvideo/src/POSIX/Jvs.i3
-lib/m3/pkg/jvideo/src/POSIX/JvsBuffer.i3
-lib/m3/pkg/jvideo/src/POSIX/JvsProtocol.i3
-lib/m3/pkg/jvideo/src/POSIX/jvprotocol.i3
-lib/m3/pkg/libm3/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/libm3/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/libm3/FreeBSD2/.M3WEB
-lib/m3/pkg/libm3/FreeBSD2/AtomAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomList.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntArraySort.i3
-lib/m3/pkg/libm3/FreeBSD2/IntAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntList.i3
-lib/m3/pkg/libm3/FreeBSD2/IntListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/IntPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/IntPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/IntRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/IntSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/IntTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/LongFloatExtras.i3
-lib/m3/pkg/libm3/FreeBSD2/LongSqrt.i3
-lib/m3/pkg/libm3/FreeBSD2/M3Config.i3
-lib/m3/pkg/libm3/FreeBSD2/RealFloatExtras.i3
-lib/m3/pkg/libm3/FreeBSD2/RealSqrt.i3
-lib/m3/pkg/libm3/FreeBSD2/RefAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefList.i3
-lib/m3/pkg/libm3/FreeBSD2/RefListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/RefPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/RefPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/RefRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/RefSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/RefTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextArraySort.i3
-lib/m3/pkg/libm3/FreeBSD2/TextAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextList.i3
-lib/m3/pkg/libm3/FreeBSD2/TextListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/TextPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/TextPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/TextRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/TextSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/TextTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/libm3.a
-lib/m3/pkg/libm3/FreeBSD2/libm3.m3x
-lib/m3/pkg/libm3/src/arith/POSIX/Math.i3
-lib/m3/pkg/libm3/src/atom/Atom.i3
-lib/m3/pkg/libm3/src/bundleintf/Bundle.i3
-lib/m3/pkg/libm3/src/bundleintf/BundleRep.i3
-lib/m3/pkg/libm3/src/etimer/ETimer.i3
-lib/m3/pkg/libm3/src/fmtlex/Fmt.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBuf.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBufF.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBufTest.i3
-lib/m3/pkg/libm3/src/fmtlex/Lex.i3
-lib/m3/pkg/libm3/src/fmtlex/OldFmt.i3
-lib/m3/pkg/libm3/src/fmtlex/OldLex.i3
-lib/m3/pkg/libm3/src/fmtlex/OldScan.i3
-lib/m3/pkg/libm3/src/fmtlex/Scan.i3
-lib/m3/pkg/libm3/src/formatter/Formatter.i3
-lib/m3/pkg/libm3/src/geometry/Axis.i3
-lib/m3/pkg/libm3/src/geometry/Interval.i3
-lib/m3/pkg/libm3/src/geometry/Path.i3
-lib/m3/pkg/libm3/src/geometry/PathPrivate.i3
-lib/m3/pkg/libm3/src/geometry/Point.i3
-lib/m3/pkg/libm3/src/geometry/PolyRegion.i3
-lib/m3/pkg/libm3/src/geometry/Rect.i3
-lib/m3/pkg/libm3/src/geometry/Region.i3
-lib/m3/pkg/libm3/src/geometry/RegionRep.i3
-lib/m3/pkg/libm3/src/geometry/Transform.i3
-lib/m3/pkg/libm3/src/geometry/Trapezoid.i3
-lib/m3/pkg/libm3/src/list/List.ig
-lib/m3/pkg/libm3/src/list/List.mg
-lib/m3/pkg/libm3/src/list/ListSort.ig
-lib/m3/pkg/libm3/src/list/ListSort.mg
-lib/m3/pkg/libm3/src/list/list.tmpl
-lib/m3/pkg/libm3/src/os/Common/FS.i3
-lib/m3/pkg/libm3/src/os/Common/File.i3
-lib/m3/pkg/libm3/src/os/Common/OSError.i3
-lib/m3/pkg/libm3/src/os/Common/Pathname.i3
-lib/m3/pkg/libm3/src/os/Common/Pipe.i3
-lib/m3/pkg/libm3/src/os/Common/Process.i3
-lib/m3/pkg/libm3/src/os/Common/RegularFile.i3
-lib/m3/pkg/libm3/src/os/Common/Terminal.i3
-lib/m3/pkg/libm3/src/os/POSIX/FilePosix.i3
-lib/m3/pkg/libm3/src/os/POSIX/OSErrorPosix.i3
-lib/m3/pkg/libm3/src/params/Env.i3
-lib/m3/pkg/libm3/src/params/Params.i3
-lib/m3/pkg/libm3/src/perftool/Common/LowPerfTool.i3
-lib/m3/pkg/libm3/src/perftool/Common/PerfComm.ig
-lib/m3/pkg/libm3/src/perftool/Common/PerfComm.mg
-lib/m3/pkg/libm3/src/perftool/Common/PerfTool.i3
-lib/m3/pkg/libm3/src/pickle/Pickle.i3
-lib/m3/pkg/libm3/src/pqueue/PQueue.ig
-lib/m3/pkg/libm3/src/pqueue/PQueue.mg
-lib/m3/pkg/libm3/src/pqueue/PQueueRep.ig
-lib/m3/pkg/libm3/src/pqueue/pqueue.tmpl
-lib/m3/pkg/libm3/src/property/MProperty.i3
-lib/m3/pkg/libm3/src/property/MPropertyF.i3
-lib/m3/pkg/libm3/src/property/Property.i3
-lib/m3/pkg/libm3/src/property/PropertyF.i3
-lib/m3/pkg/libm3/src/property/PropertyV.i3
-lib/m3/pkg/libm3/src/random/Common/Random.i3
-lib/m3/pkg/libm3/src/random/Common/RandomPerm.i3
-lib/m3/pkg/libm3/src/random/Common/RandomReal.i3
-lib/m3/pkg/libm3/src/rw/Common/AutoFlushWr.i3
-lib/m3/pkg/libm3/src/rw/Common/FileRd.i3
-lib/m3/pkg/libm3/src/rw/Common/FileWr.i3
-lib/m3/pkg/libm3/src/rw/Common/IO.i3
-lib/m3/pkg/libm3/src/rw/Common/MsgRd.i3
-lib/m3/pkg/libm3/src/rw/Common/MsgWr.i3
-lib/m3/pkg/libm3/src/rw/Common/NullRd.i3
-lib/m3/pkg/libm3/src/rw/Common/NullWr.i3
-lib/m3/pkg/libm3/src/rw/Common/Rd.i3
-lib/m3/pkg/libm3/src/rw/Common/RdClass.i3
-lib/m3/pkg/libm3/src/rw/Common/RdCopy.i3
-lib/m3/pkg/libm3/src/rw/Common/RdUtils.i3
-lib/m3/pkg/libm3/src/rw/Common/Stdio.i3
-lib/m3/pkg/libm3/src/rw/Common/TextRd.i3
-lib/m3/pkg/libm3/src/rw/Common/TextWr.i3
-lib/m3/pkg/libm3/src/rw/Common/UnsafeRd.i3
-lib/m3/pkg/libm3/src/rw/Common/UnsafeWr.i3
-lib/m3/pkg/libm3/src/rw/Common/Wr.i3
-lib/m3/pkg/libm3/src/rw/Common/WrClass.i3
-lib/m3/pkg/libm3/src/sequence/Sequence.ig
-lib/m3/pkg/libm3/src/sequence/Sequence.mg
-lib/m3/pkg/libm3/src/sequence/SequenceRep.ig
-lib/m3/pkg/libm3/src/sequence/sequence.tmpl
-lib/m3/pkg/libm3/src/sort/ArraySort.ig
-lib/m3/pkg/libm3/src/sort/ArraySort.mg
-lib/m3/pkg/libm3/src/sort/arraysort.tmpl
-lib/m3/pkg/libm3/src/sortedtable/SortedTable.ig
-lib/m3/pkg/libm3/src/sortedtable/SortedTable.mg
-lib/m3/pkg/libm3/src/sortedtable/sortedtable.tmpl
-lib/m3/pkg/libm3/src/sqrt/FloatExtras.ig
-lib/m3/pkg/libm3/src/sqrt/FloatExtras.mg
-lib/m3/pkg/libm3/src/sqrt/Sqrt.ig
-lib/m3/pkg/libm3/src/sqrt/Sqrt.mg
-lib/m3/pkg/libm3/src/statistics/Stat.i3
-lib/m3/pkg/libm3/src/sx/Sx.i3
-lib/m3/pkg/libm3/src/table/Table.ig
-lib/m3/pkg/libm3/src/table/Table.mg
-lib/m3/pkg/libm3/src/table/table.tmpl
-lib/m3/pkg/libm3/src/types/ASCII.i3
-lib/m3/pkg/libm3/src/types/Boolean.i3
-lib/m3/pkg/libm3/src/types/Char.i3
-lib/m3/pkg/libm3/src/types/Int32.i3
-lib/m3/pkg/libm3/src/types/Integer.i3
-lib/m3/pkg/libm3/src/types/LongrealType.i3
-lib/m3/pkg/libm3/src/types/RealType.i3
-lib/m3/pkg/libm3/src/types/Refany.i3
-lib/m3/pkg/libm3/src/uid/Common/Capability.i3
-lib/m3/pkg/libm3/src/uid/Common/MachineID.i3
-lib/m3/pkg/libm3/src/uid/Common/Swap.i3
-lib/m3/pkg/libm3/src/uid/Common/TimeStamp.i3
-lib/m3/pkg/libm3/src/uid/Common/TimeStampRep.i3
-lib/m3/pkg/m3browser/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3browser/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3browser/FreeBSD2/.M3WEB
-lib/m3/pkg/m3browser/src/Buf.i3
-lib/m3/pkg/m3browser/src/CMarkUp.i3
-lib/m3/pkg/m3browser/src/CharMap.i3
-lib/m3/pkg/m3browser/src/ErrLog.i3
-lib/m3/pkg/m3browser/src/ID.i3
-lib/m3/pkg/m3browser/src/M3MarkUp.i3
-lib/m3/pkg/m3browser/src/MarkUp.i3
-lib/m3/pkg/m3browser/src/OS.i3
-lib/m3/pkg/m3browser/src/TCPPeer.i3
-lib/m3/pkg/m3browser/src/TCPServer.i3
-lib/m3/pkg/m3browser/src/Wx.i3
-lib/m3/pkg/m3browser/src/XFormat.i3
-lib/m3/pkg/m3build/templates/CLEANUP
-lib/m3/pkg/m3build/templates/COMMON
-lib/m3/pkg/m3build/templates/COMMON.BOOT
-lib/m3/pkg/m3build/templates/FreeBSD2
-lib/m3/pkg/m3build/templates/PLATFORMS
-lib/m3/pkg/m3build/templates/POSIX
-lib/m3/pkg/m3bundle/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3bundle/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3bundle/FreeBSD2/.M3WEB
-lib/m3/pkg/m3configvars/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3configvars/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3configvars/FreeBSD2/.M3WEB
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.a
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.m3x
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.so
-lib/m3/pkg/m3configvars/src/M3ConfigVars.i3
-lib/m3/pkg/m3core/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3core/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3core/FreeBSD2/.M3WEB
-lib/m3/pkg/m3core/FreeBSD2/libm3core.a
-lib/m3/pkg/m3core/FreeBSD2/libm3core.m3x
-lib/m3/pkg/m3core/src/C/32BITS/BasicCtypes.i3
-lib/m3/pkg/m3core/src/C/Common/Cerrno.i3
-lib/m3/pkg/m3core/src/C/Common/Cstdarg.i3
-lib/m3/pkg/m3core/src/C/Common/Cstddef.i3
-lib/m3/pkg/m3core/src/C/Common/Cstdlib.i3
-lib/m3/pkg/m3core/src/C/Common/Ctypes.i3
-lib/m3/pkg/m3core/src/C/Common/M3toC.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Csetjmp.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Csignal.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Cstdio.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Cstring.i3
-lib/m3/pkg/m3core/src/Csupport/Common/dtoa.h
-lib/m3/pkg/m3core/src/convert/CConvert.i3
-lib/m3/pkg/m3core/src/convert/Convert.i3
-lib/m3/pkg/m3core/src/fingerprint/Fingerprint.i3
-lib/m3/pkg/m3core/src/fingerprint/Poly.i3
-lib/m3/pkg/m3core/src/fingerprint/PolyBasis.i3
-lib/m3/pkg/m3core/src/float/Common/DragonInt.i3
-lib/m3/pkg/m3core/src/float/Common/DragonT.i3
-lib/m3/pkg/m3core/src/float/Common/ExtendedFloat.i3
-lib/m3/pkg/m3core/src/float/Common/Float.ig
-lib/m3/pkg/m3core/src/float/Common/IEEESpecial.i3
-lib/m3/pkg/m3core/src/float/Common/LongFloat.i3
-lib/m3/pkg/m3core/src/float/Common/RealFloat.i3
-lib/m3/pkg/m3core/src/float/IEEE-default/FPU.i3
-lib/m3/pkg/m3core/src/float/IEEE-default/FloatMode.i3
-lib/m3/pkg/m3core/src/float/IEEE-le/LongRealRep.i3
-lib/m3/pkg/m3core/src/float/IEEE-le/RealRep.i3
-lib/m3/pkg/m3core/src/float/IEEE/Extended.i3
-lib/m3/pkg/m3core/src/float/IEEE/LongReal.i3
-lib/m3/pkg/m3core/src/float/IEEE/Real.i3
-lib/m3/pkg/m3core/src/main/Main.i3
-lib/m3/pkg/m3core/src/runtime/FreeBSD2/RTMachine.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RT0u.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RTPerfTool.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RTThread.i3
-lib/m3/pkg/m3core/src/runtime/common/RT0.i3
-lib/m3/pkg/m3core/src/runtime/common/RTAllocStats.i3
-lib/m3/pkg/m3core/src/runtime/common/RTAllocator.i3
-lib/m3/pkg/m3core/src/runtime/common/RTArgs.i3
-lib/m3/pkg/m3core/src/runtime/common/RTCollector.i3
-lib/m3/pkg/m3core/src/runtime/common/RTCollectorSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTException.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapDebug.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapDep.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapEvent.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapInfo.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapMap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapRep.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapStats.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHooks.i3
-lib/m3/pkg/m3core/src/runtime/common/RTIO.i3
-lib/m3/pkg/m3core/src/runtime/common/RTLinker.i3
-lib/m3/pkg/m3core/src/runtime/common/RTMapOp.i3
-lib/m3/pkg/m3core/src/runtime/common/RTMisc.i3
-lib/m3/pkg/m3core/src/runtime/common/RTModule.i3
-lib/m3/pkg/m3core/src/runtime/common/RTOS.i3
-lib/m3/pkg/m3core/src/runtime/common/RTPacking.i3
-lib/m3/pkg/m3core/src/runtime/common/RTParams.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcedure.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcedureSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcess.i3
-lib/m3/pkg/m3core/src/runtime/common/RTSignal.i3
-lib/m3/pkg/m3core/src/runtime/common/RTStack.i3
-lib/m3/pkg/m3core/src/runtime/common/RTThreadInit.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTipe.i3
-lib/m3/pkg/m3core/src/runtime/common/RTType.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeFP.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeMap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTWeakRef.i3
-lib/m3/pkg/m3core/src/runtime/common/RTutils.i3
-lib/m3/pkg/m3core/src/runtime/ex_frame/RTExRep.i3
-lib/m3/pkg/m3core/src/text/Text.i3
-lib/m3/pkg/m3core/src/text/TextConv.i3
-lib/m3/pkg/m3core/src/text/TextF.i3
-lib/m3/pkg/m3core/src/thread/Common/Scheduler.i3
-lib/m3/pkg/m3core/src/thread/Common/Thread.i3
-lib/m3/pkg/m3core/src/thread/POSIX/SchedulerPosix.i3
-lib/m3/pkg/m3core/src/thread/POSIX/ThreadEvent.i3
-lib/m3/pkg/m3core/src/thread/POSIX/ThreadF.i3
-lib/m3/pkg/m3core/src/time/Common/Date.i3
-lib/m3/pkg/m3core/src/time/Common/FmtTime.i3
-lib/m3/pkg/m3core/src/time/Common/Tick.i3
-lib/m3/pkg/m3core/src/time/Common/Time.i3
-lib/m3/pkg/m3core/src/time/POSIX/TimePosix.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Udir.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uerror.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uexec.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ugrp.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uin.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uipc.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Umman.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Umsg.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Unetdb.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Unix.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uprocess.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Upwd.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uresource.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usem.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ushm.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usignal.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usocket.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ustat.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usyslog.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Utime.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Utypes.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uugid.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uuio.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uutmp.i3
-lib/m3/pkg/m3core/src/weakref/WeakRef.i3
-lib/m3/pkg/m3core/src/word/Word.i3
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3WEB
-lib/m3/pkg/m3tohtml/src/DBRd.i3
-lib/m3/pkg/m3tohtml/src/DBWr.i3
-lib/m3/pkg/m3tohtml/src/FilePath.i3
-lib/m3/pkg/m3tohtml/src/HTMLDir.i3
-lib/m3/pkg/m3tohtml/src/M3DB.i3
-lib/m3/pkg/m3tohtml/src/M3MarkUp.i3
-lib/m3/pkg/m3tohtml/src/MarkUp.i3
-lib/m3/pkg/m3tohtml/src/TextDB.i3
-lib/m3/pkg/m3tools/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3tools/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3tools/FreeBSD2/.M3WEB
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.a
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.m3x
-lib/m3/pkg/m3tools/src/M3ID.i3
-lib/m3/pkg/m3tools/src/M3Scanner.i3
-lib/m3/pkg/m3tools/src/M3Token.i3
-lib/m3/pkg/m3totex/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3totex/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3totex/FreeBSD2/.M3WEB
-lib/m3/pkg/m3totex/FreeBSD2/B.i3
-lib/m3/pkg/mtex/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/mtex/src/mtex.tmpl
-lib/m3/pkg/parseparams/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/parseparams/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/parseparams/FreeBSD2/.M3WEB
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.a
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.m3x
-lib/m3/pkg/parseparams/src/ParseParams.i3
-lib/m3/pkg/pp/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/pp/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/pp/FreeBSD2/.M3WEB
-lib/m3/pkg/pp/src/ExceptionArg.i3
-lib/m3/pkg/pp/src/FBE.i3
-lib/m3/pkg/pp/src/FBEPostScript.i3
-lib/m3/pkg/pp/src/FBEWr.i3
-lib/m3/pkg/pp/src/NewFormatter.i3
-lib/m3/pkg/pp/src/Parse.i3
-lib/m3/pkg/realgeometry/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/realgeometry/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/realgeometry/FreeBSD2/.M3WEB
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.a
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.m3x
-lib/m3/pkg/realgeometry/src/PathExtra.i3
-lib/m3/pkg/realgeometry/src/RealInterval.i3
-lib/m3/pkg/realgeometry/src/RealPath.i3
-lib/m3/pkg/realgeometry/src/RealPoint.i3
-lib/m3/pkg/realgeometry/src/RealRect.i3
-lib/m3/pkg/realgeometry/src/RealTransform.i3
-lib/m3/pkg/replayheap/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/replayheap/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/replayheap/FreeBSD2/.M3WEB
-lib/m3/pkg/set/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/set/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/set/FreeBSD2/.M3WEB
-lib/m3/pkg/set/FreeBSD2/AtomSet.i3
-lib/m3/pkg/set/FreeBSD2/AtomSetDef.i3
-lib/m3/pkg/set/FreeBSD2/AtomSetList.i3
-lib/m3/pkg/set/FreeBSD2/IntSet.i3
-lib/m3/pkg/set/FreeBSD2/IntSetDef.i3
-lib/m3/pkg/set/FreeBSD2/IntSetList.i3
-lib/m3/pkg/set/FreeBSD2/RefSet.i3
-lib/m3/pkg/set/FreeBSD2/RefSetList.i3
-lib/m3/pkg/set/FreeBSD2/TextSet.i3
-lib/m3/pkg/set/FreeBSD2/TextSetDef.i3
-lib/m3/pkg/set/FreeBSD2/TextSetList.i3
-lib/m3/pkg/set/FreeBSD2/libset.a
-lib/m3/pkg/set/FreeBSD2/libset.m3x
-lib/m3/pkg/set/src/Set.ig
-lib/m3/pkg/set/src/Set.mg
-lib/m3/pkg/set/src/SetDef.ig
-lib/m3/pkg/set/src/SetDef.mg
-lib/m3/pkg/set/src/SetList.ig
-lib/m3/pkg/set/src/SetList.mg
-lib/m3/pkg/set/src/set.tmpl
-lib/m3/pkg/showheap/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/showheap/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/showheap/FreeBSD2/.M3WEB
-lib/m3/pkg/shownew/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/shownew/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/shownew/FreeBSD2/.M3WEB
-lib/m3/pkg/shownew/src/ZIO.i3
-lib/m3/pkg/showthread/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/showthread/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/showthread/FreeBSD2/.M3WEB
-lib/m3/pkg/table-list/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/table-list/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/table-list/FreeBSD2/.M3WEB
-lib/m3/pkg/table-list/FreeBSD2/AtomAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/AtomRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/AtomTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.a
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.m3x
-lib/m3/pkg/table-list/src/TableList.ig
-lib/m3/pkg/table-list/src/TableList.mg
-lib/m3/pkg/table-list/src/table-list.tmpl
-lib/m3/pkg/tcp/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tcp/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tcp/FreeBSD2/.M3WEB
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.a
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.m3x
-lib/m3/pkg/tcp/src/POSIX/Herrno.i3
-lib/m3/pkg/tcp/src/POSIX/TCPHack.i3
-lib/m3/pkg/tcp/src/POSIX/TCPPosix.i3
-lib/m3/pkg/tcp/src/common/ConnFD.i3
-lib/m3/pkg/tcp/src/common/ConnMsgRW.i3
-lib/m3/pkg/tcp/src/common/ConnRW.i3
-lib/m3/pkg/tcp/src/common/IP.i3
-lib/m3/pkg/tcp/src/common/TCP.i3
-lib/m3/pkg/tcp/src/common/TCPSpecial.i3
-lib/m3/pkg/tcpextras/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tcpextras/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tcpextras/FreeBSD2/.M3WEB
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.a
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.m3x
-lib/m3/pkg/tcpextras/src/TCPExtras.i3
-lib/m3/pkg/tcpextras/src/TCPPeer.i3
-lib/m3/pkg/tempfiles/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tempfiles/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tempfiles/FreeBSD2/.M3WEB
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.a
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.m3x
-lib/m3/pkg/tempfiles/src/TempFiles.i3
-lib/m3/pkg/ui/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/ui/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/ui/FreeBSD2/.M3WEB
-lib/m3/pkg/ui/FreeBSD2/ComplSeq.i3
-lib/m3/pkg/ui/FreeBSD2/ComplSeqRep.i3
-lib/m3/pkg/ui/FreeBSD2/CompletionSeq.i3
-lib/m3/pkg/ui/FreeBSD2/CompletionSeqRep.i3
-lib/m3/pkg/ui/FreeBSD2/STypeMapSeq.i3
-lib/m3/pkg/ui/FreeBSD2/STypeMapSeqRep.i3
-lib/m3/pkg/ui/FreeBSD2/libm3ui.a
-lib/m3/pkg/ui/FreeBSD2/libm3ui.m3x
-lib/m3/pkg/ui/src/picture/Completion.i3
-lib/m3/pkg/ui/src/picture/FreeList.mg
-lib/m3/pkg/ui/src/picture/Picture.i3
-lib/m3/pkg/ui/src/picture/PictureRep.i3
-lib/m3/pkg/ui/src/split/AnchorBtnVBT.i3
-lib/m3/pkg/ui/src/split/BdrVBTClass.i3
-lib/m3/pkg/ui/src/split/BorderedVBT.i3
-lib/m3/pkg/ui/src/split/BtnVBTClass.i3
-lib/m3/pkg/ui/src/split/ButtonVBT.i3
-lib/m3/pkg/ui/src/split/ComposeKey.i3
-lib/m3/pkg/ui/src/split/DblBufferUtil.i3
-lib/m3/pkg/ui/src/split/DblBufferVBT.i3
-lib/m3/pkg/ui/src/split/ETAgent.i3
-lib/m3/pkg/ui/src/split/Filter.i3
-lib/m3/pkg/ui/src/split/FilterClass.i3
-lib/m3/pkg/ui/src/split/Gray.i3
-lib/m3/pkg/ui/src/split/HVBar.i3
-lib/m3/pkg/ui/src/split/HVSplit.i3
-lib/m3/pkg/ui/src/split/HighlightVBT.i3
-lib/m3/pkg/ui/src/split/JoinCMap.i3
-lib/m3/pkg/ui/src/split/JoinCursor.i3
-lib/m3/pkg/ui/src/split/JoinFont.i3
-lib/m3/pkg/ui/src/split/JoinPaintOp.i3
-lib/m3/pkg/ui/src/split/JoinParent.i3
-lib/m3/pkg/ui/src/split/JoinPixmap.i3
-lib/m3/pkg/ui/src/split/JoinScreen.i3
-lib/m3/pkg/ui/src/split/JoinedVBT.i3
-lib/m3/pkg/ui/src/split/MenuBtnVBT.i3
-lib/m3/pkg/ui/src/split/OverlayVBT.i3
-lib/m3/pkg/ui/src/split/PackSplit.i3
-lib/m3/pkg/ui/src/split/ProperSplit.i3
-lib/m3/pkg/ui/src/split/QuickBtnVBT.i3
-lib/m3/pkg/ui/src/split/RigidVBT.i3
-lib/m3/pkg/ui/src/split/STypeMap.i3
-lib/m3/pkg/ui/src/split/SelectQueue.i3
-lib/m3/pkg/ui/src/split/Split.i3
-lib/m3/pkg/ui/src/split/StableVBT.i3
-lib/m3/pkg/ui/src/split/TSplit.i3
-lib/m3/pkg/ui/src/split/TextVBT.i3
-lib/m3/pkg/ui/src/split/TextVBTClass.i3
-lib/m3/pkg/ui/src/split/TextureVBT.i3
-lib/m3/pkg/ui/src/split/TranslateVBT.i3
-lib/m3/pkg/ui/src/split/TwoTone.i3
-lib/m3/pkg/ui/src/split/TypeInVBT.i3
-lib/m3/pkg/ui/src/split/ZSplit.i3
-lib/m3/pkg/ui/src/trestle/DpyFilter.i3
-lib/m3/pkg/ui/src/trestle/InstallQueue.i3
-lib/m3/pkg/ui/src/trestle/InstalledVBT.i3
-lib/m3/pkg/ui/src/trestle/TrestleConf.i3
-lib/m3/pkg/ui/src/trestle/TrestleGoo.i3
-lib/m3/pkg/ui/src/trestle/TrestleImpl.i3
-lib/m3/pkg/ui/src/trestle/TrestleOS.i3
-lib/m3/pkg/ui/src/vbt/Batch.i3
-lib/m3/pkg/ui/src/vbt/BatchRep.i3
-lib/m3/pkg/ui/src/vbt/BatchUtil.i3
-lib/m3/pkg/ui/src/vbt/Cursor.i3
-lib/m3/pkg/ui/src/vbt/Font.i3
-lib/m3/pkg/ui/src/vbt/KeyboardKey.i3
-lib/m3/pkg/ui/src/vbt/Latin1Key.i3
-lib/m3/pkg/ui/src/vbt/MiscDetail.i3
-lib/m3/pkg/ui/src/vbt/MouseSplit.i3
-lib/m3/pkg/ui/src/vbt/PaintExt.i3
-lib/m3/pkg/ui/src/vbt/PaintOp.i3
-lib/m3/pkg/ui/src/vbt/PaintPrivate.i3
-lib/m3/pkg/ui/src/vbt/Palette.i3
-lib/m3/pkg/ui/src/vbt/Pixmap.i3
-lib/m3/pkg/ui/src/vbt/PlttFrnds.i3
-lib/m3/pkg/ui/src/vbt/ScreenType.i3
-lib/m3/pkg/ui/src/vbt/ScrnColorMap.i3
-lib/m3/pkg/ui/src/vbt/ScrnCursor.i3
-lib/m3/pkg/ui/src/vbt/ScrnFont.i3
-lib/m3/pkg/ui/src/vbt/ScrnPaintOp.i3
-lib/m3/pkg/ui/src/vbt/ScrnPixmap.i3
-lib/m3/pkg/ui/src/vbt/Trestle.i3
-lib/m3/pkg/ui/src/vbt/TrestleClass.i3
-lib/m3/pkg/ui/src/vbt/TrestleComm.i3
-lib/m3/pkg/ui/src/vbt/VBT.i3
-lib/m3/pkg/ui/src/vbt/VBTClass.i3
-lib/m3/pkg/ui/src/vbt/VBTRep.i3
-lib/m3/pkg/ui/src/vbt/VBTTuning.i3
-lib/m3/pkg/ui/src/xvbt/Compl.i3
-lib/m3/pkg/ui/src/xvbt/TrestleOnX.i3
-lib/m3/pkg/ui/src/xvbt/TrslOnXF.i3
-lib/m3/pkg/ui/src/xvbt/XAtomQueue.i3
-lib/m3/pkg/ui/src/xvbt/XClient.i3
-lib/m3/pkg/ui/src/xvbt/XClientExt.i3
-lib/m3/pkg/ui/src/xvbt/XClientF.i3
-lib/m3/pkg/ui/src/xvbt/XConfCtl.i3
-lib/m3/pkg/ui/src/xvbt/XCursors.i3
-lib/m3/pkg/ui/src/xvbt/XEventQueue.i3
-lib/m3/pkg/ui/src/xvbt/XExtensions.i3
-lib/m3/pkg/ui/src/xvbt/XGC.i3
-lib/m3/pkg/ui/src/xvbt/XImUtil.i3
-lib/m3/pkg/ui/src/xvbt/XInput.i3
-lib/m3/pkg/ui/src/xvbt/XMessenger.i3
-lib/m3/pkg/ui/src/xvbt/XPaint.i3
-lib/m3/pkg/ui/src/xvbt/XPicture.i3
-lib/m3/pkg/ui/src/xvbt/XProperties.i3
-lib/m3/pkg/ui/src/xvbt/XScreenType.i3
-lib/m3/pkg/ui/src/xvbt/XScrnCmap.i3
-lib/m3/pkg/ui/src/xvbt/XScrnCrsr.i3
-lib/m3/pkg/ui/src/xvbt/XScrnFont.i3
-lib/m3/pkg/ui/src/xvbt/XScrnPntOp.i3
-lib/m3/pkg/ui/src/xvbt/XScrnPxmp.i3
-lib/m3/pkg/ui/src/xvbt/XScrnTpRep.i3
-lib/m3/pkg/ui/src/xvbt/XScrollQueue.i3
-lib/m3/pkg/ui/src/xvbt/XSharedMem.i3
-lib/m3/pkg/ui/src/xvbt/XShm.i3
-lib/m3/pkg/vbtkit/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/vbtkit/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/vbtkit/FreeBSD2/.M3WEB
-lib/m3/pkg/vbtkit/FreeBSD2/VBTKitBundle.i3
-lib/m3/pkg/vbtkit/FreeBSD2/libm3vbtkit.a
-lib/m3/pkg/vbtkit/FreeBSD2/libm3vbtkit.m3x
-lib/m3/pkg/vbtkit/src/color/Color.i3
-lib/m3/pkg/vbtkit/src/color/ColorName.i3
-lib/m3/pkg/vbtkit/src/color/ColorNameF.i3
-lib/m3/pkg/vbtkit/src/color/ColorNameTable.i3
-lib/m3/pkg/vbtkit/src/etext/EmacsModel.i3
-lib/m3/pkg/vbtkit/src/etext/ISOChar.i3
-lib/m3/pkg/vbtkit/src/etext/IvyModel.i3
-lib/m3/pkg/vbtkit/src/etext/Key.i3
-lib/m3/pkg/vbtkit/src/etext/KeyFilter.i3
-lib/m3/pkg/vbtkit/src/etext/KeyTrans.i3
-lib/m3/pkg/vbtkit/src/etext/MTextUnit.i3
-lib/m3/pkg/vbtkit/src/etext/MacModel.i3
-lib/m3/pkg/vbtkit/src/etext/TextEditVBT.i3
-lib/m3/pkg/vbtkit/src/etext/TextPort.i3
-lib/m3/pkg/vbtkit/src/etext/TextPortClass.i3
-lib/m3/pkg/vbtkit/src/etext/TypeinVBT.i3
-lib/m3/pkg/vbtkit/src/etext/TypescriptVBT.i3
-lib/m3/pkg/vbtkit/src/etext/XtermModel.i3
-lib/m3/pkg/vbtkit/src/lego/AnchorHelpSplit.i3
-lib/m3/pkg/vbtkit/src/lego/AnchorHelpVBT.i3
-lib/m3/pkg/vbtkit/src/lego/AnchorSplit.i3
-lib/m3/pkg/vbtkit/src/lego/BiFeedbackVBT.i3
-lib/m3/pkg/vbtkit/src/lego/BooleanVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ChoiceVBT.i3
-lib/m3/pkg/vbtkit/src/lego/FeedbackVBT.i3
-lib/m3/pkg/vbtkit/src/lego/FileBrowserVBT.i3
-lib/m3/pkg/vbtkit/src/lego/FlexVBT.i3
-lib/m3/pkg/vbtkit/src/lego/GuardedBtnVBT.i3
-lib/m3/pkg/vbtkit/src/lego/Image.i3
-lib/m3/pkg/vbtkit/src/lego/ListVBT.i3
-lib/m3/pkg/vbtkit/src/lego/MarginFeedbackVBT.i3
-lib/m3/pkg/vbtkit/src/lego/MenuSwitchVBT.i3
-lib/m3/pkg/vbtkit/src/lego/MultiClass.i3
-lib/m3/pkg/vbtkit/src/lego/MultiFilter.i3
-lib/m3/pkg/vbtkit/src/lego/MultiSplit.i3
-lib/m3/pkg/vbtkit/src/lego/NumericVBT.i3
-lib/m3/pkg/vbtkit/src/lego/OffsetVBT.i3
-lib/m3/pkg/vbtkit/src/lego/PixmapVBT.i3
-lib/m3/pkg/vbtkit/src/lego/QuickSwitchVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ReactivityVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ScaleFilter.i3
-lib/m3/pkg/vbtkit/src/lego/ScrollerVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ScrollerVBTClass.i3
-lib/m3/pkg/vbtkit/src/lego/Shadow.i3
-lib/m3/pkg/vbtkit/src/lego/ShadowPaint.i3
-lib/m3/pkg/vbtkit/src/lego/ShadowedBarVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ShadowedFeedbackVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ShadowedVBT.i3
-lib/m3/pkg/vbtkit/src/lego/SourceVBT.i3
-lib/m3/pkg/vbtkit/src/lego/SplitterVBT.i3
-lib/m3/pkg/vbtkit/src/lego/SwitchVBT.i3
-lib/m3/pkg/vbtkit/src/lego/TrillSwitchVBT.i3
-lib/m3/pkg/vbtkit/src/lego/VBTKitResources.i3
-lib/m3/pkg/vbtkit/src/lego/ViewportVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZBackgroundVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZChassisVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZChildVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZGrowVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZMoveVBT.i3
-lib/m3/pkg/vbtkit/src/lego/ZSplitUtils.i3
-lib/m3/pkg/vbtkit/src/lego/ZTilps.i3
-lib/m3/pkg/vbtkit/src/mtext/MText.i3
-lib/m3/pkg/vbtkit/src/mtext/MTextDebug.i3
-lib/m3/pkg/vbtkit/src/mtext/MTextDs.i3
-lib/m3/pkg/vbtkit/src/mtext/MTextPrivate.i3
-lib/m3/pkg/vbtkit/src/mtext/MTextRd.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/AnyEvent.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/AutoRepeat.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/LargeCursor.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/Pts.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/Rsrc.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/VBTColors.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/VBTKitEnv.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/XParam.i3
-lib/m3/pkg/vbtkit/src/vbtkitutils/XTrestle.i3
-lib/m3/pkg/vbtkit/src/vtext/VT.i3
-lib/m3/pkg/vbtkit/src/vtext/VTBase.i3
-lib/m3/pkg/vbtkit/src/vtext/VTCaret.i3
-lib/m3/pkg/vbtkit/src/vtext/VTDef.i3
-lib/m3/pkg/vbtkit/src/vtext/VTInterval.i3
-lib/m3/pkg/vbtkit/src/vtext/VTMarker.i3
-lib/m3/pkg/vbtkit/src/vtext/VTPounce.i3
-lib/m3/pkg/vbtkit/src/vtext/VTRd.i3
-lib/m3/pkg/vbtkit/src/vtext/VTReal.i3
-lib/m3/pkg/vbtkit/src/vtext/VTTexture.i3
-lib/m3/pkg/vbtkit/src/vtext/VTView.i3
-lib/m3/pkg/vbtkit/src/vtext/VTVirtual.i3
-lib/m3/pkg/vbtkit/src/vtext/VText.i3
-lib/m3/pkg/vbtkit/src/vtext/VTextDef.i3
-lib/m3/pkg/vbtkit/src/vtext/VTextRegion.i3
-lib/m3/pkg/videovbt/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/videovbt/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/videovbt/FreeBSD2/.M3WEB
-lib/m3/pkg/videovbt/FreeBSD2/libvideovbt.a
-lib/m3/pkg/videovbt/FreeBSD2/libvideovbt.m3x
-lib/m3/pkg/videovbt/src/AudioVBT.i3
-lib/m3/pkg/videovbt/src/POSIX/VideoVBTRep.i3
-lib/m3/pkg/videovbt/src/VideoVBT.i3
-lib/m3/pkg/web/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/web/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/web/FreeBSD2/.M3WEB
-lib/m3/pkg/web/FreeBSD2/libweb.a
-lib/m3/pkg/web/FreeBSD2/libweb.m3x
-lib/m3/pkg/web/src/Web.i3
-lib/m3/www/m3tohtml.1.html
-share/modula-3/COPYRIGHT
-@dirrm share/modula-3
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %D/lib/m3/FreeBSD2
-@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
diff --git a/lang/modula-3/pkg-plist.noX11 b/lang/modula-3/pkg-plist.noX11
deleted file mode 100644
index 58e481ef36eb..000000000000
--- a/lang/modula-3/pkg-plist.noX11
+++ /dev/null
@@ -1,483 +0,0 @@
-bin/analyze_coverage
-bin/m3browser
-bin/m3build
-bin/m3bundle
-bin/m3pp
-bin/m3ship
-bin/m3tohtml
-bin/m3totex
-bin/m3where
-bin/quake
-bin/recordheap
-lib/m3/FreeBSD2/libm3configvars.so
-lib/m3/FreeBSD2/m3
-lib/m3/FreeBSD2/m3cgc1
-lib/m3/FreeBSD2/m3mkdir
-lib/m3/FreeBSD2/report_coverage.o
-lib/m3/pkg/digraph/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/digraph/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/digraph/FreeBSD2/.M3WEB
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.a
-lib/m3/pkg/digraph/FreeBSD2/libDiGraph.m3x
-lib/m3/pkg/digraph/src/DiGraph.ig
-lib/m3/pkg/digraph/src/DiGraph.mg
-lib/m3/pkg/digraph/src/NullEdgeType.i3
-lib/m3/pkg/digraph/src/POEdgeType.i3
-lib/m3/pkg/digraph/src/digraph.tmpl
-lib/m3/pkg/libm3/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/libm3/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/libm3/FreeBSD2/.M3WEB
-lib/m3/pkg/libm3/FreeBSD2/AtomAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomList.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/AtomTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntArraySort.i3
-lib/m3/pkg/libm3/FreeBSD2/IntAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntList.i3
-lib/m3/pkg/libm3/FreeBSD2/IntListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/IntPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/IntPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/IntRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/IntSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/IntSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/IntTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/LongFloatExtras.i3
-lib/m3/pkg/libm3/FreeBSD2/LongSqrt.i3
-lib/m3/pkg/libm3/FreeBSD2/M3Config.i3
-lib/m3/pkg/libm3/FreeBSD2/RealFloatExtras.i3
-lib/m3/pkg/libm3/FreeBSD2/RealSqrt.i3
-lib/m3/pkg/libm3/FreeBSD2/RefAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefList.i3
-lib/m3/pkg/libm3/FreeBSD2/RefListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/RefPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/RefPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/RefRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/RefSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/RefSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/RefTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedAtomTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedIntTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedRefTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/SortedTextTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextArraySort.i3
-lib/m3/pkg/libm3/FreeBSD2/TextAtomTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextIntTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextList.i3
-lib/m3/pkg/libm3/FreeBSD2/TextListSort.i3
-lib/m3/pkg/libm3/FreeBSD2/TextPQ.i3
-lib/m3/pkg/libm3/FreeBSD2/TextPQRep.i3
-lib/m3/pkg/libm3/FreeBSD2/TextRefTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/TextSeq.i3
-lib/m3/pkg/libm3/FreeBSD2/TextSeqRep.i3
-lib/m3/pkg/libm3/FreeBSD2/TextTextTbl.i3
-lib/m3/pkg/libm3/FreeBSD2/libm3.a
-lib/m3/pkg/libm3/FreeBSD2/libm3.m3x
-lib/m3/pkg/libm3/src/arith/POSIX/Math.i3
-lib/m3/pkg/libm3/src/atom/Atom.i3
-lib/m3/pkg/libm3/src/bundleintf/Bundle.i3
-lib/m3/pkg/libm3/src/bundleintf/BundleRep.i3
-lib/m3/pkg/libm3/src/etimer/ETimer.i3
-lib/m3/pkg/libm3/src/fmtlex/Fmt.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBuf.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBufF.i3
-lib/m3/pkg/libm3/src/fmtlex/FmtBufTest.i3
-lib/m3/pkg/libm3/src/fmtlex/Lex.i3
-lib/m3/pkg/libm3/src/fmtlex/OldFmt.i3
-lib/m3/pkg/libm3/src/fmtlex/OldLex.i3
-lib/m3/pkg/libm3/src/fmtlex/OldScan.i3
-lib/m3/pkg/libm3/src/fmtlex/Scan.i3
-lib/m3/pkg/libm3/src/formatter/Formatter.i3
-lib/m3/pkg/libm3/src/geometry/Axis.i3
-lib/m3/pkg/libm3/src/geometry/Interval.i3
-lib/m3/pkg/libm3/src/geometry/Path.i3
-lib/m3/pkg/libm3/src/geometry/PathPrivate.i3
-lib/m3/pkg/libm3/src/geometry/Point.i3
-lib/m3/pkg/libm3/src/geometry/PolyRegion.i3
-lib/m3/pkg/libm3/src/geometry/Rect.i3
-lib/m3/pkg/libm3/src/geometry/Region.i3
-lib/m3/pkg/libm3/src/geometry/RegionRep.i3
-lib/m3/pkg/libm3/src/geometry/Transform.i3
-lib/m3/pkg/libm3/src/geometry/Trapezoid.i3
-lib/m3/pkg/libm3/src/list/List.ig
-lib/m3/pkg/libm3/src/list/List.mg
-lib/m3/pkg/libm3/src/list/ListSort.ig
-lib/m3/pkg/libm3/src/list/ListSort.mg
-lib/m3/pkg/libm3/src/list/list.tmpl
-lib/m3/pkg/libm3/src/os/Common/FS.i3
-lib/m3/pkg/libm3/src/os/Common/File.i3
-lib/m3/pkg/libm3/src/os/Common/OSError.i3
-lib/m3/pkg/libm3/src/os/Common/Pathname.i3
-lib/m3/pkg/libm3/src/os/Common/Pipe.i3
-lib/m3/pkg/libm3/src/os/Common/Process.i3
-lib/m3/pkg/libm3/src/os/Common/RegularFile.i3
-lib/m3/pkg/libm3/src/os/Common/Terminal.i3
-lib/m3/pkg/libm3/src/os/POSIX/FilePosix.i3
-lib/m3/pkg/libm3/src/os/POSIX/OSErrorPosix.i3
-lib/m3/pkg/libm3/src/params/Env.i3
-lib/m3/pkg/libm3/src/params/Params.i3
-lib/m3/pkg/libm3/src/perftool/Common/LowPerfTool.i3
-lib/m3/pkg/libm3/src/perftool/Common/PerfComm.ig
-lib/m3/pkg/libm3/src/perftool/Common/PerfComm.mg
-lib/m3/pkg/libm3/src/perftool/Common/PerfTool.i3
-lib/m3/pkg/libm3/src/pickle/Pickle.i3
-lib/m3/pkg/libm3/src/pqueue/PQueue.ig
-lib/m3/pkg/libm3/src/pqueue/PQueue.mg
-lib/m3/pkg/libm3/src/pqueue/PQueueRep.ig
-lib/m3/pkg/libm3/src/pqueue/pqueue.tmpl
-lib/m3/pkg/libm3/src/property/MProperty.i3
-lib/m3/pkg/libm3/src/property/MPropertyF.i3
-lib/m3/pkg/libm3/src/property/Property.i3
-lib/m3/pkg/libm3/src/property/PropertyF.i3
-lib/m3/pkg/libm3/src/property/PropertyV.i3
-lib/m3/pkg/libm3/src/random/Common/Random.i3
-lib/m3/pkg/libm3/src/random/Common/RandomPerm.i3
-lib/m3/pkg/libm3/src/random/Common/RandomReal.i3
-lib/m3/pkg/libm3/src/rw/Common/AutoFlushWr.i3
-lib/m3/pkg/libm3/src/rw/Common/FileRd.i3
-lib/m3/pkg/libm3/src/rw/Common/FileWr.i3
-lib/m3/pkg/libm3/src/rw/Common/IO.i3
-lib/m3/pkg/libm3/src/rw/Common/MsgRd.i3
-lib/m3/pkg/libm3/src/rw/Common/MsgWr.i3
-lib/m3/pkg/libm3/src/rw/Common/NullRd.i3
-lib/m3/pkg/libm3/src/rw/Common/NullWr.i3
-lib/m3/pkg/libm3/src/rw/Common/Rd.i3
-lib/m3/pkg/libm3/src/rw/Common/RdClass.i3
-lib/m3/pkg/libm3/src/rw/Common/RdCopy.i3
-lib/m3/pkg/libm3/src/rw/Common/RdUtils.i3
-lib/m3/pkg/libm3/src/rw/Common/Stdio.i3
-lib/m3/pkg/libm3/src/rw/Common/TextRd.i3
-lib/m3/pkg/libm3/src/rw/Common/TextWr.i3
-lib/m3/pkg/libm3/src/rw/Common/UnsafeRd.i3
-lib/m3/pkg/libm3/src/rw/Common/UnsafeWr.i3
-lib/m3/pkg/libm3/src/rw/Common/Wr.i3
-lib/m3/pkg/libm3/src/rw/Common/WrClass.i3
-lib/m3/pkg/libm3/src/sequence/Sequence.ig
-lib/m3/pkg/libm3/src/sequence/Sequence.mg
-lib/m3/pkg/libm3/src/sequence/SequenceRep.ig
-lib/m3/pkg/libm3/src/sequence/sequence.tmpl
-lib/m3/pkg/libm3/src/sort/ArraySort.ig
-lib/m3/pkg/libm3/src/sort/ArraySort.mg
-lib/m3/pkg/libm3/src/sort/arraysort.tmpl
-lib/m3/pkg/libm3/src/sortedtable/SortedTable.ig
-lib/m3/pkg/libm3/src/sortedtable/SortedTable.mg
-lib/m3/pkg/libm3/src/sortedtable/sortedtable.tmpl
-lib/m3/pkg/libm3/src/sqrt/FloatExtras.ig
-lib/m3/pkg/libm3/src/sqrt/FloatExtras.mg
-lib/m3/pkg/libm3/src/sqrt/Sqrt.ig
-lib/m3/pkg/libm3/src/sqrt/Sqrt.mg
-lib/m3/pkg/libm3/src/statistics/Stat.i3
-lib/m3/pkg/libm3/src/sx/Sx.i3
-lib/m3/pkg/libm3/src/table/Table.ig
-lib/m3/pkg/libm3/src/table/Table.mg
-lib/m3/pkg/libm3/src/table/table.tmpl
-lib/m3/pkg/libm3/src/types/ASCII.i3
-lib/m3/pkg/libm3/src/types/Boolean.i3
-lib/m3/pkg/libm3/src/types/Char.i3
-lib/m3/pkg/libm3/src/types/Int32.i3
-lib/m3/pkg/libm3/src/types/Integer.i3
-lib/m3/pkg/libm3/src/types/LongrealType.i3
-lib/m3/pkg/libm3/src/types/RealType.i3
-lib/m3/pkg/libm3/src/types/Refany.i3
-lib/m3/pkg/libm3/src/uid/Common/Capability.i3
-lib/m3/pkg/libm3/src/uid/Common/MachineID.i3
-lib/m3/pkg/libm3/src/uid/Common/Swap.i3
-lib/m3/pkg/libm3/src/uid/Common/TimeStamp.i3
-lib/m3/pkg/libm3/src/uid/Common/TimeStampRep.i3
-lib/m3/pkg/m3browser/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3browser/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3browser/FreeBSD2/.M3WEB
-lib/m3/pkg/m3browser/src/Buf.i3
-lib/m3/pkg/m3browser/src/CMarkUp.i3
-lib/m3/pkg/m3browser/src/CharMap.i3
-lib/m3/pkg/m3browser/src/ErrLog.i3
-lib/m3/pkg/m3browser/src/ID.i3
-lib/m3/pkg/m3browser/src/M3MarkUp.i3
-lib/m3/pkg/m3browser/src/MarkUp.i3
-lib/m3/pkg/m3browser/src/OS.i3
-lib/m3/pkg/m3browser/src/TCPPeer.i3
-lib/m3/pkg/m3browser/src/TCPServer.i3
-lib/m3/pkg/m3browser/src/Wx.i3
-lib/m3/pkg/m3browser/src/XFormat.i3
-lib/m3/pkg/m3build/templates/CLEANUP
-lib/m3/pkg/m3build/templates/COMMON
-lib/m3/pkg/m3build/templates/COMMON.BOOT
-lib/m3/pkg/m3build/templates/FreeBSD2
-lib/m3/pkg/m3build/templates/PLATFORMS
-lib/m3/pkg/m3build/templates/POSIX
-lib/m3/pkg/m3bundle/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3bundle/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3bundle/FreeBSD2/.M3WEB
-lib/m3/pkg/m3configvars/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3configvars/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3configvars/FreeBSD2/.M3WEB
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.a
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.m3x
-lib/m3/pkg/m3configvars/FreeBSD2/libm3configvars.so
-lib/m3/pkg/m3configvars/src/M3ConfigVars.i3
-lib/m3/pkg/m3core/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3core/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3core/FreeBSD2/.M3WEB
-lib/m3/pkg/m3core/FreeBSD2/libm3core.a
-lib/m3/pkg/m3core/FreeBSD2/libm3core.m3x
-lib/m3/pkg/m3core/src/C/32BITS/BasicCtypes.i3
-lib/m3/pkg/m3core/src/C/Common/Cerrno.i3
-lib/m3/pkg/m3core/src/C/Common/Cstdarg.i3
-lib/m3/pkg/m3core/src/C/Common/Cstddef.i3
-lib/m3/pkg/m3core/src/C/Common/Cstdlib.i3
-lib/m3/pkg/m3core/src/C/Common/Ctypes.i3
-lib/m3/pkg/m3core/src/C/Common/M3toC.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Csetjmp.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Csignal.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Cstdio.i3
-lib/m3/pkg/m3core/src/C/FreeBSD2/Cstring.i3
-lib/m3/pkg/m3core/src/Csupport/Common/dtoa.h
-lib/m3/pkg/m3core/src/convert/CConvert.i3
-lib/m3/pkg/m3core/src/convert/Convert.i3
-lib/m3/pkg/m3core/src/fingerprint/Fingerprint.i3
-lib/m3/pkg/m3core/src/fingerprint/Poly.i3
-lib/m3/pkg/m3core/src/fingerprint/PolyBasis.i3
-lib/m3/pkg/m3core/src/float/Common/DragonInt.i3
-lib/m3/pkg/m3core/src/float/Common/DragonT.i3
-lib/m3/pkg/m3core/src/float/Common/ExtendedFloat.i3
-lib/m3/pkg/m3core/src/float/Common/Float.ig
-lib/m3/pkg/m3core/src/float/Common/IEEESpecial.i3
-lib/m3/pkg/m3core/src/float/Common/LongFloat.i3
-lib/m3/pkg/m3core/src/float/Common/RealFloat.i3
-lib/m3/pkg/m3core/src/float/IEEE-default/FPU.i3
-lib/m3/pkg/m3core/src/float/IEEE-default/FloatMode.i3
-lib/m3/pkg/m3core/src/float/IEEE-le/LongRealRep.i3
-lib/m3/pkg/m3core/src/float/IEEE-le/RealRep.i3
-lib/m3/pkg/m3core/src/float/IEEE/Extended.i3
-lib/m3/pkg/m3core/src/float/IEEE/LongReal.i3
-lib/m3/pkg/m3core/src/float/IEEE/Real.i3
-lib/m3/pkg/m3core/src/main/Main.i3
-lib/m3/pkg/m3core/src/runtime/FreeBSD2/RTMachine.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RT0u.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RTPerfTool.i3
-lib/m3/pkg/m3core/src/runtime/POSIX/RTThread.i3
-lib/m3/pkg/m3core/src/runtime/common/RT0.i3
-lib/m3/pkg/m3core/src/runtime/common/RTAllocStats.i3
-lib/m3/pkg/m3core/src/runtime/common/RTAllocator.i3
-lib/m3/pkg/m3core/src/runtime/common/RTArgs.i3
-lib/m3/pkg/m3core/src/runtime/common/RTCollector.i3
-lib/m3/pkg/m3core/src/runtime/common/RTCollectorSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTException.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapDebug.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapDep.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapEvent.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapInfo.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapMap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapRep.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHeapStats.i3
-lib/m3/pkg/m3core/src/runtime/common/RTHooks.i3
-lib/m3/pkg/m3core/src/runtime/common/RTIO.i3
-lib/m3/pkg/m3core/src/runtime/common/RTLinker.i3
-lib/m3/pkg/m3core/src/runtime/common/RTMapOp.i3
-lib/m3/pkg/m3core/src/runtime/common/RTMisc.i3
-lib/m3/pkg/m3core/src/runtime/common/RTModule.i3
-lib/m3/pkg/m3core/src/runtime/common/RTOS.i3
-lib/m3/pkg/m3core/src/runtime/common/RTPacking.i3
-lib/m3/pkg/m3core/src/runtime/common/RTParams.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcedure.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcedureSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTProcess.i3
-lib/m3/pkg/m3core/src/runtime/common/RTSignal.i3
-lib/m3/pkg/m3core/src/runtime/common/RTStack.i3
-lib/m3/pkg/m3core/src/runtime/common/RTThreadInit.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTipe.i3
-lib/m3/pkg/m3core/src/runtime/common/RTType.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeFP.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeMap.i3
-lib/m3/pkg/m3core/src/runtime/common/RTTypeSRC.i3
-lib/m3/pkg/m3core/src/runtime/common/RTWeakRef.i3
-lib/m3/pkg/m3core/src/runtime/common/RTutils.i3
-lib/m3/pkg/m3core/src/runtime/ex_frame/RTExRep.i3
-lib/m3/pkg/m3core/src/text/Text.i3
-lib/m3/pkg/m3core/src/text/TextConv.i3
-lib/m3/pkg/m3core/src/text/TextF.i3
-lib/m3/pkg/m3core/src/thread/Common/Scheduler.i3
-lib/m3/pkg/m3core/src/thread/Common/Thread.i3
-lib/m3/pkg/m3core/src/thread/POSIX/SchedulerPosix.i3
-lib/m3/pkg/m3core/src/thread/POSIX/ThreadEvent.i3
-lib/m3/pkg/m3core/src/thread/POSIX/ThreadF.i3
-lib/m3/pkg/m3core/src/time/Common/Date.i3
-lib/m3/pkg/m3core/src/time/Common/FmtTime.i3
-lib/m3/pkg/m3core/src/time/Common/Tick.i3
-lib/m3/pkg/m3core/src/time/Common/Time.i3
-lib/m3/pkg/m3core/src/time/POSIX/TimePosix.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Udir.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uerror.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uexec.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ugrp.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uin.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uipc.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Umman.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Umsg.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Unetdb.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Unix.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uprocess.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Upwd.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uresource.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usem.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ushm.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usignal.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usocket.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Ustat.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Usyslog.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Utime.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Utypes.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uugid.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uuio.i3
-lib/m3/pkg/m3core/src/unix/freebsd-2/Uutmp.i3
-lib/m3/pkg/m3core/src/weakref/WeakRef.i3
-lib/m3/pkg/m3core/src/word/Word.i3
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3tohtml/FreeBSD2/.M3WEB
-lib/m3/pkg/m3tohtml/src/DBRd.i3
-lib/m3/pkg/m3tohtml/src/DBWr.i3
-lib/m3/pkg/m3tohtml/src/FilePath.i3
-lib/m3/pkg/m3tohtml/src/HTMLDir.i3
-lib/m3/pkg/m3tohtml/src/M3DB.i3
-lib/m3/pkg/m3tohtml/src/M3MarkUp.i3
-lib/m3/pkg/m3tohtml/src/MarkUp.i3
-lib/m3/pkg/m3tohtml/src/TextDB.i3
-lib/m3/pkg/m3tools/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3tools/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3tools/FreeBSD2/.M3WEB
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.a
-lib/m3/pkg/m3tools/FreeBSD2/libm3tools.m3x
-lib/m3/pkg/m3tools/src/M3ID.i3
-lib/m3/pkg/m3tools/src/M3Scanner.i3
-lib/m3/pkg/m3tools/src/M3Token.i3
-lib/m3/pkg/m3totex/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/m3totex/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/m3totex/FreeBSD2/.M3WEB
-lib/m3/pkg/m3totex/FreeBSD2/B.i3
-lib/m3/pkg/mtex/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/mtex/src/mtex.tmpl
-lib/m3/pkg/parseparams/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/parseparams/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/parseparams/FreeBSD2/.M3WEB
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.a
-lib/m3/pkg/parseparams/FreeBSD2/libm3parseparams.m3x
-lib/m3/pkg/parseparams/src/ParseParams.i3
-lib/m3/pkg/pp/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/pp/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/pp/FreeBSD2/.M3WEB
-lib/m3/pkg/pp/src/ExceptionArg.i3
-lib/m3/pkg/pp/src/FBE.i3
-lib/m3/pkg/pp/src/FBEPostScript.i3
-lib/m3/pkg/pp/src/FBEWr.i3
-lib/m3/pkg/pp/src/NewFormatter.i3
-lib/m3/pkg/pp/src/Parse.i3
-lib/m3/pkg/realgeometry/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/realgeometry/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/realgeometry/FreeBSD2/.M3WEB
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.a
-lib/m3/pkg/realgeometry/FreeBSD2/libGeometry.m3x
-lib/m3/pkg/realgeometry/src/PathExtra.i3
-lib/m3/pkg/realgeometry/src/RealInterval.i3
-lib/m3/pkg/realgeometry/src/RealPath.i3
-lib/m3/pkg/realgeometry/src/RealPoint.i3
-lib/m3/pkg/realgeometry/src/RealRect.i3
-lib/m3/pkg/realgeometry/src/RealTransform.i3
-lib/m3/pkg/set/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/set/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/set/FreeBSD2/.M3WEB
-lib/m3/pkg/set/FreeBSD2/AtomSet.i3
-lib/m3/pkg/set/FreeBSD2/AtomSetDef.i3
-lib/m3/pkg/set/FreeBSD2/AtomSetList.i3
-lib/m3/pkg/set/FreeBSD2/IntSet.i3
-lib/m3/pkg/set/FreeBSD2/IntSetDef.i3
-lib/m3/pkg/set/FreeBSD2/IntSetList.i3
-lib/m3/pkg/set/FreeBSD2/RefSet.i3
-lib/m3/pkg/set/FreeBSD2/RefSetList.i3
-lib/m3/pkg/set/FreeBSD2/TextSet.i3
-lib/m3/pkg/set/FreeBSD2/TextSetDef.i3
-lib/m3/pkg/set/FreeBSD2/TextSetList.i3
-lib/m3/pkg/set/FreeBSD2/libset.a
-lib/m3/pkg/set/FreeBSD2/libset.m3x
-lib/m3/pkg/set/src/Set.ig
-lib/m3/pkg/set/src/Set.mg
-lib/m3/pkg/set/src/SetDef.ig
-lib/m3/pkg/set/src/SetDef.mg
-lib/m3/pkg/set/src/SetList.ig
-lib/m3/pkg/set/src/SetList.mg
-lib/m3/pkg/set/src/set.tmpl
-lib/m3/pkg/table-list/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/table-list/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/table-list/FreeBSD2/.M3WEB
-lib/m3/pkg/table-list/FreeBSD2/AtomAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/AtomRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/AtomTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/RefTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextAtomTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextRefTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/TextTextTblList.i3
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.a
-lib/m3/pkg/table-list/FreeBSD2/libtable-list.m3x
-lib/m3/pkg/table-list/src/TableList.ig
-lib/m3/pkg/table-list/src/TableList.mg
-lib/m3/pkg/table-list/src/table-list.tmpl
-lib/m3/pkg/tcp/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tcp/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tcp/FreeBSD2/.M3WEB
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.a
-lib/m3/pkg/tcp/FreeBSD2/libm3tcp.m3x
-lib/m3/pkg/tcp/src/POSIX/Herrno.i3
-lib/m3/pkg/tcp/src/POSIX/TCPHack.i3
-lib/m3/pkg/tcp/src/POSIX/TCPPosix.i3
-lib/m3/pkg/tcp/src/common/ConnFD.i3
-lib/m3/pkg/tcp/src/common/ConnMsgRW.i3
-lib/m3/pkg/tcp/src/common/ConnRW.i3
-lib/m3/pkg/tcp/src/common/IP.i3
-lib/m3/pkg/tcp/src/common/TCP.i3
-lib/m3/pkg/tcp/src/common/TCPSpecial.i3
-lib/m3/pkg/tcpextras/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tcpextras/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tcpextras/FreeBSD2/.M3WEB
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.a
-lib/m3/pkg/tcpextras/FreeBSD2/libtcpextras.m3x
-lib/m3/pkg/tcpextras/src/TCPExtras.i3
-lib/m3/pkg/tcpextras/src/TCPPeer.i3
-lib/m3/pkg/tempfiles/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/tempfiles/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/tempfiles/FreeBSD2/.M3WEB
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.a
-lib/m3/pkg/tempfiles/FreeBSD2/libTempFiles.m3x
-lib/m3/pkg/tempfiles/src/TempFiles.i3
-lib/m3/pkg/web/FreeBSD2/.M3EXPORTS
-lib/m3/pkg/web/FreeBSD2/.M3IMPTAB
-lib/m3/pkg/web/FreeBSD2/.M3WEB
-lib/m3/pkg/web/FreeBSD2/libweb.a
-lib/m3/pkg/web/FreeBSD2/libweb.m3x
-lib/m3/pkg/web/src/Web.i3
-lib/m3/www/m3tohtml.1.html
-share/modula-3/COPYRIGHT
-@dirrm share/modula-3
-@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %D/lib/m3/FreeBSD2
-@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
diff --git a/lang/modula-3/scripts/configure b/lang/modula-3/scripts/configure
deleted file mode 100644
index 4627845df39e..000000000000
--- a/lang/modula-3/scripts/configure
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh
-#
-# $FreeBSD$
-
-umask 022
-
-plist_src=${PKGDIR}/${PLIST##*/}
-
-# Generate a PLIST, duplicating certain lines with the major version
-# number tacked on the end.
-sed -e "/\.so\$/p" \
- -e "s/\.so\$/&.${MAJOR}/" \
- -e "/m3build\$/p" \
- -e "s/m3build\$/&-${MAJOR}/" \
- ${plist_src} > ${PLIST}
-
-# Also generate a "PLIST.real" file which includes the minor version
-# numbers on shared library names if the object format is a.out.
-if [ "${PORTOBJFORMAT}" = aout ]; then
- sed -e "s/\.so\.${MAJOR}\$/&.0/" ${PLIST} > ${PLIST}.real
-else
- cp ${PLIST} ${PLIST}.real
-fi
diff --git a/lang/modula-3/scripts/fix_pathnames b/lang/modula-3/scripts/fix_pathnames
deleted file mode 100644
index f4f459bacb45..000000000000
--- a/lang/modula-3/scripts/fix_pathnames
+++ /dev/null
@@ -1,29 +0,0 @@
-#! /bin/sh
-#
-# $FreeBSD$
-
-umask 022
-
-if [ $# -ne 2 ]; then
- echo "Usage: $0 oldpath newpath" >&2
- exit 1
-fi
-
-oldpath=$1
-newpath=$2
-pkgdir=lib/m3/pkg
-
-# Fix absolute pathnames in files so that they reference the actual
-# installation directory, instead of the temporary directory we have
-# been using.
-
-cd ${newpath}/${pkgdir}
-for i in `cd ${oldpath}/${pkgdir}; \
- find . -type f \( -name .M3IMPTAB -o -name FreeBSD2 \)`; do
- if [ -f ${i} ]; then
- test -f ${i}.bak || cp -p ${i} ${i}.bak
- rm -f ${i}
- sed -e "s|/[^ ]*/work/installed/|${newpath}/|g" ${i}.bak >${i} && \
- rm -f ${i}.bak
- fi
-done
diff --git a/lang/modula-3/scripts/maybe-strip b/lang/modula-3/scripts/maybe-strip
deleted file mode 100644
index ef0b03f05592..000000000000
--- a/lang/modula-3/scripts/maybe-strip
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /bin/sh
-
-for i; do
- if [ -f $i ]; then
- strip $i
- fi
-done