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.
Initial setup
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 gec
instead.
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
to avoid 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
C:\Eiffel57
.
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:anonymous@gobo-eiffel.cvs.sf.net:/cvsroot/gobo-eiffel co gobo
That will create a gobo
directory in the
current directory. Say you are in C:\
, so that
will create C:\gobo
.
Now the environment variables. You need to create a
variable to say where is the Gobo directory, as well as
updating your %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
add both C:\Eiffel57\BCC55\Bin
and
C:\Eiffel57\studio\spec\windows\bin
to your
%PATH%
.
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
can use 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 geant
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:anonymous@gobo-eiffel.cvs.sf.net:/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)
Updates
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_ise
and 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!
4 Comments:
Just a few thoughts:
1) It is better to use the MSC compiler if it is installed on your system. Support for BCC looks as if it is dropping away in ISE's plans.
But evidentally it still works for gexslt.
2) It's not absolutely necessary to install an Eiffel compiler, as Gobo comes with it's own (gec). Gexslt compiled with gec is VERY fast, but you lack two things - one is a good debugging environment (but it should be sufficient for reporting gexslt bugs), and the other is a garbage collector (so you can't run VERY long transformations with it).
3) Are you sure geant install rebuilds the production version of gexslt? You may well be right, but if so, I didn't realise it.
Colin Adams
Hi Colin
Thanks for your comments. I modified the text of the entry accordingly.
Regards,
--drkm
Note that this procedure is now out-of-date as Gobo has moved to using subversion.
Colin Adams
Hi Colin
I am aware of this. I will change the text accordingly (or post a new entry), but I didn't have the time yet.
Thanks for your comment. Regards,
--
Florent Georges
Post a Comment
<< Home