ERights Home download / stl-0-8-9-k 
Back to: E stl-0.8.9k: Installing on Windows x

Building E stl-0.8.9k
on Windows


Installing a Development Environment

See the Dependencies section for information on obtaining appropriate version of a JDK, the Cygwin environment, the byacc/J parser generator, and the zipping tools.

The E Source Distribution

For Windows users, we recommend downloading the zip of E source distribution.

Compilation Notes

There are still some deprecated methods used in this release. You can safely ignore these warnings for now.

Building from Makefiles

The only non-Java programs in the E binary distribution are

  • e.exe. The E driver program, which sets up the CLASSPATH and does some other command-line option processing around the launching of Java to run E.

  • setup.exe. The E installer, which does Registry magic to remember where E was installed and to set up associations for the extensions *.e, *.emaker, *.updoc, and *.cap. It does other Windows magic to create shortcuts (those launchable icons) for E and Elmer, which it places in various convenient places, like the Start menu.

To build the above two, you need a C compiler of some sort. The existing Makefiles compile e.exe with both Cygwin's gcc and Visual C++'s cl. Unfortunately, because setup.exe needs MSWindows hair not (yet?) supported by Cygwin, setup.exe is compiled only using Visual C++'s cl.

To build the release, cd to the e/src directory and type make.

Building in a Java IDE

The good news is that E itself is a pure Java program. If you don't need to rebuild the installer or the command-line driver, you can happily develop E using a Java-only development environment, such as Symantec's Visual Cafe (>= 4.0a Standard Edition). For concreteness, and because it's what I use, I'll explain how to build a Cafe project for E, but user's of other development environments should easily see how to do likewise in their system. But first, you need to go to "e/src/jsrc" and run "make setup" to initialize "e/classes". This does require the Cygwin environment.

To start with, create a "New Project". For a project type, select "Empty Project" since we don't want it generating new source files for us. Select "Project Options". Under the "Project" tab, deselect "Enable RAD for New Files" since this is needless overhead for us. The "Project Type" should be "Application - A program that requires a java.exe to run". We know of no reason why "Win32 - A standalone executable program" shouldn't work, but when we run the resulting executable we get an Out of Memory error. If you have different luck, please let me know.

For the "Main Class" enter "org.erights.e.elang.interp.Interp" -- the class whose main() is the top of the E interpreter. For command like arguments, put "d:\e\src\esrc\scripts\elmer.e". Elmer is a good way to test each new build of E.

On the "Compiler" tab, we recommend deselecting "Show command line", but salt to taste.

On the "Directories" tab, for "Show directories for", first select "Input class files". This is where you enter the equivalent of the CLASSPATH. Assuming you installed the E source tree at "d:\e\src", you should enter...

...these directories for these reasons
d:\e\src\esrc
For the *.emaker files
d:\e\classes
Where compiled java & resources (icons) go
d:\e\src\bin\jars\ALG_0-1-1.jar
d:\e\src\bin\jars\IJCE_0-1-1.jar
d:\e\src\bin\jars\SPT_0-1-1.jar
The Cryptix files. These cannot be unpacked into \e\classes, but must instead be included by name.

 

For "Output files", "Output directory", enter "d:\e\classes". This is where Cafe's compiler will place the *.class files.

Now we need to suck all the e\src\jsrc\*.java files into the project. Right click in the project windows and select "Insert files". Navigate to the directory "e\src\jsrc", select "subfolders", click on "Add All", and then click on "Ok". Wait while it adds all these files to your project.

Finally, on the "Project" menu, select "Run in Debugger". Hopefully, after everything successfully compiles, you'll see an Elmer window. You are now running Elmer under the Cafe debugger. Have fun!

Message window:

Debug tab:

# problem: <runtimeexception: org/erights/e/elang/syntax/parsertables.data not found>

Build tab:

One of the debugees has quit execution!

 
Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.
ERights Home  
Prev x Next
Download    FAQ    API    Mail Archive    Donate

report bug (including invalid html)

Golden Key Campaign Blue Ribbon Campaign