6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
6779412: VS2008 errors compiling jdk sources
Summary: Update Makefiles to tolerate newer Visual Studio releases and runtimes.
Reviewed-by: ohair
## Copyright 2003-2008 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. Sun designates this# particular file as subject to the "Classpath" exception as provided# by Sun in the LICENSE file that accompanied this code.## 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.### Makefile for building Pack200#BUILDDIR = ../../../..PACKAGE = com.sun.java.util.jar.packLIBRARY = unpackPRODUCT = sunPGRM = unpack200include $(BUILDDIR)/common/Defs.gmkCPLUSPLUSLIBRARY=trueFILES_m = mapfile-versinclude $(BUILDDIR)/common/Mapfile-vers.gmk## Files to compile#AUTO_FILES_JAVA_DIRS = com/sun/java/util/jar/packinclude FILES_cpp.gmkFILES_export = $(PKGDIR)/NativeUnpack.java## Rulesinclude $(BUILDDIR)/common/Library.gmkbuild: unpackervpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)ifeq ($(STANDALONE),true) ZIPOBJDIR = $(OUTPUTDIR)/tmp/sun/java.util.zip/zip/$(OBJDIRNAME) ZIPOBJS = $(ZIPOBJDIR)/zcrc32.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/deflate.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/trees.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/zadler32.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/zutil.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inflate.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/infblock.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/infcodes.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/infutil.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) ZINCLUDE=-I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 OTHER_CXXFLAGS += $(ZINCLUDE) LDDFLAGS += $(ZIPOBJS)else OTHER_CXXFLAGS += -DNO_ZLIB -DUNPACK_JNI OTHER_LDLIBS += $(JVMLIB)endifCXXFLAGS_DBG += -DFULLCXXFLAGS_OPT += -DPRODUCTCXXFLAGS_COMMON += -DFULLifeq ($(PLATFORM), windows) CXXFLAGS_COMMON += $(MS_RUNTIME_OPTION) LDOUTPUT = -Fe # J2SE name required here RC_FLAGS += /D "J2SE_FNAME=$(PGRM).exe" \ /D "J2SE_INTERNAL_NAME=$(PGRM)" \ /D "J2SE_FTYPE=0x1L" RES = $(OBJDIR)/$(PGRM).reselse LDOUTPUT = -o #Have a space LDDFLAGS += -lc OTHER_LDLIBS += $(LIBCXX)# setup the list of libraries to link in...ifeq ($(PLATFORM), linux)ifeq ("$(CC_VER_MAJOR)", "3") OTHER_LDLIBS += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamicendifendif #LINUXendif #PLATFORMUNPACK_EXE = $(BINDIR)/unpack200$(EXE_SUFFIX)UNPACK_EXE_FILES_cpp = $(filter-out jni.cpp,$(FILES_cpp))UNPACK_EXE_FILES_cpp += main.cppUNPACK_EXE_FILES_o = $(addprefix $(COBJDIR)/, \ $(notdir \ $(patsubst %.cpp,%.$(OBJECT_SUFFIX),$(UNPACK_EXE_FILES_cpp)) \ ))COBJDIR = $(strip $(subst unpack,unpack-cmd,$(OBJDIR)))all: buildbuild: propprop: $(MAKE) -C propunpacker: $(MAKE) $(UNPACK_EXE) STANDALONE=true LDMAPFLAGS_OPT= LDMAPFLAGS_DBG=ifeq ($(PLATFORM), windows)winres:: $(RES)elsewinres:: $(ECHO) "Resource files not required for Unix"endif$(UNPACK_EXE): $(UNPACK_EXE_FILES_o) winres $(prep-target) $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX)ifdef MT $(MT) /manifest $(TEMPDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1endif $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)ifeq ($(PLATFORM), windows) $(RES):: $(VERSIONINFO_RESOURCE) $(prep-target) $(RC) $(RC_FLAGS) $(CC_OBJECT_OUTPUT_FLAG)$(@) $(VERSIONINFO_RESOURCE)endif$(COBJDIR)/%.$(OBJECT_SUFFIX): %.cpp $(prep-target) $(COMPILE.cc) $(CC_OBJECT_OUTPUT_FLAG)$(COBJDIR)/$*.$(OBJECT_SUFFIX) $<## Clean up.#clean:: $(RM) -r $(CLASSDESTDIR)/com/sun/java/util/jar/pack $(TEMPDIR) $(RM) -r $(OUTPUTDIR)/tmp/$(PRODUCT)/$(PACKAGE) $(MAKE) -C prop clean.PHONY: unpacker clean winres prop