make/windows/makefiles/projectcreator.make

Fri, 15 Apr 2011 09:34:43 -0400

author
zgu
date
Fri, 15 Apr 2011 09:34:43 -0400
changeset 3031
b1cbb0907b36
parent 2675
74e790c48cd4
child 3283
c17bc65648de
permissions
-rw-r--r--

7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
Summary: Created Windows Dll wrapped to handle jdk6 and jdk7 platform requirements, also provided more restictive Dll search orders for Windows system Dlls.
Reviewed-by: acorn, dcubed, ohair, alanb

duke@435 1 #
sla@2540 2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
duke@435 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 4 #
duke@435 5 # This code is free software; you can redistribute it and/or modify it
duke@435 6 # under the terms of the GNU General Public License version 2 only, as
duke@435 7 # published by the Free Software Foundation.
duke@435 8 #
duke@435 9 # This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 12 # version 2 for more details (a copy is included in the LICENSE file that
duke@435 13 # accompanied this code).
duke@435 14 #
duke@435 15 # You should have received a copy of the GNU General Public License version
duke@435 16 # 2 along with this work; if not, write to the Free Software Foundation,
duke@435 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 18 #
trims@1907 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 20 # or visit www.oracle.com if you need additional information or have any
trims@1907 21 # questions.
duke@435 22 #
duke@435 23 #
duke@435 24
kamg@526 25 !include $(WorkSpace)/make/windows/makefiles/rules.make
duke@435 26
duke@435 27 # This is used externally by both batch and IDE builds, so can't
duke@435 28 # reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
duke@435 29 # HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
duke@435 30
stefank@2314 31 ProjectCreatorSources=\
stefank@2314 32 $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \
stefank@2314 33 $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \
stefank@2314 34 $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \
stefank@2314 35 $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
stefank@2314 36 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
stefank@2314 37 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \
stefank@2314 38 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
stefank@2314 39 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
stefank@2314 40 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
sla@2675 41 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \
stefank@2314 42 $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
stefank@2314 43 $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
stefank@2314 44 $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
duke@435 45
duke@435 46 # This is only used internally
stefank@2314 47 ProjectCreatorIncludesPRIVATE=\
sla@2540 48 -relativeInclude src\closed\share\vm \
sla@2540 49 -relativeInclude src\closed\os\windows\vm \
sla@2540 50 -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \
sla@2540 51 -relativeInclude src\closed\cpu\$(Platform_arch)\vm \
stefank@2314 52 -relativeInclude src\share\vm \
duke@435 53 -relativeInclude src\share\vm\prims \
duke@435 54 -relativeInclude src\os\windows\vm \
duke@435 55 -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
stefank@2314 56 -relativeInclude src\cpu\$(Platform_arch)\vm \
stefank@2314 57 -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
stefank@2314 58 -ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \
stefank@2314 59 -ignorePath src\share\vm\adlc \
stefank@2314 60 -ignorePath src\share\vm\shark
duke@435 61
duke@435 62 # This is referenced externally by both the IDE and batch builds
stefank@2314 63 ProjectCreatorOptions=
duke@435 64
duke@435 65 # This is used externally, but only by the IDE builds, so we can
duke@435 66 # reference environment variables which aren't defined in the batch
duke@435 67 # build process.
duke@435 68
stefank@2314 69 ProjectCreatorIDEOptions = \
duke@435 70 -useToGeneratePch java.cpp \
duke@435 71 -disablePch os_windows.cpp \
duke@435 72 -disablePch os_windows_$(Platform_arch).cpp \
duke@435 73 -disablePch osThread_windows.cpp \
duke@435 74 -disablePch bytecodeInterpreter.cpp \
duke@435 75 -disablePch bytecodeInterpreterWithChecks.cpp \
stefank@2314 76 -disablePch getThread_windows_$(Platform_arch).cpp \
duke@435 77 -disablePch_compiler2 opcodes.cpp
duke@435 78
duke@435 79 # Common options for the IDE builds for core, c1, and c2
stefank@2314 80 ProjectCreatorIDEOptions=\
stefank@2314 81 $(ProjectCreatorIDEOptions) \
duke@435 82 -sourceBase $(HOTSPOTWORKSPACE) \
stefank@2314 83 -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
duke@435 84 -startAt src \
stefank@2314 85 -compiler $(VcVersion) \
sla@2540 86 -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
duke@435 87 -jdkTargetRoot $(HOTSPOTJDKDIST) \
duke@435 88 -define ALIGN_STACK_FRAMES \
duke@435 89 -define VM_LITTLE_ENDIAN \
ikrylov@1094 90 -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
sla@2369 91 -postbuild "" "Building hotspot.exe..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) nmake -f $(HOTSPOTWORKSPACE)\make\windows\projectfiles\common\Makefile LOCAL_MAKE=$(HOTSPOTBUILDSPACE)\%f\local.make JAVA_HOME=$(HOTSPOTJDKDIST) launcher" \
stefank@2314 92 -ignoreFile jsig.c \
stefank@2314 93 -ignoreFile jvmtiEnvRecommended.cpp \
stefank@2314 94 -ignoreFile jvmtiEnvStub.cpp \
stefank@2314 95 -ignoreFile globalDefinitions_gcc.hpp \
stefank@2314 96 -ignoreFile globalDefinitions_sparcWorks.hpp \
stefank@2314 97 -ignoreFile version.rc \
stefank@2314 98 -ignoreFile Xusage.txt \
stefank@2314 99 -define TARGET_ARCH_x86 \
stefank@2314 100 -define TARGET_OS_ARCH_windows_x86 \
stefank@2314 101 -define TARGET_OS_FAMILY_windows \
stefank@2314 102 -define TARGET_COMPILER_visCPP \
stefank@2314 103 $(ProjectCreatorIncludesPRIVATE)
duke@435 104
duke@435 105 # Add in build-specific options
duke@435 106 !if "$(BUILDARCH)" == "i486"
stefank@2314 107 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
sla@2540 108 -platformName Win32 \
stefank@2314 109 -define IA32 \
stefank@2314 110 -ignorePath x86_64 \
stefank@2314 111 -define TARGET_ARCH_MODEL_x86_32
stefank@2314 112 !else
sla@2540 113 !if "$(BUILDARCH)" == "amd64"
stefank@2314 114 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
sla@2540 115 -platformName x64 \
sla@2540 116 -define AMD64 \
sla@2540 117 -define _LP64 \
stefank@2314 118 -ignorePath x86_32 \
sla@2540 119 -define TARGET_ARCH_MODEL_x86_64 \
sla@2540 120 -define TARGET_OS_ARCH_MODEL_windows_x86_64
sla@2540 121 !endif
duke@435 122 !endif
duke@435 123
stefank@2314 124 ProjectCreatorIDEOptionsIgnoreCompiler1=\
stefank@2314 125 -ignorePath_TARGET c1_
stefank@2314 126
stefank@2314 127 ProjectCreatorIDEOptionsIgnoreCompiler2=\
stefank@2314 128 -ignorePath_TARGET src/share/vm/opto \
stefank@2314 129 -ignorePath_TARGET src/share/vm/libadt \
stefank@2314 130 -ignorePath_TARGET adfiles \
stefank@2314 131 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \
stefank@2314 132 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \
stefank@2314 133 -ignorePath_TARGET chaitin \
stefank@2314 134 -ignorePath_TARGET c2_ \
stefank@2314 135 -ignorePath_TARGET runtime_ \
stefank@2314 136 -ignoreFile_TARGET ciTypeFlow.cpp \
stefank@2314 137 -ignoreFile_TARGET ciTypeFlow.hpp \
stefank@2314 138 -ignoreFile_TARGET $(Platform_arch_model).ad
stefank@2314 139
stefank@2314 140 ##################################################
stefank@2314 141 # Without compiler(core) specific options
stefank@2314 142 ##################################################
stefank@2314 143 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
stefank@2314 144 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \
stefank@2314 145 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core)
stefank@2314 146
duke@435 147 ##################################################
duke@435 148 # JKERNEL specific options
duke@435 149 ##################################################
stefank@2314 150 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
duke@435 151 -define_kernel KERNEL \
stefank@2314 152 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=kernel) \
stefank@2314 153 -ignorePath_kernel src/share/vm/gc_implementation/parallelScavenge \
stefank@2314 154 -ignorePath_kernel src/share/vm/gc_implementation/parNew \
stefank@2314 155 -ignorePath_kernel src/share/vm/gc_implementation/concurrentMarkSweep \
stefank@2314 156 -ignorePath_kernel src/share/vm/gc_implementation/g1 \
stefank@2314 157 -ignoreFile_kernel attachListener.cpp \
stefank@2314 158 -ignoreFile_kernel attachListener_windows.cpp \
stefank@2314 159 -ignoreFile_kernel dump.cpp \
stefank@2314 160 -ignoreFile_kernel dump_$(Platform_arch_model).cpp \
stefank@2314 161 -ignoreFile_kernel forte.cpp \
stefank@2314 162 -ignoreFile_kernel fprofiler.cpp \
stefank@2314 163 -ignoreFile_kernel heapDumper.cpp \
stefank@2314 164 -ignoreFile_kernel heapInspection.cpp \
stefank@2314 165 -ignoreFile_kernel jniCheck.cpp \
stefank@2314 166 -ignoreFile_kernel jvmtiCodeBlobEvents.cpp \
stefank@2314 167 -ignoreFile_kernel jvmtiExtensions.cpp \
stefank@2314 168 -ignoreFile_kernel jvmtiImpl.cpp \
stefank@2314 169 -ignoreFile_kernel jvmtiRawMonitor.cpp \
stefank@2314 170 -ignoreFile_kernel jvmtiTagMap.cpp \
stefank@2314 171 -ignoreFile_kernel jvmtiTrace.cpp \
stefank@2314 172 -ignoreFile_kernel jvmtiTrace.hpp \
stefank@2314 173 -ignoreFile_kernel restore.cpp \
stefank@2314 174 -ignoreFile_kernel serialize.cpp \
stefank@2314 175 -ignoreFile_kernel vmStructs.cpp \
stefank@2314 176 -ignoreFile_kernel g1MemoryPool.cpp \
stefank@2314 177 -ignoreFile_kernel g1MemoryPool.hpp \
stefank@2314 178 -ignoreFile_kernel psMemoryPool.cpp \
stefank@2314 179 -ignoreFile_kernel psMemoryPool.hpp \
stefank@2314 180 -ignoreFile_kernel gcAdaptivePolicyCounters.cpp \
stefank@2314 181 -ignoreFile_kernel concurrentGCThread.cpp \
stefank@2314 182 -ignoreFile_kernel mutableNUMASpace.cpp \
stefank@2314 183 -ignoreFile_kernel ciTypeFlow.cpp \
stefank@2314 184 -ignoreFile_kernel ciTypeFlow.hpp \
stefank@2314 185 -ignoreFile_kernel oop.pcgc.inline.hpp \
stefank@2314 186 -ignoreFile_kernel oop.psgc.inline.hpp \
stefank@2314 187 -ignoreFile_kernel allocationStats.cpp \
stefank@2314 188 -ignoreFile_kernel allocationStats.hpp \
stefank@2314 189 -ignoreFile_kernel concurrentGCThread.hpp \
stefank@2314 190 -ignoreFile_kernel gSpaceCounters.cpp \
stefank@2314 191 -ignoreFile_kernel gSpaceCounters.hpp \
stefank@2314 192 -ignoreFile_kernel gcAdaptivePolicyCounters.hpp \
stefank@2314 193 -ignoreFile_kernel immutableSpace.cpp \
stefank@2314 194 -ignoreFile_kernel mutableNUMASpace.hpp \
stefank@2314 195 -ignoreFile_kernel mutableSpace.cpp \
stefank@2314 196 -ignoreFile_kernel spaceCounters.cpp \
stefank@2314 197 -ignoreFile_kernel spaceCounters.hpp \
stefank@2314 198 -ignoreFile_kernel yieldingWorkgroup.cpp \
stefank@2314 199 -ignoreFile_kernel yieldingWorkgroup.hpp \
stefank@2314 200 -ignorePath_kernel vmStructs_ \
stefank@2314 201 -ignoreFile_kernel $(Platform_arch_model).ad \
stefank@2314 202 -additionalFile_kernel gcTaskManager.hpp
duke@435 203
duke@435 204 ##################################################
duke@435 205 # Client(C1) compiler specific options
duke@435 206 ##################################################
stefank@2314 207 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
duke@435 208 -define_compiler1 COMPILER1 \
stefank@2314 209 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1)
duke@435 210
duke@435 211 ##################################################
duke@435 212 # Server(C2) compiler specific options
duke@435 213 ##################################################
duke@435 214 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
stefank@2314 215 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
duke@435 216 -define_compiler2 COMPILER2 \
duke@435 217 -additionalFile_compiler2 $(Platform_arch_model).ad \
stefank@2314 218 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).cpp \
stefank@2314 219 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).hpp \
stefank@2314 220 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_clone.cpp \
stefank@2314 221 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_expand.cpp \
stefank@2314 222 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_format.cpp \
stefank@2314 223 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_gen.cpp \
stefank@2314 224 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_misc.cpp \
stefank@2314 225 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_peephole.cpp \
stefank@2314 226 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_pipeline.cpp \
stefank@2314 227 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles adGlobals_$(Platform_arch_model).hpp \
stefank@2314 228 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles dfa_$(Platform_arch_model).cpp \
stefank@2314 229 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2)
duke@435 230
duke@435 231 # Add in the jvmti (JSR-163) options
duke@435 232 # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated
duke@435 233 # so the programmer can diff it with jvmtiEnv.cpp to be sure the
duke@435 234 # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
duke@435 235 # If so, they would then check it in as a new version of jvmtiEnv.cpp.
stefank@2314 236 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
stefank@2314 237 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnv.hpp \
stefank@2314 238 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnter.cpp \
stefank@2314 239 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnterTrace.cpp \
stefank@2314 240 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmti.h \
stefank@2314 241 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles bytecodeInterpreterWithChecks.cpp

mercurial