Compiling the JKernel
Development at Cornell is almost exclusively on WinNT. We use Sun's javac for compiling
because it generates correct (i.e. verifyable) bytecode more often than jvc, but we use
Microsoft's jview to run because it's faster. We edit with notepad, msdev, emacs, and
worse and we compile by hitting "nmake" in a command window. None of us has had
the patience to add all the files into an msdev project. Java and make aren't made for
each other, so what you get is less than you expect.
Compiling on Windows NT
- Unzip the source distribution into a working directory (ideally called jk-0.91)
- To compile the J-Kernel, JOS, and the platform-independent part of the J-Server:
- Install the following on your machine:
- Edit Make.base in the top-level directory and set the JDK variable to point to the
location of Sun's JDK. Alternatively, create a Make.personal file with those definitions
to be included in the makefile.
- Open a command shell and cd to your working directory.
- Run "nmake" and ignore the deprecated API warnings.
- To compile the J-Server IIS plug-in (after compiling the J-Kernel, JOS, and the
platform-independent part of the J-Server):
- Install the following software on your machine:
- Edit Make.base in the top-level directory and change the SDK_ROOT and DEVSTUDIO
definitions appropriately. Alternatively, create a Make.personal file with those
definitions to be included in the makefile.
- Open a command shell and cd to your working directory.
- Run "nmake jserver-iis".
Troubleshooting:
- If you get an error message saying that msjavah.exe, link.exe, cl.exe, or any other
executable needed is not found:
- If msjavah.exe is not found, make sure the SDK is installed and SDK_ROOT points to the
SDK installation location
- If link.exe or cl.exe is not found, make sure MS Developer is installed and the
DEVSTUDIO variable points to it.
Compiling on Solaris
- Ungzip and untar the distribution into a working directory (ideally called jk-0.91)
- We have a csh script named "unixbuild" in the top-level directory that
compiles the J-Kernel, JOS, and the platform-independent part of the J-Server. Edit
"unixbuild" and set the javac_base variable to point to Sun's JDK. Then
run "unixbuild".