Microsoft Windows Support

Stratego -- Strategies for Program Transformation
Supporting Microsoft Windows is scheduled for StrategoXT 0.9.3. We are already investigating the problems and this page will list the results. Currently we are using Cygwin.

Installation of dependencies

Installation of StrategoXT 0.9.x requires :

  • ATerm library
  • SGLR
    • Toolbus library
    • pt-support
  • PGEN
    • asc-support
    • asf-support
    • sdf-support
    • pt-support

ATerm library

SGLR

  • Installation of toolbus-lib, pt-support and SGLR is no problem.
  • check succeeds.

PGEN

  • asf-support 1.0: no problem
  • asc-support 1.6: no problem
  • sdf-support 1.0: no problem
  • pgen 1.6: no problem (sdf2table is a shell-script)

StrategoXT

Stratego runtime system

The Stratego Run Time System ( SRTS ) installs fine, but bootstrapped C sources compiled with the runtime will cause a segementation fault on any invocation of a procedure in the SRTS.

-- MartinBravenboer - 17 May 2003

Cygwin doesn't like this:

srts/src/stratego-choice.c :

  #define JMPBUFS 1638400
  jmp_buf jmpbufs[JMPBUFS];

The number of JMPBUFS is too large. Currently I'm using 563840 for testing purposes, but this might be a problem in heavy Stratego programs (abox2text for example).

Does anybody know what might be the reasoning behind disallowing such large arrays on Microsoft Windows/Cygwin?

-- MartinBravenboer - 19 May 2003

More complex Stratego program run if compiled with the adapted SRTS. implode-asfix has been compiled to an .exe. The first step towards Microsoft Windows Support is a binary distribution of sdf2. See this message on the mailing list.

-- MartinBravenboer - 19 May 2003

StrategoXT 0.9.1 compiles on cygwin, after changing the above (stratego-choice.c) and the removal of the asource tool. Problem that occurs now is that in the XTC repository tools occur as follows: (Tool("meta-explode.exe"),[("0.9.1","/opt/strategoxt/bin/meta-explode.exe")]), so with the extensions of executables.

-- RobVermaas - 12 Jun 2003

bootstrap scripts (or shell scripts without an extension in general) need to have a '#!' as first characters to be executable on cygwin.

-- RobVermaas - 16 Jun 2003

XTC tools are registered properly now. Current LatestSources? compile on cygwin, but only if you have the right permissions (it fails at boxenv, when running 'latex boxenv.ins').

Don't be surprised if memory-usage goes up to 800 MB sometimes. We should do somthing about this.

-- RobVermaas - 16 Jun 2003