One option for running Gwydion Dylan on the Microsoft Windows operating system is by utilizing Cygwin, a Linux-like environment for Windows. The following steps should allow you to build you a working Gwydion Dylan compiler on Windows.
1) Install Cygwin
Download the current version of the Cygwin setup program from the
Cygwin web site.
Run the setup program and install the default Cygwin packages plus
these additional packages (at a minimum):
- Devel/autoconf
- Devel/automake
- Devel/bison
- Devel/flex
- Devel/gcc
- Devel/gcc-g++
- Devel/gdb
- Devel/libtool
- Devel/make
If you are going to download the Gwydion Dylan source code using CVS, you will want to also install the following package:
- Devel/cvs
2) Install the Boehm-Demers-Weiser conservative garbage collector
Download the version 6.2 source package from http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ and save it into your Cygwin user home directory
Start a Cygwin bash shell from the Windows start menu
Execute commands similar to the following:
tar -zxvf gc6.2.tar.gz cd gc6.2 ./configure make make install
3) Retrieve the source code
These instructions assume you will place the Gwydion Dylan source code in the directory ~/gd/src
You have two options for obtaining the Gwydion Dylan source code:
downloading a tarball of the source code, or alternatively, by retrieving the Gwydion Dylan source code from the repository using the CVS version control system.
To get the source code via SVN, checkout the 2.4 branch of the source:
mkdir gd cd gd svn checkout svn://anonsvn.gwydiondylan.org/scm/svn/dylan/branches/GD_2_4/src
4) Build the dbclink tool
For the Windows version of Gwydion Dylan you need to compile and install a special program to allow Gwydion Dylan’s Mindy byte compiler to work correctly:
cd ~gd/src/tools/win32-misc make dbclink cp dbclink.exe /usr/local/bin
Now you are ready for the main part of the build.
5) Build the system
Since you don’t already have a working copy of Gwydion Dylan you need to do a ‘bootstrap’ from Mindy. Mindy is a Dylan bytecode interpreter. It compiles Dylan to a bytecode and interprets that bytecode. When bootstrapping, Mindy is used to compile Gwydion Dylan and then that bytecode version is used to re-compile Gwydion Dylan to C. That c-compiled version becomes the final Gwydion Dylan compiler that is installed.
If it sounds like a long process, that’s because it is. Mindy interpreted programs are quite slow. Don’t despair though. Run it overnight and you’ll have a super fast Gwydion Dylan compiler in the morning. Once you have this bootstrapped compiler you need never bootstrap again. Just use the existing Gwydion Dylan binary to rebuild the system if you want to modify the compiler.
To bootstrap, perform the following steps:
cd ../.. (this should return you into ~/gd/src) ./autogen.sh --with-gc-prefix=/usr/local make
This will bootstrap d2c. It will take a long time.
After make
completes, execute the following:
make install
6) Rebuild with the new d2c
Using the newly bootstrapped d2c, try rebuilding d2c again to test that it works okay. This should work faily quickly as you are not using Mindy to do the build. If you ever want to re-bootstrap with Mindy, pass the --enable-mindy-bootstrap
argument to configure
.
cd ~/gd/src ./configure --with-gc-prefix=/usr/local make make install
7) Test the system
Test the system with a simple ‘hello world’ application:
cd make-dylan-app hello cd hello make ./hello
You should see Hello, World!
appear on the console.
8) Done!
Well done, you’ve successfully built Gwydion Dylan for Windows!
Note: Once you compile and install, you may get the following problem: programs
compile but don’t link because libtool require a blank configure.in – just run
touch configure.in
to create a blank one to solve that. This is
a workaround at this stage… 🙂
You may also want to download the libraries and examples, which you can do
with the following commands:
svn checkout svn://anonsvn.gwydiondylan.org/scm/svn/dylan/trunk/libraries
svn checkout svn://anonsvn.gwydiondylan.org/scm/svn/dylan/trunk/examples