1.1 --- a/make/Makefile Fri Jan 28 10:04:51 2011 -0800
1.2 +++ b/make/Makefile Wed Feb 02 09:39:31 2011 -0800
1.3 @@ -100,7 +100,6 @@
1.4 DEVTOOLS_PATH.desc = Directory containing zip and unzip
1.5 CUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
1.6 DXSDK_PATH.desc = Root directory of DirectX SDK
1.7 -MSVCRT_DLL_PATH.desc = Directory containing mscvrt.dll
1.8
1.9 # Make variables to print out (description and value)
1.10 VARIABLE_PRINTVAL_LIST += \
1.11 @@ -133,12 +132,10 @@
1.12 ifeq ($(PLATFORM), windows)
1.13
1.14 VARIABLE_PRINTVAL_LIST += \
1.15 - DXSDK_PATH \
1.16 - MSVCRT_DLL_PATH
1.17 + DXSDK_PATH
1.18
1.19 VARIABLE_CHECKDIR_LIST += \
1.20 - DXSDK_PATH \
1.21 - MSVCRT_DLL_PATH
1.22 + DXSDK_PATH
1.23
1.24 endif
1.25
2.1 --- a/make/com/sun/java/pack/Makefile Fri Jan 28 10:04:51 2011 -0800
2.2 +++ b/make/com/sun/java/pack/Makefile Wed Feb 02 09:39:31 2011 -0800
2.3 @@ -155,6 +155,7 @@
2.4 $(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1
2.5 endif
2.6 $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)
2.7 + @$(call binary_file_verification,$@)
2.8 $(install-module-file)
2.9
2.10 ifeq ($(PLATFORM), windows)
3.1 --- a/make/common/Defs-windows.gmk Fri Jan 28 10:04:51 2011 -0800
3.2 +++ b/make/common/Defs-windows.gmk Wed Feb 02 09:39:31 2011 -0800
3.3 @@ -67,28 +67,27 @@
3.4
3.5 # The following DLL's are considered MS runtime libraries and should
3.6 # not to be REBASEd, see deploy/make/common/Release.gmk.
3.7 -# msvcrt.dll, msvcrnn.dll [msvcr71 or msvcr80 or msvcr90] : Microsoft runtimes
3.8 -MS_RUNTIME_LIBRARIES = msvcrt.dll
3.9 +# msvcr*.dll: Microsoft runtimes
3.10 ifeq ($(ARCH_DATA_MODEL), 32)
3.11 ifeq ($(COMPILER_VERSION), VS2003)
3.12 MSVCRNN_DLL = msvcr71.dll
3.13 MSVCPNN_DLL = msvcp71.dll
3.14 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.15 + MS_RUNTIME_LIBRARIES = msvcrt.dll $(MSVCRNN_DLL)
3.16 endif
3.17 ifeq ($(COMPILER_VERSION), VS2005)
3.18 MSVCRNN_DLL = msvcr80.dll
3.19 MSVCPNN_DLL = msvcp80.dll
3.20 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.21 + MS_RUNTIME_LIBRARIES = msvcrt.dll $(MSVCRNN_DLL)
3.22 endif
3.23 ifeq ($(COMPILER_VERSION), VS2008)
3.24 MSVCRNN_DLL = msvcr90.dll
3.25 MSVCPNN_DLL = msvcp90.dll
3.26 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.27 + MS_RUNTIME_LIBRARIES = msvcrt.dll $(MSVCRNN_DLL)
3.28 endif
3.29 ifeq ($(COMPILER_VERSION), VS2010)
3.30 MSVCRNN_DLL = msvcr100.dll
3.31 MSVCPNN_DLL = msvcp100.dll
3.32 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.33 + MS_RUNTIME_LIBRARIES = $(MSVCRNN_DLL)
3.34 endif
3.35 endif
3.36
3.37 @@ -96,12 +95,12 @@
3.38 ifeq ($(COMPILER_VERSION), VS2008)
3.39 MSVCRNN_DLL = msvcr90.dll
3.40 MSVCPNN_DLL = msvcp90.dll
3.41 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.42 + MS_RUNTIME_LIBRARIES = msvcrt.dll $(MSVCRNN_DLL)
3.43 endif
3.44 ifeq ($(COMPILER_VERSION), VS2010)
3.45 MSVCRNN_DLL = msvcr100.dll
3.46 MSVCPNN_DLL = msvcp100.dll
3.47 - MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
3.48 + MS_RUNTIME_LIBRARIES = $(MSVCRNN_DLL)
3.49 endif
3.50 endif
3.51
3.52 @@ -283,7 +282,7 @@
3.53 MS_RUNTIME_OPTION=-MTd
3.54 else
3.55 # This MS debugging flag forces a dependence on the debug
3.56 - # version of the runtime library (MSVCRTD.DLL), as does -MDd.
3.57 + # version of the runtime library (MSVCR*D.DLL), as does -MDd.
3.58 # We cannot re-distribute this debug runtime.
3.59 MS_RUNTIME_OPTION=-MDd
3.60 endif
4.1 --- a/make/common/Demo.gmk Fri Jan 28 10:04:51 2011 -0800
4.2 +++ b/make/common/Demo.gmk Wed Feb 02 09:39:31 2011 -0800
4.3 @@ -294,6 +294,7 @@
4.4 @$(prep-target)
4.5 $(LINK.demo) $(SHARED_LIBRARY_FLAG) $(CC_PROGRAM_OUTPUT_FLAG)$@ \
4.6 $(DEMO_FULL_OBJECTS) $(LDLIBS.demo)
4.7 + @$(call binary_file_verification,$@)
4.8
4.9 # Generation of any javah include file, make sure objects are dependent on it
4.10 ifdef DEMO_NATIVECLASS
5.1 --- a/make/common/Library.gmk Fri Jan 28 10:04:51 2011 -0800
5.2 +++ b/make/common/Library.gmk Wed Feb 02 09:39:31 2011 -0800
5.3 @@ -167,6 +167,7 @@
5.4 $(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
5.5 $(OTHER_LCF) $(JAVALIB) $(LDLIBS)
5.6 $(CP) $(OBJDIR)/$(@F) $@
5.7 + @$(call binary_file_verification,$@)
5.8 $(install-module-file)
5.9 $(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
5.10 $(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
5.11 @@ -233,6 +234,7 @@
5.12 $(AR) -r $@ $(FILES_o)
5.13 else # LIBRARY
5.14 $(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
5.15 + @$(call binary_file_verification,$@)
5.16 $(install-module-file)
5.17 ifeq ($(WRITE_LIBVERSION),true)
5.18 $(MCS) -d -a "$(FULL_VERSION)" $@
6.1 --- a/make/common/Modules.gmk Fri Jan 28 10:04:51 2011 -0800
6.2 +++ b/make/common/Modules.gmk Wed Feb 02 09:39:31 2011 -0800
6.3 @@ -73,47 +73,20 @@
6.4
6.5 #
6.6 # Paths to these files we need
6.7 -JDK_MODULE_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
6.8 -JDK_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%64)
6.9 -JDK_MODULE_DOCFILES = $(OTHER_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
6.10 -
6.11 -JRE_MODULE_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
6.12 -JRE_MODULE_64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%64)
6.13 -JRE_MODULE_DOCFILES = $(OTHER_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
6.14 -JRE_MODULE_DOCFILES += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX))
6.15 +JDK_MODULE_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_MODULE_IMAGE_DIR)/%)
6.16 +JRE_MODULE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_MODULE_IMAGE_DIR)/%)
6.17
6.18 ###### RULES
6.19
6.20 # JDK files
6.21 $(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
6.22 $(process-doc-file)
6.23 -# Removes LICENSE_VERSION or not
6.24 -ifdef LICENSE_VERSION
6.25 -$(JDK_MODULE_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
6.26 - $(process-doc-file)
6.27 -$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
6.28 - $(process-doc-file)
6.29 -else
6.30 -$(JDK_MODULE_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
6.31 - $(process-doc-file)
6.32 -endif
6.33
6.34 # JRE files
6.35 $(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
6.36 $(process-doc-file)
6.37 -# Add $(TEXT_SUFFIX) suffix
6.38 -ifdef TEXT_SUFFIX
6.39 -$(JRE_MODULE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
6.40 - $(process-doc-file)
6.41 -endif
6.42 -# Removes LICENSE_VERSION or not
6.43 -ifdef LICENSE_VERSION
6.44 -$(JRE_MODULE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
6.45 - $(process-doc-file)
6.46 -$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
6.47 - $(process-doc-file)
6.48 -else
6.49 -$(JRE_MODULE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
6.50 +ifeq ($(PLATFORM), windows)
6.51 +$(JRE_MODULE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
6.52 $(process-doc-file)
6.53 endif
6.54
6.55 @@ -157,8 +130,7 @@
6.56 $(MKDIR) -p $(JRE_MODULE_IMAGE_DIR)
6.57
6.58 # 64-bit solaris jre image contains only the 64-bit add-on files.
6.59 -initial-module-image-jre-sol64:: initial-module-image-jre-setup \
6.60 - $(JRE_MODULE_LICENSES) $(JRE_MODULE_64_LICENSES)
6.61 +initial-module-image-jre-sol64:: initial-module-image-jre-setup
6.62 @# Use tar instead of cp to preserve the symbolic links
6.63 for dir in bin lib ; do \
6.64 ( $(CD) $(OUTPUTDIR) && \
6.65 @@ -174,7 +146,7 @@
6.66
6.67 # Construct an initial jre image (initial jdk jre) no trimming or stripping
6.68 initial-module-image-jre:: initial-module-image-jre-setup \
6.69 - $(JRE_LICENSES) $(JRE_MODULE_DOCFILES) \
6.70 + $(JRE_MODULE_DOCFILES) \
6.71 $(BUILDMETAINDEX_JARFILE)
6.72 @# Copy in bin directory
6.73 $(CD) $(OUTPUTDIR) && $(FIND) bin -depth | $(CPIO) -pdum $(JRE_MODULE_IMAGE_DIR)
6.74 @@ -310,8 +282,7 @@
6.75
6.76 # Solaris 64 bit image is special
6.77 initial-module-image-jdk-sol64:: initial-module-image-jdk-setup \
6.78 - initial-module-image-jdk64-bindemos \
6.79 - $(JDK_MODULE_LICENSES) $(JDK_MODULARLIZED_64_LICENSES)
6.80 + initial-module-image-jdk64-bindemos
6.81
6.82 # DB files to add
6.83 ifeq ($(OPENJDK),true)
6.84 @@ -335,7 +306,7 @@
6.85 # Standard jdk image
6.86 initial-module-image-jdk:: initial-module-image-jdk-setup \
6.87 initial-module-image-jdk-db \
6.88 - $(JDK_MODULE_LICENSES) $(JDK_MODULE_DOCFILES)
6.89 + $(JDK_MODULE_DOCFILES)
6.90 $(MKDIR) $(JDK_MODULE_IMAGE_DIR)/lib
6.91 @#
6.92 @# copy jdk modules to jdk/lib
7.1 --- a/make/common/Program.gmk Fri Jan 28 10:04:51 2011 -0800
7.2 +++ b/make/common/Program.gmk Wed Feb 02 09:39:31 2011 -0800
7.3 @@ -160,6 +160,7 @@
7.4 ifdef MT
7.5 $(MT) /manifest $(OBJDIR)/$(PROGRAM).exe.manifest /outputresource:$@;#1
7.6 endif
7.7 + @$(call binary_file_verification,$@)
7.8
7.9 else # PLATFORM
7.10
7.11 @@ -184,6 +185,7 @@
7.12 @$(MKDIR) -p $(TEMPDIR)
7.13 $(LINK_PRE_CMD) $(CC) $(CC_OBJECT_OUTPUT_FLAG)$@ $(LDFLAGS) \
7.14 $(FILES_o) $(THREADLIBS) $(LDLIBS)
7.15 + @$(call binary_file_verification,$@)
7.16 $(install-module-file)
7.17
7.18 endif # PLATFORM
8.1 --- a/make/common/Release.gmk Fri Jan 28 10:04:51 2011 -0800
8.2 +++ b/make/common/Release.gmk Wed Feb 02 09:39:31 2011 -0800
8.3 @@ -26,6 +26,9 @@
8.4 include $(JDK_TOPDIR)/make/docs/CORE_PKGS.gmk
8.5 include $(JDK_TOPDIR)/make/docs/NON_CORE_PKGS.gmk
8.6
8.7 +# What jdk version are we building
8.8 +THIS_JDK_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
8.9 +
8.10 #
8.11 # Perform release engineering tasks.
8.12 #
8.13 @@ -72,14 +75,6 @@
8.14
8.15 JTG_DOCS = $(JDK_TOPDIR)/src/solaris/doc
8.16
8.17 -#We use this for man page header
8.18 -jdkversion := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
8.19 -
8.20 -# Text documents on windows use this suffix
8.21 -ifeq ($(PLATFORM), windows)
8.22 - TEXT_SUFFIX = .txt
8.23 -endif
8.24 -
8.25 # The base names of all the license and document files for the jdk and jre
8.26 # (These files get placed in the jdk and jre install images)
8.27 ifdef OPENJDK
8.28 @@ -87,48 +82,24 @@
8.29 SHARE_JDK_DOC_SRC = $(JDK_TOPDIR)
8.30 SHARE_JRE_DOC_SRC = $(JDK_TOPDIR)
8.31 # Same files for jdk and jre, no name changes
8.32 - LICENSE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION
8.33 - LICENSE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION
8.34 - OTHER_DOCLIST_JDK = THIRD_PARTY_README
8.35 - OTHER_DOCLIST_JRE = THIRD_PARTY_README
8.36 + IMAGE_DOCLIST_JDK = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
8.37 + IMAGE_DOCLIST_JRE = LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README
8.38 else
8.39 # Where to find these files
8.40 SHARE_JDK_DOC_SRC = $(CLOSED_SHARE_SRC)/doc/jdk
8.41 SHARE_JRE_DOC_SRC = $(CLOSED_SHARE_SRC)/doc/jre
8.42 - # Select the pre-release or FCS license version based on the build milestone.
8.43 - LICENSE_VERSION=.pre
8.44 - ifeq ($(MILESTONE), fcs)
8.45 - LICENSE_VERSION=.fcs
8.46 + IMAGE_DOCLIST_JDK = COPYRIGHT README.html THIRDPARTYLICENSEREADME.txt
8.47 + IMAGE_DOCLIST_JRE = COPYRIGHT Welcome.html THIRDPARTYLICENSEREADME.txt
8.48 + ifeq ($(PLATFORM), windows)
8.49 + IMAGE_DOCLIST_JRE += README.txt
8.50 + else
8.51 + IMAGE_DOCLIST_JRE += README
8.52 endif
8.53 - ifeq ($(PLATFORM), windows)
8.54 - LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\
8.55 - $(shell $(CD) $(SHARE_JDK_DOC_SRC) && \
8.56 - $(LS) *LICENSE*$(LICENSE_VERSION)))
8.57 - LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\
8.58 - $(shell $(CD) $(SHARE_JRE_DOC_SRC) && \
8.59 - $(LS) *LICENSE*$(LICENSE_VERSION)))
8.60 - else
8.61 - LICENSE_DOCLIST_JDK = $(subst $(LICENSE_VERSION),,\
8.62 - $(shell $(CD) $(SHARE_JDK_DOC_SRC) && \
8.63 - $(LS) *LICENSE*$(LICENSE_VERSION) | $(GREP) -v rtf))
8.64 - LICENSE_DOCLIST_JRE = $(subst $(LICENSE_VERSION),,\
8.65 - $(shell $(CD) $(SHARE_JRE_DOC_SRC) && \
8.66 - $(LS) *LICENSE*$(LICENSE_VERSION) | $(GREP) -v rtf))
8.67 - endif
8.68 - OTHER_DOCLIST_JDK = COPYRIGHT README.html README_ja.html README_zh_CN.html
8.69 - OTHER_DOCLIST_JRE = COPYRIGHT Welcome.html
8.70 - JRE_NAMECHANGE_DOCLIST = README
8.71 endif
8.72
8.73 # Paths to these files we need
8.74 -JDK_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
8.75 -JDK64_LICENSES = $(LICENSE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%64)
8.76 -JDK_DOCFILES = $(OTHER_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
8.77 -
8.78 -JRE_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
8.79 -JRE64_LICENSES = $(LICENSE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%64)
8.80 -JRE_DOCFILES = $(OTHER_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
8.81 -JRE_DOCFILES += $(JRE_NAMECHANGE_DOCLIST:%=$(JRE_IMAGE_DIR)/%$(TEXT_SUFFIX))
8.82 +JDK_DOCFILES = $(IMAGE_DOCLIST_JDK:%=$(JDK_IMAGE_DIR)/%)
8.83 +JRE_DOCFILES = $(IMAGE_DOCLIST_JRE:%=$(JRE_IMAGE_DIR)/%)
8.84
8.85 # absolute directory names: note, these must exist prior to build
8.86 # time - they are created in the main Makefile.
8.87 @@ -213,7 +184,7 @@
8.88 $(MKDIR) -p $1/man/$${ja_dir}/man1; \
8.89 $(CAT) $${manbase}/ja/$${manpage} \
8.90 | $(NATIVE2ASCII) -encoding $(JA_SOURCE_ENCODING) \
8.91 - | $(SED) 's/@@VERSION@@/$(jdkversion)/g' \
8.92 + | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \
8.93 | $(NATIVE2ASCII) -reverse -encoding $${ja_encoding} \
8.94 > $1/man/$${ja_dir}/man1/$${manpage}; \
8.95 done; \
8.96 @@ -243,6 +214,7 @@
8.97 initial-image-jre initial-image-jdk \
8.98 initial-image-jre-sol64 initial-image-jdk-sol64 \
8.99 trim-image-jre trim-image-jdk \
8.100 +identify-image-jre identify-image-jdk \
8.101 process-image-jre process-image-jdk \
8.102 compare-image \
8.103 sec-files sec-files-win jgss-files ::
8.104 @@ -252,11 +224,12 @@
8.105 images:: sanity-images post-sanity-images \
8.106 $(INITIAL_IMAGE_JRE) $(INITIAL_IMAGE_JDK) \
8.107 trim-image-jre trim-image-jdk \
8.108 + identify-image-jre identify-image-jdk \
8.109 process-image-jre process-image-jdk sec-files sec-files-win jgss-files
8.110
8.111 # Don't use these
8.112 -image-jre:: initial-image-jre trim-image-jre process-image-jre
8.113 -image-jdk:: initial-image-jdk trim-image-jdk process-image-jdk
8.114 +image-jre:: initial-image-jre trim-image-jre identify-image-jre process-image-jre
8.115 +image-jdk:: initial-image-jdk trim-image-jdk identify-image-jdk process-image-jdk
8.116
8.117 #
8.118 # Sources we ship in the SDK.
8.119 @@ -503,33 +476,12 @@
8.120 # JDK files
8.121 $(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%
8.122 $(process-doc-file)
8.123 -# Removes LICENSE_VERSION or not
8.124 -ifdef LICENSE_VERSION
8.125 -$(JDK_IMAGE_DIR)/%: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
8.126 - $(process-doc-file)
8.127 -$(JDK_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%$(LICENSE_VERSION)
8.128 - $(process-doc-file)
8.129 -else
8.130 -$(JDK_IMAGE_DIR)/%64: $(SHARE_JDK_DOC_SRC)/%
8.131 - $(process-doc-file)
8.132 -endif
8.133
8.134 # JRE files
8.135 $(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%
8.136 $(process-doc-file)
8.137 -# Add $(TEXT_SUFFIX) suffix
8.138 -ifdef TEXT_SUFFIX
8.139 -$(JRE_IMAGE_DIR)/%$(TEXT_SUFFIX): $(SHARE_JRE_DOC_SRC)/%
8.140 - $(process-doc-file)
8.141 -endif
8.142 -# Removes LICENSE_VERSION or not
8.143 -ifdef LICENSE_VERSION
8.144 -$(JRE_IMAGE_DIR)/%: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
8.145 - $(process-doc-file)
8.146 -$(JRE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%$(LICENSE_VERSION)
8.147 - $(process-doc-file)
8.148 -else
8.149 -$(JRE_IMAGE_DIR)/%64: $(SHARE_JRE_DOC_SRC)/%
8.150 +ifeq ($(PLATFORM), windows)
8.151 +$(JRE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
8.152 $(process-doc-file)
8.153 endif
8.154
8.155 @@ -737,8 +689,7 @@
8.156 $(MKDIR) -p $(JRE_IMAGE_DIR)
8.157
8.158 # 64-bit solaris jre image contains only the 64-bit add-on files.
8.159 -initial-image-jre-sol64:: initial-image-jre-setup \
8.160 - $(JRE_LICENSES) $(JRE64_LICENSES)
8.161 +initial-image-jre-sol64:: initial-image-jre-setup
8.162 @# Use tar instead of cp to preserve the symbolic links
8.163 for dir in bin lib ; do \
8.164 ( $(CD) $(OUTPUTDIR) && \
8.165 @@ -759,7 +710,7 @@
8.166 # See "initial-image-jdk-setup" for an explanation of the rm of
8.167 # drive names like C:
8.168 initial-image-jre:: initial-image-jre-setup \
8.169 - $(JRE_LICENSES) $(JRE_DOCFILES) \
8.170 + $(JRE_DOCFILES) \
8.171 $(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) \
8.172 $(BUILDMETAINDEX_JARFILE)
8.173 @# Copy in bin directory
8.174 @@ -835,11 +786,14 @@
8.175 endif
8.176 endif # PLATFORM
8.177
8.178 -# Get list of all Elf files in the jre
8.179 -JRE_ELF_LIST=$(TEMPDIR)/jre-elf-files.list
8.180 -$(JRE_ELF_LIST):
8.181 -ifneq ($(PLATFORM), windows)
8.182 +# Get list of all binary (COFF or Elf) files in the jre
8.183 +JRE_BIN_LIST=$(TEMPDIR)/jre-bin-files.list
8.184 +$(JRE_BIN_LIST):
8.185 $(RM) $@
8.186 +ifeq ($(PLATFORM), windows)
8.187 + $(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*.exe \
8.188 + -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
8.189 +else
8.190 $(FIND) $(JRE_IMAGE_DIR)/lib -type f -name \*.$(LIB_SUFFIX) >> $@
8.191 $(FILE) `$(FIND) $(JRE_IMAGE_DIR)/bin -type f -name \*$(EXE_SUFFIX)` \
8.192 | $(EGREP) 'ELF' | $(CUT) -d':' -f1 >> $@
8.193 @@ -847,9 +801,9 @@
8.194
8.195 # Post process the image (strips and mcs on Elf files we are shipping)
8.196 # (Note the jdk WILL want the jre image before this processing)
8.197 -process-image-jre:: $(JRE_ELF_LIST)
8.198 +process-image-jre:: $(JRE_BIN_LIST)
8.199 ifneq ($(POST_STRIP_PROCESS), )
8.200 - for f in `$(CAT) $(JRE_ELF_LIST)`; do \
8.201 + @for f in `$(CAT) $(JRE_BIN_LIST)`; do \
8.202 $(CHMOD) u+w $${f}; \
8.203 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
8.204 $(POST_STRIP_PROCESS) $${f}; \
8.205 @@ -857,14 +811,17 @@
8.206 done
8.207 endif
8.208 ifneq ($(POST_MCS_PROCESS), )
8.209 - for f in `$(CAT) $(JRE_ELF_LIST)`; do \
8.210 + @for f in `$(CAT) $(JRE_BIN_LIST)`; do \
8.211 $(CHMOD) u+w $${f}; \
8.212 $(ECHO) $(POST_MCS_PROCESS) $${f}; \
8.213 $(POST_MCS_PROCESS) $${f}; \
8.214 $(CHMOD) go-w $${f}; \
8.215 done
8.216 endif
8.217 - $(RM) $(JRE_ELF_LIST)
8.218 + @for f in `$(CAT) $(JRE_BIN_LIST)`; do \
8.219 + $(call binary_file_verification,$${f}); \
8.220 + done
8.221 + $(RM) $(JRE_BIN_LIST)
8.222
8.223 ######################################################
8.224 # JDK Image
8.225 @@ -904,8 +861,7 @@
8.226
8.227 # Solaris 64 bit image is special
8.228 initial-image-jdk-sol64:: initial-image-jdk-setup \
8.229 - initial-image-jdk64-bindemos \
8.230 - $(JDK_LICENSES) $(JDK64_LICENSES)
8.231 + initial-image-jdk64-bindemos
8.232
8.233 # DB files to add
8.234 ifdef OPENJDK
8.235 @@ -929,7 +885,7 @@
8.236 # Standard jdk image
8.237 initial-image-jdk:: initial-image-jdk-setup \
8.238 initial-image-jdk-db \
8.239 - $(JDK_LICENSES) $(JDK_DOCFILES)
8.240 + $(JDK_DOCFILES)
8.241 $(MKDIR) $(JDK_IMAGE_DIR)/lib
8.242 @#
8.243 @# Copy in the jars in lib that only belong in the JDK
8.244 @@ -1091,10 +1047,15 @@
8.245 $(RM) $(JDK_IMAGE_DIR)/bin/$${t}$(EXE_SUFFIX); \
8.246 done
8.247
8.248 -# Get list of Elf files in the jdk
8.249 -JDK_ELF_LIST=$(TEMPDIR)/jdk-elf-files.list
8.250 -$(JDK_ELF_LIST):
8.251 -ifneq ($(PLATFORM), windows)
8.252 +# Get list of binary (COFF or Elf) files in the jdk
8.253 +JDK_BIN_LIST=$(TEMPDIR)/jdk-bin-files.list
8.254 +$(JDK_BIN_LIST):
8.255 +ifeq ($(PLATFORM), windows)
8.256 + $(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*.exe \
8.257 + -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" > $@
8.258 + $(FIND) $(JDK_IMAGE_DIR)/bin -type f -name \*.exe \
8.259 + -o -name \*.dll | $(EGREP) -v -i "$(MSVCRNN_DLL)" >> $@
8.260 +else
8.261 $(RM) $@
8.262 $(FIND) $(JDK_IMAGE_DIR)/jre/lib -type f -name \*.$(LIB_SUFFIX) >> $@
8.263 $(FILE) `$(FIND) $(JDK_IMAGE_DIR)/jre/bin -type f -name \*$(EXE_SUFFIX)` \
8.264 @@ -1104,9 +1065,9 @@
8.265 endif
8.266
8.267 # Post process the image (strips and mcs on files we are shipping)
8.268 -process-image-jdk:: $(JDK_ELF_LIST)
8.269 +process-image-jdk:: $(JDK_BIN_LIST)
8.270 ifneq ($(POST_STRIP_PROCESS), )
8.271 - for f in `$(CAT) $(JDK_ELF_LIST)`; do \
8.272 + @for f in `$(CAT) $(JDK_BIN_LIST)`; do \
8.273 $(CHMOD) u+w $${f}; \
8.274 $(ECHO) $(POST_STRIP_PROCESS) $${f}; \
8.275 $(POST_STRIP_PROCESS) $${f}; \
8.276 @@ -1114,14 +1075,56 @@
8.277 done
8.278 endif
8.279 ifneq ($(POST_MCS_PROCESS), )
8.280 - for f in `$(CAT) $(JDK_ELF_LIST)`; do \
8.281 + @for f in `$(CAT) $(JDK_BIN_LIST)`; do \
8.282 $(CHMOD) u+w $${f}; \
8.283 $(ECHO) $(POST_MCS_PROCESS) $${f}; \
8.284 $(POST_MCS_PROCESS) $${f}; \
8.285 $(CHMOD) go-w $${f}; \
8.286 done
8.287 endif
8.288 - $(RM) $(JDK_ELF_LIST)
8.289 + @for f in `$(CAT) $(JDK_BIN_LIST)`; do \
8.290 + $(call binary_file_verification,$${f}); \
8.291 + done
8.292 + $(RM) $(JDK_BIN_LIST)
8.293 +
8.294 +###################################################################
8.295 +# What did we build
8.296 +###################################################################
8.297 +
8.298 +# The jdk text info file that lives at the root of the install image.
8.299 +
8.300 +JDK_INFO_FILE = $(JDK_IMAGE_DIR)/release
8.301 +JRE_INFO_FILE = $(JRE_IMAGE_DIR)/release
8.302 +
8.303 +# Common way to emit a line into the release or info file
8.304 +define info-file-item # name value
8.305 +$(PRINTF) "%s=\"%s\"\n" $1 $2 >> $@
8.306 +endef
8.307 +
8.308 +# Values to emit
8.309 +MINIMUM_OS_NAME := $(REQUIRED_OS_NAME)
8.310 +MINIMUM_OS_VERSION := $(REQUIRED_OS_VERSION)
8.311 +MINIMUM_OS_ARCH := $(ARCH)
8.312 +
8.313 +$(JDK_INFO_FILE): FRC
8.314 + $(prep-target)
8.315 + $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
8.316 + $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)")
8.317 + $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)")
8.318 + $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)")
8.319 +
8.320 +# Create release file to identify this image
8.321 +identify-image-jdk:: $(JDK_INFO_FILE)
8.322 +
8.323 +$(JRE_INFO_FILE): FRC
8.324 + $(prep-target)
8.325 + $(call info-file-item, "JAVA_VERSION", "$(THIS_JDK_VERSION)")
8.326 + $(call info-file-item, "OS_NAME", "$(MINIMUM_OS_NAME)")
8.327 + $(call info-file-item, "OS_VERSION", "$(MINIMUM_OS_VERSION)")
8.328 + $(call info-file-item, "OS_ARCH", "$(MINIMUM_OS_ARCH)")
8.329 +
8.330 +# Create release file to identify this image
8.331 +identify-image-jre:: $(JRE_INFO_FILE)
8.332
8.333 ###################################################################
8.334 # What do we compare against
8.335 @@ -1276,6 +1279,7 @@
8.336 initial-image-jre-setup \
8.337 trim-image-jre trim-image-jdk \
8.338 process-image-jre process-image-jdk \
8.339 + identify-image-jre identify-image-jdk \
8.340 install-previous-jre install-previous-jdk \
8.341 compare-image-jre compare-image-jdk \
8.342 compare-image compare-image-clobber \
9.1 --- a/make/common/shared/Compiler-msvc.gmk Fri Jan 28 10:04:51 2011 -0800
9.2 +++ b/make/common/shared/Compiler-msvc.gmk Wed Feb 02 09:39:31 2011 -0800
9.3 @@ -35,6 +35,7 @@
9.4 LIBEXE = $(COMPILER_PATH)lib
9.5 LINK = $(COMPILER_PATH)link
9.6 LINK32 = $(LINK)
9.7 + DUMPBIN = $(COMPILER_PATH)dumpbin.exe
9.8
9.9 # Fill in unknown values
9.10 COMPILER_NAME=Unknown MSVC Compiler
9.11 @@ -139,8 +140,8 @@
9.12 _OTHER_TOOLS_BIN = $(WINDOWSSDKDIR)/Bin/x64
9.13 endif
9.14 endif
9.15 - RC = $(_OTHER_TOOLS_BIN)/rc.exe
9.16 - REBASE = $(_OTHER_TOOLS_BIN)/rebase.exe
9.17 + RC = $(_OTHER_TOOLS_BIN)/RC.Exe
9.18 + REBASE = $(_OTHER_TOOLS_BIN)/ReBase.Exe
9.19 MT = $(_OTHER_TOOLS_BIN)/mt.exe
9.20 MTL = $(_OTHER_TOOLS_BIN)/midl.exe
9.21 endif
10.1 --- a/make/common/shared/Defs-control.gmk Fri Jan 28 10:04:51 2011 -0800
10.2 +++ b/make/common/shared/Defs-control.gmk Wed Feb 02 09:39:31 2011 -0800
10.3 @@ -76,12 +76,9 @@
10.4 ABS_SRC_BUNDLEDIR = $(ABS_OUTPUTDIR)/source-bundles
10.5 BIN_BUNDLEDIR = $(OUTPUTDIR)/bundles
10.6 ABS_BIN_BUNDLEDIR = $(ABS_OUTPUTDIR)/bundles
10.7 -JRL_BUNDLEDIR = $(OUTPUTDIR)/java.net
10.8 -ABS_JRL_BUNDLEDIR = $(ABS_OUTPUTDIR)/java.net
10.9
10.10 dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
10.11 dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
10.12 -dummy := $(shell $(MKDIR) -p $(JRL_BUNDLEDIR) )
10.13
10.14 TEMP_DIR = $(OUTPUTDIR)/tmp
10.15 ABS_TEMP_DIR = $(ABS_OUTPUTDIR)/tmp
11.1 --- a/make/common/shared/Defs-linux.gmk Fri Jan 28 10:04:51 2011 -0800
11.2 +++ b/make/common/shared/Defs-linux.gmk Wed Feb 02 09:39:31 2011 -0800
11.3 @@ -177,3 +177,20 @@
11.4 endif
11.5 HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
11.6
11.7 +# Special define for checking the binaries
11.8 +
11.9 +# Macro to check it's input file for banned dependencies and verify the
11.10 +# binary built properly. Relies on process exit code.
11.11 +define binary_file_verification # binary_file
11.12 +( \
11.13 + $(ECHO) "Checking for mapfile use in: $1" && \
11.14 + if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
11.15 + $(ECHO) "WARNING: File was not built with a mapfile: $1"; \
11.16 + fi && \
11.17 + $(ECHO) "Library loads for: $1" && \
11.18 + $(LDD) $1 && \
11.19 + $(ECHO) "RUNPATH for: $1" && \
11.20 + ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
11.21 +)
11.22 +endef
11.23 +
12.1 --- a/make/common/shared/Defs-solaris.gmk Fri Jan 28 10:04:51 2011 -0800
12.2 +++ b/make/common/shared/Defs-solaris.gmk Wed Feb 02 09:39:31 2011 -0800
12.3 @@ -186,3 +186,20 @@
12.4 endif
12.5 HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
12.6
12.7 +# Special define for checking the binaries
12.8 +
12.9 +# Macro to check it's input file for banned dependencies and verify the
12.10 +# binary built properly. Relies on process exit code.
12.11 +define binary_file_verification # binary_file
12.12 +( \
12.13 + $(ECHO) "Checking for mapfile use in: $1" && \
12.14 + if [ "`$(NM) -g -D $1 | $(EGREP) -v 'UNDEF' | $(EGREP) 'SUNWprivate'`" = "" ] ; then \
12.15 + $(ECHO) "WARNING: File was not built with a mapfile: $1"; \
12.16 + fi && \
12.17 + $(ECHO) "Library loads for: $1" && \
12.18 + $(LDD) $1 && \
12.19 + $(ECHO) "RUNPATH for: $1" && \
12.20 + ( $(DUMP) -L -v $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \
12.21 +)
12.22 +endef
12.23 +
13.1 --- a/make/common/shared/Defs-utils.gmk Fri Jan 28 10:04:51 2011 -0800
13.2 +++ b/make/common/shared/Defs-utils.gmk Wed Feb 02 09:39:31 2011 -0800
13.3 @@ -85,6 +85,7 @@
13.4 DF = $(UTILS_COMMAND_PATH)df
13.5 DIFF = $(UTILS_USR_BIN_PATH)diff
13.6 DIRNAME = $(UTILS_USR_BIN_PATH)dirname
13.7 +DUMP = $(UTILS_CCS_BIN_PATH)dump
13.8 ECHO = $(UTILS_COMMAND_PATH)echo
13.9 EGREP = $(UTILS_COMMAND_PATH)egrep
13.10 EXPR = $(UTILS_USR_BIN_PATH)expr
13.11 @@ -99,6 +100,7 @@
13.12 ISAINFO = $(UTILS_COMMAND_PATH)isainfo
13.13 KSH = $(UTILS_COMMAND_PATH)ksh
13.14 LD = $(UTILS_CCS_BIN_PATH)ld
13.15 +LDD = $(UTILS_USR_BIN_PATH)ldd
13.16 LEX = $(UTILS_CCS_BIN_PATH)lex
13.17 LN = $(UTILS_COMMAND_PATH)ln
13.18 LS = $(UTILS_COMMAND_PATH)ls
13.19 @@ -114,6 +116,7 @@
13.20 PRINTF = $(UTILS_USR_BIN_PATH)printf
13.21 PWD = $(UTILS_COMMAND_PATH)pwd
13.22 RC = $(UTILS_COMMAND_PATH)rc
13.23 +READELF = $(UTILS_USR_BIN_PATH)readelf
13.24 RMDIR = $(UTILS_COMMAND_PATH)rmdir
13.25 RPM = $(UTILS_COMMAND_PATH)rpm
13.26 RPMBUILD = $(UTILS_COMMAND_PATH)rpmbuild
14.1 --- a/make/common/shared/Defs-versions.gmk Fri Jan 28 10:04:51 2011 -0800
14.2 +++ b/make/common/shared/Defs-versions.gmk Wed Feb 02 09:39:31 2011 -0800
14.3 @@ -127,6 +127,7 @@
14.4
14.5 # Solaris specific
14.6 ifeq ($(PLATFORM), solaris)
14.7 + REQUIRED_OS_NAME = SunOS
14.8 REQUIRED_OS_VERSION = 5.10
14.9 REQUIRED_OS_VARIANT_NAME = Solaris
14.10 REQUIRED_OS_VARIANT_VERSION = $(REQUIRED_OS_VERSION)
14.11 @@ -148,6 +149,7 @@
14.12
14.13 # Linux specific
14.14 ifeq ($(PLATFORM), linux)
14.15 + REQUIRED_OS_NAME = Linux
14.16 REQUIRED_OS_VERSION = 2.6
14.17 REQUIRED_OS_VARIANT_NAME = Fedora
14.18 REQUIRED_OS_VARIANT_VERSION = 9
14.19 @@ -166,6 +168,7 @@
14.20
14.21 # Windows specific
14.22 ifeq ($(PLATFORM), windows)
14.23 + REQUIRED_OS_NAME = Windows
14.24 ifeq ($(ARCH_DATA_MODEL),64)
14.25 REQUIRED_OS_VERSION = 5.2
14.26 REQUIRED_OS_VARIANT_NAME = Windows2003
15.1 --- a/make/common/shared/Defs-windows.gmk Fri Jan 28 10:04:51 2011 -0800
15.2 +++ b/make/common/shared/Defs-windows.gmk Wed Feb 02 09:39:31 2011 -0800
15.3 @@ -288,8 +288,8 @@
15.4 xVS100COMNTOOLS :="$(_program_files32)/Microsoft Visual Studio 10.0/Common7/Tools/"
15.5 fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
15.6 else
15.7 + xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
15.8 ifneq ($(word 2,$(VS100COMNTOOLS)),)
15.9 - xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
15.10 fVS100COMNTOOLS :=$(call FullPath,$(xVS100COMNTOOLS))
15.11 else
15.12 fVS100COMNTOOLS :=$(xVS100COMNTOOLS)
15.13 @@ -551,18 +551,6 @@
15.14 _BOOTDIR3 =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
15.15 endif
15.16
15.17 -# 32 bit always needs 2 runtimes, 64 bit usually does too
15.18 -
15.19 -# MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed
15.20 -ifdef ALT_MSVCRT_DLL_PATH
15.21 - xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))"
15.22 - MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH))
15.23 -else
15.24 - MSVCRT_DLL_PATH :=$(call FullPath,$(_system_root)/system32/)
15.25 -endif
15.26 -MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH)
15.27 -MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
15.28 -
15.29 # 32bit always needs the MSVCRNN runtime, 64bit does when using VS2008
15.30 ifeq ($(ARCH_DATA_MODEL), 32)
15.31 _NEEDS_MSVCRNN = true
15.32 @@ -641,15 +629,6 @@
15.33 endif
15.34 INSTALL_MSSDK:=$(call AltCheckSpaces,INSTALL_MSSDK)
15.35
15.36 -# INSTALL_MSIVAL2: Installation of MsiVal2 for this platform (for install)
15.37 -ifdef ALT_INSTALL_MSIVAL2
15.38 - xALT_INSTALL_MSIVAL2 :="$(subst \,/,$(ALT_INSTALL_MSIVAL2))"
15.39 - INSTALL_MSIVAL2 :=$(call FullPath,$(xALT_INSTALL_MSIVAL2))
15.40 -else
15.41 - INSTALL_MSIVAL2 :=$(_program_files32)/MsiVal2
15.42 -endif
15.43 -INSTALL_MSIVAL2:=$(call AltCheckSpaces,INSTALL_MSIVAL2)
15.44 -
15.45 # WSCRIPT: path to wscript.exe (used in creating install bundles)
15.46 ifdef ALT_WSCRIPT
15.47 xALT_WSCRIPT :="$(subst \,/,$(ALT_WSCRIPT))"
15.48 @@ -685,43 +664,6 @@
15.49 endif
15.50 CABARC:=$(call AltCheckSpaces,CABARC)
15.51
15.52 -# MSIVAL2: path to msival2.exe (used in validating install msi files)
15.53 -ifdef ALT_MSIVAL2
15.54 - xALT_MSIVAL2 :="$(subst \,/,$(ALT_MSIVAL2))"
15.55 - MSIVAL2 =$(xALT_MSIVAL2)
15.56 -else
15.57 - _MSIVAL2_1 :=$(INSTALL_MSIVAL2)/msival2.exe
15.58 - _MSIVAL2_2 :=$(DEVTOOLS_PATH)msival2.exe
15.59 - MSIVAL2 :=$(call FileExists,$(_MSIVAL2_1),$(_MSIVAL2_2))
15.60 -endif
15.61 -MSIVAL2:=$(call AltCheckSpaces,MSIVAL2)
15.62 -# suppress msival2 checks, as it hangs jprt builds
15.63 -ifdef SKIP_MSIVAL2
15.64 - MSIVAL2 := $(ECHO)
15.65 -endif
15.66 -
15.67 -# LOGOCUB: path to cub file for (used in validating install msi files)
15.68 -ifdef ALT_LOGOCUB
15.69 - xALT_LOGOCUB :="$(subst \,/,$(ALT_LOGOCUB))"
15.70 - LOGOCUB =$(xALT_LOGOCUB)
15.71 -else
15.72 - _LOGOCUB1 :=$(INSTALL_MSIVAL2)/logo.cub
15.73 - _LOGOCUB2 :=$(DEVTOOLS_PATH)logo.cub
15.74 - LOGOCUB :=$(call FileExists,$(_LOGOCUB1),$(_LOGOCUB2))
15.75 -endif
15.76 -LOGOCUB:=$(call AltCheckSpaces,LOGOCUB)
15.77 -
15.78 -# MSITRAN: path to msitran.exe (used in creating install bundles and sponsors)
15.79 -ifdef ALT_MSITRAN
15.80 - xALT_MSITRAN :="$(subst \,/,$(ALT_MSITRAN))"
15.81 - MSITRAN =$(xALT_MSITRAN)
15.82 -else
15.83 - _MSITRAN1 :=$(INSTALL_MSSDK)/Bin/msitran.exe
15.84 - _MSITRAN2 :=$(DEVTOOLS_PATH)msitran.exe
15.85 - MSITRAN :=$(call FileExists,$(_MSITRAN1),$(_MSITRAN2))
15.86 -endif
15.87 -MSITRAN:=$(call AltCheckSpaces,MSITRAN)
15.88 -
15.89 # MSICERT: path to msicert.exe (used in creating install bundles)
15.90 ifdef ALT_MSICERT
15.91 xALT_MSICERT :="$(subst \,/,$(ALT_MSICERT))"
15.92 @@ -798,3 +740,50 @@
15.93 endif
15.94 HOTSPOT_LIB_PATH:=$(call AltCheckSpaces,HOTSPOT_LIB_PATH)
15.95 HOTSPOT_LIB_PATH:=$(call AltCheckValue,HOTSPOT_LIB_PATH)
15.96 +
15.97 +# Special define for checking the binaries
15.98 +
15.99 +ifeq ($(VS2010_EXISTS),true)
15.100 +
15.101 +# All windows dll and exe files should have been built with /NXCOMPAT
15.102 +# and be setup for dynamic base addresses.
15.103 +# In addition, we should not be dependent on certain dll files that
15.104 +# we do not or cannot redistribute.
15.105 +
15.106 +# List of filenames we should NOT be dependent on
15.107 +BANNED_DLLS=msvcp100[.]dll|msvcr100d[.]dll|msvcrtd[.]dll
15.108 +
15.109 +# Macro to check it's input file for banned dependencies and verify the
15.110 +# binary was built properly. Relies on process exit code.
15.111 +define binary_file_verification # binary_file
15.112 +( \
15.113 + $(ECHO) "Checking for /NXCOMPAT usage in: $1" && \
15.114 + if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'NX compatible'`" = "" ] ; then \
15.115 + $(ECHO) "ERROR: Did not find 'NX compatible' in headers: $1" ; \
15.116 + $(DUMPBIN) /headers $1 ; \
15.117 + exit 7 ; \
15.118 + fi ; \
15.119 + $(ECHO) "Checking for /DYNAMICBASE usage in: $1" && \
15.120 + if [ "`$(DUMPBIN) /headers $1 | $(EGREP) -i 'Dynamic base'`" = "" ] ; then \
15.121 + $(ECHO) "ERROR: Did not find 'Dynamic base' in headers: $1" ; \
15.122 + $(DUMPBIN) /headers $1 ; \
15.123 + exit 8 ; \
15.124 + fi ; \
15.125 + $(ECHO) "Checking for banned dependencies in: $1" && \
15.126 + if [ "`$(DUMPBIN) /dependents $1 | $(EGREP) -i '$(BANNED_DLLS)'`" != "" ] ; then \
15.127 + $(ECHO) "ERROR: Found us of $(BANNED_DLLS)"; \
15.128 + $(DUMPBIN) /dependents $1 ; \
15.129 + exit 9 ; \
15.130 + fi ; \
15.131 +)
15.132 +endef
15.133 +
15.134 +else
15.135 +
15.136 +# Macro to check it's input file for banned dependencies and verify the
15.137 +# binary was built properly. Relies on process exit code.
15.138 +define binary_file_verification # binary_file
15.139 +endef
15.140 +
15.141 +endif
15.142 +
16.1 --- a/make/common/shared/Sanity-Settings.gmk Fri Jan 28 10:04:51 2011 -0800
16.2 +++ b/make/common/shared/Sanity-Settings.gmk Wed Feb 02 09:39:31 2011 -0800
16.3 @@ -96,7 +96,6 @@
16.4 endif
16.5 endif
16.6 ifeq ($(PLATFORM),windows)
16.7 - ALL_SETTINGS+=$(call addAltSetting,MSVCRT_DLL_PATH)
16.8 ifneq ($(MSVCRNN_DLL),)
16.9 ALL_SETTINGS+=$(call addAltSetting,MSVCRNN_DLL_PATH)
16.10 endif
16.11 @@ -117,6 +116,9 @@
16.12 ALL_SETTINGS+=$(call addRequiredVersionSetting,UNZIP_VER)
16.13 ifeq ($(PLATFORM),windows)
16.14 ALL_SETTINGS+=$(call addRequiredVersionSetting,LINK_VER)
16.15 + ALL_SETTINGS+=$(call addRequiredSetting,CC)
16.16 + ALL_SETTINGS+=$(call addRequiredSetting,LINK)
16.17 + ALL_SETTINGS+=$(call addRequiredSetting,DUMPBIN)
16.18 endif
16.19 ALL_SETTINGS+=$(call addRequiredVersionSetting,ANT_VER)
16.20 ALL_SETTINGS+=$(call addRequiredSetting,TEMPDIR)
16.21 @@ -226,13 +228,13 @@
16.22 ALL_SETTINGS+=$(call addAltSetting,DXSDK_INCLUDE_PATH)
16.23 ALL_SETTINGS+=$(call addAltSetting,DXSDK_LIB_PATH)
16.24 ALL_SETTINGS+=$(call addAltSetting,WINDOWSSDKDIR)
16.25 + ALL_SETTINGS+=$(call addRequiredSetting,RC)
16.26 + ALL_SETTINGS+=$(call addRequiredSetting,REBASE)
16.27 ifndef OPENJDK
16.28 ALL_SETTINGS+=$(call addAltSetting,DEPLOY_MSSDK)
16.29 ALL_SETTINGS+=$(call addAltSetting,INSTALL_MSSDK)
16.30 ALL_SETTINGS+=$(call addAltSetting,WSCRIPT)
16.31 ALL_SETTINGS+=$(call addAltSetting,MSICERT)
16.32 - ALL_SETTINGS+=$(call addAltSetting,MSITRAN)
16.33 - ALL_SETTINGS+=$(call addAltSetting,MSIVAL2)
16.34 endif
16.35 endif
16.36 ALL_SETTINGS+=$(call addAltSetting,CACERTS_FILE)
17.1 --- a/make/common/shared/Sanity.gmk Fri Jan 28 10:04:51 2011 -0800
17.2 +++ b/make/common/shared/Sanity.gmk Wed Feb 02 09:39:31 2011 -0800
17.3 @@ -879,13 +879,6 @@
17.4 ######################################################
17.5 sane-msvcrt_path:
17.6 ifeq ($(PLATFORM), windows)
17.7 - @if [ ! -r "$(MSVCRT_DLL_PATH)/msvcrt.dll" ]; then \
17.8 - $(ECHO) "ERROR: You do not have access to msvcrt.dll. \n" \
17.9 - " Please check your access to \n" \
17.10 - " $(MSVCRT_DLL_PATH) \n" \
17.11 - " and/or check your value of ALT_MSVCRT_DLL_PATH. \n" \
17.12 - "" >> $(ERROR_FILE) ; \
17.13 - fi
17.14 ifneq ($(MSVCRNN_DLL),)
17.15 @if [ ! -r "$(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)" ]; then \
17.16 $(ECHO) "ERROR: You do not have access to $(MSVCRNN_DLL). \n" \
17.17 @@ -1018,6 +1011,22 @@
17.18 " and/or check your value of ALT_MSDEVTOOLS_PATH. \n" \
17.19 "" >> $(ERROR_FILE) ; \
17.20 fi
17.21 + else
17.22 + ifeq ($(wildcard $(REBASE)),)
17.23 + @$(ECHO) "ERROR: Cannot find the REBASE utility from path: $(REBASE)\n" \
17.24 + " This is normally obtained from the WINDOWSSDKDIR." \
17.25 + "" >> $(ERROR_FILE)
17.26 + endif
17.27 + ifeq ($(wildcard $(RC)),)
17.28 + @$(ECHO) "ERROR: Cannot find the RC utility from path: $(RC)\n" \
17.29 + " This is normally obtained from the WINDOWSSDKDIR." \
17.30 + "" >> $(ERROR_FILE)
17.31 + endif
17.32 + ifeq ($(wildcard $(DUMPBIN)),)
17.33 + @$(ECHO) "ERROR: Cannot find the DUMPBIN utility from path: $(DUMPBIN)\n" \
17.34 + " This is normally obtained from the WINDOWSSDKDIR." \
17.35 + "" >> $(ERROR_FILE)
17.36 + endif
17.37 endif
17.38 endif
17.39
17.40 @@ -1460,25 +1469,6 @@
17.41 endif
17.42
17.43 ######################################################
17.44 -# Check for existence of INSTALL_MSIVAL2 on windows
17.45 -######################################################
17.46 -sane-install-msival2_path:
17.47 -ifeq ($(PLATFORM), windows)
17.48 - @if [ -z "$(INSTALL_MSIVAL2)" ]; then \
17.49 - $(ECHO) "WARNING: Your INSTALL_MSIVAL2 setting is empty.\n" \
17.50 - " It is recommended to set ALT_INSTALL_MSIVAL2.\n" \
17.51 - "" >> $(WARNING_FILE) ; \
17.52 - fi
17.53 - @if [ ! -r "$(INSTALL_MSIVAL2)" ]; then \
17.54 - $(ECHO) "ERROR: You do not have a valid INSTALL_MSIVAL2 setting. \n" \
17.55 - " Please check your access to \n" \
17.56 - " $(INSTALL_MSIVAL2) \n" \
17.57 - " and/or check your value of ALT_INSTALL_MSIVAL2. \n" \
17.58 - "" >> $(ERROR_FILE) ; \
17.59 - fi
17.60 -endif
17.61 -
17.62 -######################################################
17.63 # Check the GNU C++ compiler for OJI plugin
17.64 ######################################################
17.65 sane-gcc-compiler:
18.1 --- a/make/java/redist/Makefile Fri Jan 28 10:04:51 2011 -0800
18.2 +++ b/make/java/redist/Makefile Wed Feb 02 09:39:31 2011 -0800
18.3 @@ -93,10 +93,6 @@
18.4
18.5 IMPORT_LIST += $(MS_RUNTIME_LIBRARIES:%=$(BINDIR)/%)
18.6
18.7 -# NOTE: These might actually come from BUILDDIR, depends on the settings.
18.8 -$(BINDIR)/msvcrt.dll: $(MSVCRT_DLL_PATH)/msvcrt.dll
18.9 - $(install-import-file)
18.10 - $(call chmod-file, a+x)
18.11 $(BINDIR)/$(MSVCRNN_DLL): $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL)
18.12 $(install-import-file)
18.13 $(call chmod-file, a+x)
18.14 @@ -223,12 +219,15 @@
18.15
18.16 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAME)
18.17 $(install-import-file)
18.18 + @$(call binary_file_verification,$@)
18.19
18.20 $(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME): $(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
18.21 $(install-file)
18.22 + @$(call binary_file_verification,$@)
18.23
18.24 $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_NAME)
18.25 $(install-import-file)
18.26 + @$(call binary_file_verification,$@)
18.27
18.28 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME) \
18.29 $(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME):
18.30 @@ -237,30 +236,39 @@
18.31
18.32 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
18.33 $(install-import-file)
18.34 + @$(call binary_file_verification,$@)
18.35
18.36 $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_NAME)
18.37 $(install-import-file)
18.38 + @$(call binary_file_verification,$@)
18.39
18.40 $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
18.41 $(install-import-file)
18.42 + @$(call binary_file_verification,$@)
18.43
18.44 $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
18.45 $(install-import-file)
18.46 + @$(call binary_file_verification,$@)
18.47
18.48 $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)
18.49 $(install-import-file)
18.50 + @$(call binary_file_verification,$@)
18.51
18.52 $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_NAME)
18.53 $(install-import-file)
18.54 + @$(call binary_file_verification,$@)
18.55
18.56 $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)
18.57 $(install-import-file)
18.58 + @$(call binary_file_verification,$@)
18.59
18.60 $(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)
18.61 $(install-import-file)
18.62 + @$(call binary_file_verification,$@)
18.63
18.64 $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAME)
18.65 $(install-import-file)
18.66 + @$(call binary_file_verification,$@)
18.67
18.68 $(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt : $(HOTSPOT_SERVER_PATH)/Xusage.txt
18.69 $(install-import-file)
19.1 --- a/make/jdk_generic_profile.sh Fri Jan 28 10:04:51 2011 -0800
19.2 +++ b/make/jdk_generic_profile.sh Wed Feb 02 09:39:31 2011 -0800
19.3 @@ -50,7 +50,7 @@
19.4 #
19.5 # Assumes basic unix utilities are in the PATH already (uname, hostname, etc.).
19.6 #
19.7 -# On Windows, assumes PROCESSOR_IDENTIFIER, VS71COMNTOOLS,
19.8 +# On Windows, assumes PROCESSOR_IDENTIFIER, VS100COMNTOOLS,
19.9 # SYSTEMROOT (or SystemRoot), COMPUTERNAME (or hostname works), and
19.10 # USERNAME is defined in the environment.
19.11 # This profile does not rely on using vcvars32.bat and 64bit Setup.bat.
19.12 @@ -81,8 +81,7 @@
19.13 # Windows Only:
19.14 # ALT_UNIXCOMMAND_PATH
19.15 # ALT_DXSDK_PATH
19.16 -# ALT_MSVCRT_DLL_PATH
19.17 -# ALT_MSVCR71_DLL_PATH
19.18 +# ALT_MSVCRNN_DLL_PATH
19.19 #
19.20 #############################################################################
19.21 #
19.22 @@ -213,78 +212,17 @@
19.23 # Compiler setup (nasty part)
19.24 # NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE.
19.25 # NOTE: CYGWIN has a link.exe too, make sure the compilers are first
19.26 - if [ "${windows_arch}" = i586 ] ; then
19.27 - # 32bit Windows compiler settings
19.28 - # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
19.29 - vs_root=$(${cygpath} "${VS71COMNTOOLS}/../..")
19.30 - # Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
19.31 - vc7_root="${vs_root}/Vc7"
19.32 - compiler_path="${vc7_root}/bin"
19.33 - platform_sdk="${vc7_root}/PlatformSDK"
19.34 -
19.35 - # LIB and INCLUDE must use ; as a separator
19.36 - include4sdk="${vc7_root}/atlmfc/include"
19.37 - include4sdk="${include4sdk};${vc7_root}/include"
19.38 - include4sdk="${include4sdk};${platform_sdk}/include/prerelease"
19.39 - include4sdk="${include4sdk};${platform_sdk}/include"
19.40 - include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include"
19.41 - lib4sdk="${lib4sdk};${vc7_root}/lib"
19.42 - lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease"
19.43 - lib4sdk="${lib4sdk};${platform_sdk}/lib"
19.44 - lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib"
19.45 - # Search path and DLL locating path
19.46 - # WARNING: CYGWIN has a link.exe too, make sure compilers are first
19.47 - path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}"
19.48 - path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}"
19.49 - path4sdk="${vs_root}/Common7/Tools;${path4sdk}"
19.50 - path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}"
19.51 - path4sdk="${vs_root}/Common7/IDE;${path4sdk}"
19.52 - path4sdk="${compiler_path};${path4sdk}"
19.53 - elif [ "${windows_arch}" = amd64 ] ; then
19.54 - # AMD64 64bit Windows compiler settings
19.55 - if [ "${ALT_DEPLOY_MSSDK}" != "" ] ; then
19.56 - platform_sdk=${ALT_DEPLOY_MSSDK}
19.57 - else
19.58 - platform_sdk=$(${cygpath} "C:/Program Files/Microsoft Platform SDK/")
19.59 - fi
19.60 - if [ "${ALT_COMPILER_PATH}" != "" ] ; then
19.61 - compiler_path=${ALT_COMPILER_PATH}
19.62 - if [ "${ALT_DEPLOY_MSSDK}" = "" ] ; then
19.63 - platform_sdk=${ALT_COMPILER_PATH}/../../../..
19.64 - fi
19.65 - else
19.66 - compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
19.67 - fi
19.68 - # LIB and INCLUDE must use ; as a separator
19.69 - include4sdk="${platform_sdk}/Include"
19.70 - include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
19.71 - include4sdk="${include4sdk};${platform_sdk}/Include/mfc"
19.72 - include4sdk="${include4sdk};${platform_sdk}/Include/atl"
19.73 - include4sdk="${include4sdk};${platform_sdk}/Include/crt"
19.74 - lib4sdk="${platform_sdk}/Lib/AMD64"
19.75 - lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc"
19.76 - # Search path and DLL locating path
19.77 - # WARNING: CYGWIN has a link.exe too, make sure compilers are first
19.78 - path4sdk="${platform_sdk}/bin;${path4sdk}"
19.79 - path4sdk="${compiler_path};${path4sdk}"
19.80 +
19.81 + # Use supplied vsvars.sh
19.82 + repo=`hg root`
19.83 + if [ -f "${repo}/make/scripts/vsvars.sh" ] ; then
19.84 + eval `sh ${repo}/make/scripts/vsvars.sh -v10`
19.85 + elif [ -f "${repo}/../make/scripts/vsvars.sh" ] ; then
19.86 + eval `sh ${repo}/../make/scripts/vsvars.sh -v10`
19.87 + else
19.88 + echo "WARNING: No make/scripts/vsvars.sh file found"
19.89 fi
19.90 - # Export LIB and INCLUDE
19.91 - unset lib
19.92 - unset Lib
19.93 - LIB="${lib4sdk}"
19.94 - export LIB
19.95 - unset include
19.96 - unset Include
19.97 - INCLUDE="${include4sdk}"
19.98 - export INCLUDE
19.99
19.100 - # Turn all \\ into /, remove duplicates and trailing /
19.101 - slash_path="$(echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g')"
19.102 - path4sdk="${slash_path}"
19.103 -
19.104 - # Convert path4sdk to cygwin style
19.105 - path4sdk="$(/usr/bin/cygpath -p ${path4sdk})"
19.106 -
19.107 fi
19.108
19.109 # Get the previous JDK to be used to bootstrap the build
20.1 --- a/src/share/demo/jvmti/index.html Fri Jan 28 10:04:51 2011 -0800
20.2 +++ b/src/share/demo/jvmti/index.html Wed Feb 02 09:39:31 2011 -0800
20.3 @@ -389,10 +389,9 @@
20.4 <li>
20.5 MS DLL Runtime: Use the <code>/MD /D _STATIC_CPPLIB</code> option.
20.6 <br>
20.7 -This causes your dll to become dependent on MSVCRT.DLL and/or
20.8 -the newer C++ runtime MSVCR71.DLL.
20.9 +This causes your dll to become dependent on just MSVCR*.DLL.
20.10 The option /D _STATIC_CPPLIB prevents you from becoming dependent on the
20.11 -C++ library MSVCP71.DLL.
20.12 +C++ library MSVCP*.DLL.
20.13 This is what we use in the JDK, but there are probably many combinations
20.14 that you could safely use, unfortunately there are many combinations
20.15 of runtimes that will not work.