diff -r cf4e16e9ca60 -r a294fd0c4b38 make/windows/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/windows/README Wed Apr 09 14:22:48 2008 -0400 @@ -0,0 +1,212 @@ +Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved. +DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + +This code is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License version 2 only, as +published by the Free Software Foundation. + +This code is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +version 2 for more details (a copy is included in the LICENSE file that +accompanied this code). + +You should have received a copy of the GNU General Public License version +2 along with this work; if not, write to the Free Software Foundation, +Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + +Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +CA 95054 USA or visit www.sun.com if you need additional information or +have any questions. + +________________________________________________________________________________ + +__Introduction__________________________________________________________________ + +This readme file should provide all the information needed to build +the HotSpot VM for Windows 95/Windows NT from its teamware workspace. +It is intended as a starting point for people who want to learn how +to work with the current HotSpot source workspace and who need to +build the VM locally. It is not intended as a tutorial for licensees. + +Last update: 03/28/05 + + +__Platform______________________________________________________________________ + +The VM builds under the following platforms: +- Windows NT 4.0 on Intel x486 or greater +- x486 PC (or greater), 32MByte or more + + +__Tools_________________________________________________________________________ + +For building/testing the following tools need to be available: +- Microsoft Visual C++ 6.0 (with nmake version 1.62.7022 or greater) +- MKS Toolkit 6.1 or greater + see: /net/reinstall/export/vol0/pc-archive/software/mks6.1 (NFS) + or: \\reinstall\pc-archive\software\mks6.1 (NT) + + +__JDK___________________________________________________________________________ + +The workspace works with the following version of the JDK: +(NOTE: these are out of date) +- JDK1.2FCS "V" build + see: /usr/local/java/jdk1.2/win32 + +and the following version(s) of HotJava: +- hjb1.1.4 +- hjb1.1.5 + see /usr/local/java/hjb1.1.x/win32 + + +__Environment variables_________________________________________________________ + +The following environment variables need to be set up for the IDE +build process. For batch builds these do not need to be set. + +HotSpotMksHome points to the (NFS or PC-local) directory where the MKS + executables (like sh.exe and grep.exe) are installed + +Optionally you may set the following variables in your environment and they +will be picked up by the create.bat script used to generate the vm.vcproj files. +See the section on building within MS Developer Studio for more details. + +HotSpotWorkSpace points to the (NFS) directory where the workspace is located +HotSpotBuildSpace points to the (PC-local) directory where the vm is built +HotSpotReleaseBinDest points to the (NFS or PC-local) directory where the product DLL is + written +HotSpotDebugBinDest points to the (NFS or PC-local) directory where the debug DLL is + written + +NOTE: For both batch and IDE builds, java and javac must be in your +PATH, and the versions found by default must work. (If this turns out +to be a problem, we can define HotSpotJava and HotSpotJavaC for +bootstrapping...) + +__Building the JVM from the command line________________________________________ + +1) choose a directory in which you want to build the vm + (the build process will create a subdirectory) + +2) To build the 'core' version (debug || optimized) + %HotSpotWorkSpace%\build\windows\build core %HotSpotWorkSpace% + To build the 'compiler2' version (debug || optimized) + %HotSpotWorkSpace%\build\windows\build compiler2 %HotSpotWorkSpace% + + where is a full path to a JDK in which bin/java and + bin/javac are present and working. + +3) If you have problems with building, first try: + vcvars32 (sets path for VC++) + +4) In addition to jvm.dll, the Serviceability Agent (SA) based JDI connector + and command line tools are built if dbgeng.h and dbgeng.lib + can be located, and BUILD_WIN_SA=1 is specified. We look for dbgeng.h here: + $(MSVCDIR)\PlatformSDK\Include + $(SYSTEMROOT)\..\Program Files\Microsoft SDK\include + + The first directory is part of Visual Studio VC .NET 2003. + The second is used on Windows-amd64. + + +__Building the JVM from within MS Developer Studio______________________________ + +0) Set environment variables as described above + +1) Run the following script: + %HotSpotWorkSpace%\build\windows\create { } + where type is one of core, compiler1, compiler2. If you leave off the + " " part, the script expects to find their + values in the HotSpotWorkSpace, HotSpotBuildSpace, HotSpotReleaseBinDest, and HotSpotDebugBinDest environment + variables. The resulting vm.vcproj does not depend on these values in the environment. + + This will populate the build space with the appropriate makefiles + and run nmake in it. This builds and runs makedeps, which now + generates the appropriate vm.vcproj into the build space. It also + builds and runs adlc. + + To regenerate the .incl and .dsp files after changing the include + databases, just run nmake in the build space. + + The build process now relies on java and javac. For the IDE builds, + the full path to a JDK (in which bin/java and bin/javac are present + and working) can be specified either explicitly with the + ALT_BOOTDIR environment variable (like the JDK build process), via + the JDK build's default BOOTDIR environment variable, via JAVA_HOME, + or implicitly via the PATH. + + (Note that there are now many more command line options to MakeDeps + on the Windows platform than before. These have been bundled into + makefiles/makedeps.make, but it is still necessary to keep this in + sync with the batch makefiles, in vm/generated.) + + If you have problems with building (i.e,. finding nmake), first try: + vcvars32 (sets path for VC++) + +2) Double-click the vm.vcproj file in the %HotSpotBuildSpace% directory + to open MS Developer Studio. + +3) build desired or all versions: + menu Build -> Batch Build... -> Build (or Rebuild All) + +4) jvm.dll is in the %HotSpotReleaseBinDest% or %HotSpotDebugBinDest% directory + depending on which configuration you built (release or debug). + +Note: do not edit any of the files (especially the vm.vcproj file) in the +build space, since they are all either autogenerated or copied from +the work space. If necessary, modify the original Makefiles in +%HotSpotWorkSpace%\build\windows\projectfiles, or the shared +makedeps arguments in +%HotSpotWorkSpace%\build\windows\makefiles\makedeps.make. + +Note that it appears that some options set in the IDE (for example, +the default executable) show up not in the .dsp file, but in the .opt +file, so the automatic regeneration of the .dsp file should not +destroy the project settings. However, makedeps.make should be edited +to supply per-file compiler options. + +To build adlc from within the IDE for debugging purposes: + +1) in MS Developer Studio, open ADLCompiler.dsw: + menu File -> Open Workspace... + select & double-click ADLCompiler.dsw + +2) rebuild all (debug mode is enough) + menu Build -> Rebuild All (make sure Win32 Debug version is selected) + + +__Testing the VM________________________________________________________________ + +To test the VM using the Tonga Testsuite, use testlook. testlook is a very +simple testing framework on top of Tonga which allows us to use one (Tonga) +test file, that can be extended with attributes. + +1) copy %HotSpotWorkSpace%\test\testlook.bat onto PC (preferably + %HotSpotBuildSpace%\bin, which should ideally be in the path) + +2) run testlook or testlook help for details + +3) to run testlook you need to have Tonga mounted: + net use T: \\tapas\export1\psqe + + +__HotJava under HotSpot_________________________________________________________ + +To run HotJava, use the .bat file %HotSpotWorkSpace%\test\h.bat. Copy +it into %HotSpotBuildSpace%/ (which ideally is in the path) and run +HotJava: h java (e.g., h java_g -Xint). + + +__Preferred directory setup under Windows NT____________________________________ + +Within the HotSpot group we are using the following directory setup: + +D:\jdk1.2 - where we install the JDK + +The following drives are mounted for testing/putbacks/etc.: + +net use T: \\tapas\export1\psqe +net use Y: \\rschmidt\GammaBase +net use Z: \\animorphic\animorphic