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
This commit is contained in:
John Polstra 2001-07-21 23:41:46 +00:00
parent 6da61077c6
commit 38972b0a46
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=45330
65 changed files with 0 additions and 7893 deletions

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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")

View File

@ -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>

View File

@ -1 +0,0 @@
installed/lib/m3/FreeBSD2/m3

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +0,0 @@
*.bak
*.orig
*[-~]

View File

@ -1,3 +0,0 @@
*.bak
*.orig
*[-~]

View File

@ -1,3 +0,0 @@
*.bak
*.orig
*[-~]

View File

@ -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
*[-~]

View File

@ -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.

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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" ],

View File

@ -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;

View File

@ -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")

View File

@ -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

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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*>

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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 *)

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;
+}

View File

@ -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 *)

View File

@ -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;

View File

@ -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*>

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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);
-}

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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) \

View File

@ -1 +0,0 @@
The shared libraries needed for executing Modula-3 programs

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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})

View File

@ -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>

View File

@ -1 +0,0 @@
Modula-3 compiler and libraries from DEC Systems Research Center

View File

@ -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>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,7 +0,0 @@
#! /bin/sh
for i; do
if [ -f $i ]; then
strip $i
fi
done