Modula-2 (Hamburg VAX-11 Modula-2 V3.2) for OpenVMS VAX 7.3 -- source kit, 12-OCT-2026
======================================================================================

Douglas P. Fields, Jr. (symbolics@lisp.engineer)

Everything needed to rebuild the binary kit MODULA2_VAX_20261011.BCK from
the DECUS V3.2 distribution: the text sources exactly as shipped, where
they came from with hashes, the one patch, the build and test procedures,
the installer sources and the host-side tools.


1. CONTENTS

  REBUILD.md              The recipe, step by step, with commands, expected
                          results, hashes and measured times.
  original/modula32.zip   The DECUS VAX SIG library kit MODULA032, unmodified
                          (1,144,832 bytes): the V3.2 BACKUP saveset m32.a
                          with the sources and the object code.
  sources/README.md       What the compiler is, the archives (with hashes),
                          the licence situation, every difference from the
                          distribution, the host tools and their licences.
  sources/ARCHIVES.SHA256 SHA-256 of the archives the sources came from. (The
                          paths in it are those of my machine.)
  sources/v32/            The 154 text files of the V3.2 distribution
                          (sources, definition modules, MVC.MMS, BNFs,
                          INSTALL.COM, documents), as the saveset holds
                          them, LF line ends.
  sources/patches/        MODULA.CLD.DIFF: the only change.
  sources/MODULA032_BACKUP_LIST.LIS
                          BACKUP/LIST of the DECUS saveset MODULA032.A (278
                          files, 6051 blocks).
  sources/VAX_Modula2_tape_MANIFEST.tsv
                          The 258 files of the V3.1 tape image, with record
                          format, record count, bytes and SHA-256.
  sources/CHANGES_4_4.TXT The VMS 4.4 changes to the foreign definition
                          modules (from the distribution).
  build/                  DCL procedures: M2LIB (relink the shipped objects
                          into a private directory), SELFHOST (compile all
                          sources with a given compiler), COMPILE_ALL (137
                          compile commands, generated), STAGES and COMPARE
                          (three-stage self-hosting check), TEXTBUNDLE and
                          UNBUNDLE (move text files without FTP), TAPE31.
  tools/                  Host-side Python 3, no packages: tapeextract.py
                          (ANSI-labelled SIMH tape images), m2order.py
                          (orders the modules by import, writes
                          COMPILE_ALL.COM), m2bundle.py. CC0.
  kit/                    MAKE_KIT.COM (builds the saveset), the installer,
                          uninstaller and setup procedure, MODULA.CLD,
                          LIFECYCLE_TEST.COM, the kit's own README.TXT, the
                          BACKUP/LIST of the saveset and its install
                          manifest.
  SHA256SUMS.TXT          SHA-256 of every file in this kit.

References in REBUILD.md to AGENT_MISTAKES.md, TASK_LANG_MODULA2.md, "the
lab" and logs/ are to my working repository's notes; they are not needed.


2. WHERE THE BINARY FILES ARE

  sources/v32/ holds only the text files of the distribution. The binary
  files (.OBJ, .SYM, .EXE, .OLB: the compiler is written in Modula-2, so
  you need its object code to start) are in original/modula32.zip, which
  is the DECUS archive unmodified. The same archive, and the older V3.1
  tape, are at:

    DECUS VAX SIG library, modula32.zip (the Digiater DECUS mirror,
    https://www.digiater.nl/openvms/decus/ , extra/modula32.zip)
      SHA-256 d834617e7b0d07df612c44259686a4b3b5c06947aecb357e73438af75e7e2b2d
      (1,144,832 bytes); inside it m32.a, the BACKUP saveset
      (SHA-256 516c7959e8eb7b80fb776a0affff7cf2b9d7ef3a7f2e24f875d19e601d1b77a2)

    bitsavers.org, bits/DEC/vax/vms/Hamburg_Modula2/ (V3.1 tape image)
      VAX_Modula2.tap SHA-256
      4d23ddb9b190603386da0de006bdc0b140bcd488363b7fb31680811b45aae55c

  REBUILD.md sections 1 and 3 say what to do with them (the first step
  is unzip modula32.zip; its member m32.a is the saveset).


3. LICENCE

  The Hamburg sources state no licence (see README.TXT of the binary kit,
  section 3, and sources/README.md). They are included, unmodified, with
  attribution, as my decision of 12-OCT-2026, pending an answer
  to a request for permission to the University of Hamburg. My own files
  (installer, uninstaller, setup, examples, build procedures) are by
  Douglas P. Fields, Jr.; the three Python tools are CC0.
