freebsd-ports/lang/modula-3-lib/files
..
50.m3.sh
extra-patch-new-sigset-aa
extra-patch-new-sigset-ab
extra-patch-new-sigset-ac
extra-patch-old-sigset-aa
FreeBSD2.aout
FreeBSD2.elf
patch-aa
patch-ab
patch-ae
patch-ah
patch-ai
patch-aj
patch-ak
patch-am
patch-aq
patch-ar
patch-at
patch-av
patch-aw
patch-ax
patch-ay
patch-bf
patch-bg
patch-bi
patch-bj
patch-bk
patch-bl
patch-bm
patch-bn
patch-bp
patch-bq
patch-br
patch-bs
patch-bt
patch-bu
patch-bv
patch-bw
README.distfiles
T.boot
T.gcc
T.m3cc
T.src
X.boot
X.gcc
X.m3cc
X.src

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>