Merge
diff --git a/.hgtags b/.hgtags
index 85783d8..e7963e7 100644
--- a/.hgtags
+++ b/.hgtags
@@ -45,3 +45,4 @@
b23d905cb5d3b382295240d28ab0bfb266b4503c jdk7-b68
226b20019b1f020c09ea97d137d98e011ce65d76 jdk7-b69
893bcca951b747ddcf6986362b877f0e1dbb835b jdk7-b70
+b3f3240135f0c10b9f2481c174b81b7fcf0daa60 jdk7-b71
diff --git a/make/common/shared/Defs-java.gmk b/make/common/shared/Defs-java.gmk
index 9d918af..f9ed635 100644
--- a/make/common/shared/Defs-java.gmk
+++ b/make/common/shared/Defs-java.gmk
@@ -201,7 +201,10 @@
ifeq ($(JAVAC_WARNINGS_FATAL), true)
BOOT_JAVACFLAGS += -Werror
endif
-BOOT_JAVACFLAGS += -encoding ascii
+
+BOOT_SOURCE_LANGUAGE_VERSION = 6
+BOOT_TARGET_CLASS_VERSION = 6
+BOOT_JAVACFLAGS += -encoding ascii -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
BOOT_JAR_JFLAGS += $(JAR_JFLAGS)
BOOT_JAVACFLAGS += $(NO_PROPRIETARY_API_WARNINGS)
diff --git a/make/tools/freetypecheck/Makefile b/make/tools/freetypecheck/Makefile
index 94c9835..2316196 100644
--- a/make/tools/freetypecheck/Makefile
+++ b/make/tools/freetypecheck/Makefile
@@ -28,16 +28,21 @@
include $(BUILDDIR)/common/Defs.gmk
# Default name
-FT_TEST = $(BUILDTOOLBINDIR)/freetype_versioncheck$(EXE_SUFFIX)
+PROGRAM = freetype_versioncheck
+FT_OBJ = $(BUILDTOOLBINDIR)/$(PROGRAM).$(OBJECT_SUFFIX)
+FT_TEST = $(BUILDTOOLBINDIR)/$(PROGRAM)$(EXE_SUFFIX)
# Used on openjdk only
ifeq ($(OPENJDK),true)
# Start with CFLAGS (which gets us the required -xarch setting on solaris)
ifeq ($(PLATFORM), windows)
- FT_OPTIONS = /nologo $(CC_OBJECT_OUTPUT_FLAG)$(TEMPDIR)
+ FT_OPTIONS = /nologo /c
FREETYPE_DLL = $(FREETYPE_LIB_PATH)/freetype.dll
FT_LD_OPTIONS = $(FREETYPE_LIB_PATH)/freetype.lib
+ifdef MT
+ FT_LD_OPTIONS += /manifest
+endif
else
FT_OPTIONS = $(CFLAGS)
FT_LD_OPTIONS = -L$(FREETYPE_LIB_PATH)
@@ -55,15 +60,22 @@
# Create test program
all: $(FT_TEST)
- @$(FT_TEST)
+ $(FT_TEST)
# On windows we need to copy dll to test dir to ensure it will be found
# at runtime
$(FT_TEST): freetypecheck.c
- @$(prep-target)
- @$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS)
+ $(prep-target)
ifeq ($(PLATFORM), windows)
- @$(CP) $(FREETYPE_DLL) `dirname $@`
+ $(CC) $(FT_OPTIONS) $(CC_OBJECT_OUTPUT_FLAG)$(FT_OBJ) $<
+ $(LINK) $(FT_LD_OPTIONS) /OUT:$(FT_TEST) $(FT_OBJ)
+ $(CP) $(FREETYPE_DLL) $(@D)/
+ifdef MT
+ $(CP) $(MSVCRNN_DLL_PATH)/$(MSVCRNN_DLL) $(@D)/
+ $(MT) /manifest $(FT_TEST).manifest /outputresource:$(FT_TEST);#1
+endif
+else
+ @$(CC) $(FT_OPTIONS) $(CC_PROGRAM_OUTPUT_FLAG)$@ $< $(FT_LD_OPTIONS)
endif
else
diff --git a/make/tools/freetypecheck/freetypecheck.c b/make/tools/freetypecheck/freetypecheck.c
index 3f900a8..71d3202 100644
--- a/make/tools/freetypecheck/freetypecheck.c
+++ b/make/tools/freetypecheck/freetypecheck.c
@@ -32,6 +32,45 @@
#include "ft2build.h"
#include FT_FREETYPE_H
+#ifdef _MSC_VER
+#if _MSC_VER > 1400
+
+/*
+ * When building for Microsoft Windows, your program has a dependency
+ * on msvcr??.dll.
+ *
+ * When using Visual Studio 2005 or later, that must be recorded in
+ * the <program>.exe.manifest file.
+ *
+ * Reference:
+ * C:/Program Files/Microsoft SDKs/Windows/v6.1/include/crtdefs.h
+ */
+#include <crtassem.h>
+#ifdef _M_IX86
+
+#pragma comment(linker,"/manifestdependency:\"type='win32' " \
+ "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' " \
+ "version='" _CRT_ASSEMBLY_VERSION "' " \
+ "processorArchitecture='x86' " \
+ "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
+
+#endif /* _M_IX86 */
+
+//This may not be necessary yet for the Windows 64-bit build, but it
+//will be when that build environment is updated. Need to test to see
+//if it is harmless:
+#ifdef _M_AMD64
+
+#pragma comment(linker,"/manifestdependency:\"type='win32' " \
+ "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' " \
+ "version='" _CRT_ASSEMBLY_VERSION "' " \
+ "processorArchitecture='amd64' " \
+ "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
+
+#endif /* _M_AMD64 */
+#endif /* _MSC_VER > 1400 */
+#endif /* _MSC_VER */
+
#define QUOTEMACRO(x) QUOTEME(x)
#define QUOTEME(x) #x