Skip to content
Alban edited this page Aug 24, 2019 · 12 revisions

Welcome to a modula-2 wiki

The compilers found here were created by Excelsior in Russia these are Copyright 1991-2019 Excelsior, LLC.

XDS (eXtensible Development System) is a framework on which base several compilers have been developed.

The Excelsior team; kindly open sourced their famous XDS modula-2 and oberon-2 optimising compilers.

That means you can use them confidently in the knowledge that if you need to change something; (and you can figure out how to do that); the source code is there for you.

As a user; you do not need to do this; since the 2.6 binary version that comes with the new Eclipse IDE works perfectly well. if you just want to write an application; Excelsior put everything that is needed in the release here.

https://github.com/excelsior-oss/xds-ide/releases

If you want to add new features; or port the compilers to another platform; it is always good to be able to recompile your compilers.

compile and build the XDS compilers on Windows 10.

  1. Edit the config and environment files: modula-2.config.Config-Alien.bsc and modula-2.config.env-Alien.bsc Change at least the file name; replace -THING with - {the machine name of your system}.

  2. Unzip binary SDK from https://github.com/excelsior-oss/xds-ide/releases and install it

  3. Set your path to include the SDK bin; and set include and lib to point at the MSVC SDK.

  4. Download and install NASM

  5. Select the 8.1 SDK e.g. "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 8.1

  6. Run the script xdswork.bat

Hints

I had to increase the memory in the project heap limits to get everything to compile.

The heap limits were set very low in many projects (to 12MB I think) in the project files; setting them to 128MB or much higher is harmless when you have Gigabytes of memory lurking unused in a PC; and these are limits not fixed; the settings in the source code are so low that the samples do not all compile; so it is well worth increasing them.

Alternative plan: (for steps 2..3) Unzip the XDS zip folder from this repo; that contains the SDK and NASM files; and updated project settings; add that to your path instead; and use that to recompile itself.

I tend to use the compilers in the XDS folder to compile new compilers in the XDS folder. Or more often compile something else.

Testing path etc.

If you type xc or xm you should get the version displayed.

e.g.

O2/M2 development system v2.51 TS  (c) 1991-2010 Excelsior, LLC. (build 18.08.2019)

Configuration:

   Front end:             Modula-2 v2.40

   Back end:              x86, v1.51

...
Clone this wiki locally