comparison make/windows/README @ 91:a294fd0c4b38

6583644: Move all managed/SCCS files out of 'build' into 'make' directory Summary: Moved makefiles out of build and build/closed into make/ Reviewed-by: kvn, ohair
author kamg
date Wed, 09 Apr 2008 14:22:48 -0400
parents build/windows/README@a61af66fc99e
children c18cbe5936b8
comparison
equal deleted inserted replaced
90:cf4e16e9ca60 91:a294fd0c4b38
1 Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved.
2 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3
4 This code is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License version 2 only, as
6 published by the Free Software Foundation.
7
8 This code is distributed in the hope that it will be useful, but WITHOUT
9 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11 version 2 for more details (a copy is included in the LICENSE file that
12 accompanied this code).
13
14 You should have received a copy of the GNU General Public License version
15 2 along with this work; if not, write to the Free Software Foundation,
16 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17
18 Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
19 CA 95054 USA or visit www.sun.com if you need additional information or
20 have any questions.
21
22 ________________________________________________________________________________
23
24 __Introduction__________________________________________________________________
25
26 This readme file should provide all the information needed to build
27 the HotSpot VM for Windows 95/Windows NT from its teamware workspace.
28 It is intended as a starting point for people who want to learn how
29 to work with the current HotSpot source workspace and who need to
30 build the VM locally. It is not intended as a tutorial for licensees.
31
32 Last update: 03/28/05
33
34
35 __Platform______________________________________________________________________
36
37 The VM builds under the following platforms:
38 - Windows NT 4.0 on Intel x486 or greater
39 - x486 PC (or greater), 32MByte or more
40
41
42 __Tools_________________________________________________________________________
43
44 For building/testing the following tools need to be available:
45 - Microsoft Visual C++ 6.0 (with nmake version 1.62.7022 or greater)
46 - MKS Toolkit 6.1 or greater
47 see: /net/reinstall/export/vol0/pc-archive/software/mks6.1 (NFS)
48 or: \\reinstall\pc-archive\software\mks6.1 (NT)
49
50
51 __JDK___________________________________________________________________________
52
53 The workspace works with the following version of the JDK:
54 (NOTE: these are out of date)
55 - JDK1.2FCS "V" build
56 see: /usr/local/java/jdk1.2/win32
57
58 and the following version(s) of HotJava:
59 - hjb1.1.4
60 - hjb1.1.5
61 see /usr/local/java/hjb1.1.x/win32
62
63
64 __Environment variables_________________________________________________________
65
66 The following environment variables need to be set up for the IDE
67 build process. For batch builds these do not need to be set.
68
69 HotSpotMksHome points to the (NFS or PC-local) directory where the MKS
70 executables (like sh.exe and grep.exe) are installed
71
72 Optionally you may set the following variables in your environment and they
73 will be picked up by the create.bat script used to generate the vm.vcproj files.
74 See the section on building within MS Developer Studio for more details.
75
76 HotSpotWorkSpace points to the (NFS) directory where the workspace is located
77 HotSpotBuildSpace points to the (PC-local) directory where the vm is built
78 HotSpotReleaseBinDest points to the (NFS or PC-local) directory where the product DLL is
79 written
80 HotSpotDebugBinDest points to the (NFS or PC-local) directory where the debug DLL is
81 written
82
83 NOTE: For both batch and IDE builds, java and javac must be in your
84 PATH, and the versions found by default must work. (If this turns out
85 to be a problem, we can define HotSpotJava and HotSpotJavaC for
86 bootstrapping...)
87
88 __Building the JVM from the command line________________________________________
89
90 1) choose a directory in which you want to build the vm
91 (the build process will create a subdirectory)
92
93 2) To build the 'core' version (debug || optimized)
94 %HotSpotWorkSpace%\build\windows\build <flavor> core %HotSpotWorkSpace% <jdk_dir>
95 To build the 'compiler2' version (debug || optimized)
96 %HotSpotWorkSpace%\build\windows\build <flavor> compiler2 %HotSpotWorkSpace% <jdk_dir>
97
98 where <jdk_dir> is a full path to a JDK in which bin/java and
99 bin/javac are present and working.
100
101 3) If you have problems with building, first try:
102 vcvars32 <CR> (sets path for VC++)
103
104 4) In addition to jvm.dll, the Serviceability Agent (SA) based JDI connector
105 and command line tools are built if dbgeng.h and dbgeng.lib
106 can be located, and BUILD_WIN_SA=1 is specified. We look for dbgeng.h here:
107 $(MSVCDIR)\PlatformSDK\Include
108 $(SYSTEMROOT)\..\Program Files\Microsoft SDK\include
109
110 The first directory is part of Visual Studio VC .NET 2003.
111 The second is used on Windows-amd64.
112
113
114 __Building the JVM from within MS Developer Studio______________________________
115
116 0) Set environment variables as described above
117
118 1) Run the following script:
119 %HotSpotWorkSpace%\build\windows\create <type> { <workspace> <buildspace> <productbindest> <debugbindest> }
120 where type is one of core, compiler1, compiler2. If you leave off the
121 "<workspace> <buildspace> <productbindest> <debugbindest>" part, the script expects to find their
122 values in the HotSpotWorkSpace, HotSpotBuildSpace, HotSpotReleaseBinDest, and HotSpotDebugBinDest environment
123 variables. The resulting vm.vcproj does not depend on these values in the environment.
124
125 This will populate the build space with the appropriate makefiles
126 and run nmake in it. This builds and runs makedeps, which now
127 generates the appropriate vm.vcproj into the build space. It also
128 builds and runs adlc.
129
130 To regenerate the .incl and .dsp files after changing the include
131 databases, just run nmake in the build space.
132
133 The build process now relies on java and javac. For the IDE builds,
134 the full path to a JDK (in which bin/java and bin/javac are present
135 and working) can be specified either explicitly with the
136 ALT_BOOTDIR environment variable (like the JDK build process), via
137 the JDK build's default BOOTDIR environment variable, via JAVA_HOME,
138 or implicitly via the PATH.
139
140 (Note that there are now many more command line options to MakeDeps
141 on the Windows platform than before. These have been bundled into
142 makefiles/makedeps.make, but it is still necessary to keep this in
143 sync with the batch makefiles, in vm/generated.)
144
145 If you have problems with building (i.e,. finding nmake), first try:
146 vcvars32 <CR> (sets path for VC++)
147
148 2) Double-click the vm.vcproj file in the %HotSpotBuildSpace% directory
149 to open MS Developer Studio.
150
151 3) build desired or all versions:
152 menu Build -> Batch Build... -> Build (or Rebuild All)
153
154 4) jvm.dll is in the %HotSpotReleaseBinDest% or %HotSpotDebugBinDest% directory
155 depending on which configuration you built (release or debug).
156
157 Note: do not edit any of the files (especially the vm.vcproj file) in the
158 build space, since they are all either autogenerated or copied from
159 the work space. If necessary, modify the original Makefiles in
160 %HotSpotWorkSpace%\build\windows\projectfiles, or the shared
161 makedeps arguments in
162 %HotSpotWorkSpace%\build\windows\makefiles\makedeps.make.
163
164 Note that it appears that some options set in the IDE (for example,
165 the default executable) show up not in the .dsp file, but in the .opt
166 file, so the automatic regeneration of the .dsp file should not
167 destroy the project settings. However, makedeps.make should be edited
168 to supply per-file compiler options.
169
170 To build adlc from within the IDE for debugging purposes:
171
172 1) in MS Developer Studio, open ADLCompiler.dsw:
173 menu File -> Open Workspace...
174 select & double-click ADLCompiler.dsw
175
176 2) rebuild all (debug mode is enough)
177 menu Build -> Rebuild All (make sure Win32 Debug version is selected)
178
179
180 __Testing the VM________________________________________________________________
181
182 To test the VM using the Tonga Testsuite, use testlook. testlook is a very
183 simple testing framework on top of Tonga which allows us to use one (Tonga)
184 test file, that can be extended with attributes.
185
186 1) copy %HotSpotWorkSpace%\test\testlook.bat onto PC (preferably
187 %HotSpotBuildSpace%\bin, which should ideally be in the path)
188
189 2) run testlook <cr> or testlook help <cr> for details
190
191 3) to run testlook you need to have Tonga mounted:
192 net use T: \\tapas\export1\psqe
193
194
195 __HotJava under HotSpot_________________________________________________________
196
197 To run HotJava, use the .bat file %HotSpotWorkSpace%\test\h.bat. Copy
198 it into %HotSpotBuildSpace%/<flavor> (which ideally is in the path) and run
199 HotJava: h java <flags> (e.g., h java_g -Xint).
200
201
202 __Preferred directory setup under Windows NT____________________________________
203
204 Within the HotSpot group we are using the following directory setup:
205
206 D:\jdk1.2 - where we install the JDK
207
208 The following drives are mounted for testing/putbacks/etc.:
209
210 net use T: \\tapas\export1\psqe
211 net use Y: \\rschmidt\GammaBase
212 net use Z: \\animorphic\animorphic