Home | About | Partners | Contact Us

SourceForge Logo

Quick Links
Building XL
XL Mailing List

Understanding XL
Conceptual overview
XL examples
Inside XL
Concept Programming

In depth
Browse GIT
SourceForge Info

Other projects
GNU Project
The Mozart Project

XLR: Extensible Language and Runtime

The art of turning ideas into code

Build instructions

Prev: XL0 syntax and tree equivalence


Next: The "Dirty Bootstrap" implementation

You can build XL using the following steps:

  1. Set environment variables for CVS to point to the xlr project:

    export CVS_RSH=ssh export CVSROOT=:ext:your-login@cvs.sourceforge.net:/cvsroot/xlr

    You can use an existing SourceForge login, or use anonymous login. See the CVS instructions on SourceForge.

  2. Checkout the code:

    TinToy:/tmp> cvs checkout xl2 cvs checkout: Updating xl2 U xl2/.cvsignore U xl2/.gdb_history U xl2/COPYING U xl2/Makefile ...

  3. Select your build environment:

    export BUILDENV=macosx

    Build environments are defined by configuration makefiles, in the form Makefile.config.name. At this point in time, only macosx is fully supported, though there are pretty good chances that linux will work.

    You can copy and modify an existing configuration makefiles to suit your needs. If you do so, you may add an "autodetect" step in Makefile.config. (notice the trailing dot).

  4. Change directory to xl2 and type make

    TinToy:/tmp> cd xl2 TinToy:/tmp/xl2> make ----------- Making debug in /tmp/xl2 ------------ Building obj/macosx/debug Compiling main.cpp ...

  5. The above step will build and test three generations of compiler:

    • A bootstrap compiler written in C++, located under xl2
    • A bootstrap compiler written in XL, located under xl2/bootstrap
    • The current work in progress, located under xl2/native

    See the dirty bootstrap description for more details.

  6. The build above tests the native compiler from a directory named (appropriately) TESTS. These tests will most likely fail. At this point, this is normal.

  7. After a whole bootstrap has been done, subsequent build steps can be made directly from the xl2/native directory.

Prev: XL0 syntax and tree equivalence


Next: The "Dirty Bootstrap" implementation

Copyright 2008 Christophe de Dinechin (Blog)
E-mail: XL Mailing List (polluted by spam, unfortunately)