Gexslt: using the CVS version
This entry is a short comment describing how to download, set up and compile Gexslt from the CVS repository. Gexslt is an XSLT 2.0 processor written in Eiffel by Colin Adams, and is part of the Gobo project.
This entry is not a comprehensive documentation. On contrary, it is a short explanation for non-Eiffel programmers that want to use the last version of Gexslt. The fewer steps are described here, the better. I also describe my own setup; it is on Windows, with EiffelStudio.
So you first need an Eiffel compiler. Then you need the Gobo source code. A few environment variables have to be setup. Then you can compile Gexslt. I'll describe at the end how to update your copy of Gexslt to include the last fixes.
Gobo comes with its own Eiffel compiler:
gec. I don't use it because I had troubles to install it the first time I compiled Gexslt. So I describe the use of EiffelStudio (the compiler I use). Feel free to see the Gobo documentation to use
Download EiffelStudio from http://www.eiffel.com/products/studio/.
Just follow the instructions there to install the software.
Basically, you can download the installer, run it, then push
on "Next", "Next"... Say you installed it in
C:\Eiffel57. Install the Borland C++ compiler
shipped with EiffelStudio: just say "Yes" when the installer
ask you for (if you already have MSC compiler, you can avoid
installing the Borland one, and try to use MSC instead; see
the Gobo documentation).
Warning: It is strongly recommended to install
EiffelStudio in a path without any space (for example, try
C:\Program Files), as it may result in
an error in the Gobo build process! If you want to save
time to yourself, install it for example in
To get the source code for Gobo (including Gexslt) from its CVS repository, you need to use your favorite CVS client. With the command-line client from http://cvshome.org/, you can use the following to check out the sources (but you can put these information in your graphical client if you prefer, as the one for Eclipse):
cvs -d :pserver:firstname.lastname@example.org:/cvsroot/gobo-eiffel co gobo
That will create a
gobo directory in the
current directory. Say you are in
C:\, so that
Now the environment variables. You need to create a
variable to say where is the Gobo directory, as well as
%PATH% in order to the build
system will find the Eiffel and C compilers. So create the
%GOBO% variable with the value
C:\gobo (or whatever you actually used), and
C:\Eiffel57\studio\spec\windows\bin to your
Now you can compile Gobo. Just go to Gobo directory and run:
.\work\bootstrap\bootstrap.bat bcc ise
Now go to make a coffe, or even go to lunch, that step
will take a long time. After the compilation complete, you
C:\gobo\bin\gexslt.exe from the command
line to run XSLT 2.0 transformations.
But that is not the end of the story. If you are ready to do all this work to can use Gexslt from its CVS, you will probably be interested in two additional steps: compiling Gexslt with debug output enabled, and updating your copy with the last CVS state.
To enable the debug output, just go the the
C:\gobo\src\gexslt and run
compile_debug_ise. That will create the executable
C:\gobo\src\gexslt\gexslt.exe. My advice is to
not move it to
C:\gobo\bin, so you keep both
versions, with and without debug info. It is usefull,
because the debug enabled version takes a lot of time more
than the normal version.
So to resume all the steps for the initial setup:
rem Install EiffelStudio rem Create %GOBO% = C:\gobo rem Add both C:\Eiffel57\BCC55\Bin and rem C:\Eiffel57\studio\spec\windows\bin rem to your %PATH% rem Go to C:\ in a command prompt C: rem Get Gobo sources cvs -d :pserver:email@example.com:/cvsroot/gobo-eiffel co gobo rem Compile Gobo the first time work\bootstrap\bootstrap.bat bcc ise rem Compile Gexslt with debug support cd src\gexslt geant compile_debug_ise rem Now you can use C:\gobo\bin\gexslt.exe and rem C:\gobo\src\gexslt\gexslt.exe (with debug support)
To update your Gexslt, just update your local copy of the
Gobo repository with your prefered CVs client. For example
with the command-line CVS client, just go to
C:\gobo, then run
cvs update -dP.
To recompile, run first
geant install within
C:\gobo and then both
geant compile_debug_ise within
C:\gobo\src\gexslt, to recompile both the
normal and the debug-enabled versions (don't forget to copy
gexslt.exe between the two compilation phases!):
cd C:\gobo cvs update -dp geant install cd src\gexslt geant compile_ise copy gexslt.exe C:\gobo\bin geant compile_debug_ise
I think there is all that is needed by an XSLT developer working on Windows to can use Gexslt from the CVS.
If you think you find a bug in Gexslt, you can use the following mailing list to report it.
Thanks Colin for your work!