Installing a Development Environment
See the Dependencies section for information on obtaining appropriate version of a JDK, Swing, the Cygwin environment, and zipping tools.
The E Source Distribution
For Windows users, we recommend downloading the zip of E source distribution.
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
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 the Windows magic setup.exe needs to do is 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. 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...
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. It should work to set the "Source files" to d:\e\src\jsrc, but it doesn't. Poking around all the menus, it seems impossible to do this automatically, but Jay Fenton discovered a trick. Go to the "Search" menu, select "Find in Files". Go to the "Name and Location" tab. In the "Find what:" enter "package" or any other string that all Java source files are guaranteed to contain. "In files of type:" should be "*.java". Select the "In folder:" radio button and fill in "d:\e\src\jsrc". Be sure "Search subfolders" is checked. The other options don't matter. Click "Find" and wait awhile while the "Find in Files" window lists all out *.java files.
Once this is done, go to the "Find in Files" window and right click to bring up a menu. Select "Add All to Project" and wait even longer. Once this is done, be sure to save your project to avoid losing all this work. (Exiting and re-entering Cafe is a foolproof technique.)
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!
Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.