--- a/common/autoconf/basics.m4 Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/basics.m4 Thu May 14 20:14:02 2015 -0700
@@ -705,9 +705,9 @@
# is performed.
filtered_files=`$ECHO "$files_present" \
| $SED -e 's/config.log//g' \
- -e 's/confdefs.h//g' \
- -e 's/fixpath.exe//g' \
- -e 's/ //g' \
+ -e 's/configure.log//g' \
+ -e 's/confdefs.h//g' \
+ -e 's/ //g' \
| $TR -d '\n'`
if test "x$filtered_files" != x; then
AC_MSG_NOTICE([Current directory is $CURDIR.])
@@ -1054,3 +1054,29 @@
AC_SUBST(BASH_ARGS)
])
+
+# Code to run after AC_OUTPUT
+AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT],
+[
+ # Try to move config.log (generated by autoconf) to the configure-support directory.
+ if test -e ./config.log; then
+ $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
+ fi
+
+ # Rotate our log file (configure.log)
+ if test -e "$OUTPUT_ROOT/configure.log.old"; then
+ $RM -f "$OUTPUT_ROOT/configure.log.old"
+ fi
+ if test -e "$OUTPUT_ROOT/configure.log"; then
+ $MV -f "$OUTPUT_ROOT/configure.log" "$OUTPUT_ROOT/configure.log.old" 2> /dev/null
+ fi
+
+ # Move configure.log from current directory to the build output root
+ if test -e ./configure.log; then
+ echo found it
+ $MV -f ./configure.log "$OUTPUT_ROOT/configure.log" 2> /dev/null
+ fi
+
+ # Make the compare script executable
+ $CHMOD +x $OUTPUT_ROOT/compare.sh
+])
--- a/common/autoconf/configure Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/configure Thu May 14 20:14:02 2015 -0700
@@ -255,13 +255,10 @@
set -x
fi
-if test "x$conf_debug_configure" = xtrue; then
- # Turn on logging, but don't turn on twice when called recursive
- conf_debug_logfile=./debug-configure.log
- (exec 3>&1 ; (. $conf_script_to_run "${conf_processed_arguments[@]}" 2>&1 1>&3 ) | tee -a $conf_debug_logfile 1>&2 ; exec 3>&-) | tee -a $conf_debug_logfile
-else
- ( . $conf_script_to_run "${conf_processed_arguments[@]}" )
-fi
+# Now transfer control to the script generated by autoconf. This is where the
+# main work is done.
+conf_logfile=./configure.log
+(exec 3>&1 ; (. $conf_script_to_run "${conf_processed_arguments[@]}" 2>&1 1>&3 ) | tee -a $conf_logfile 1>&2 ; exec 3>&-) | tee -a $conf_logfile
conf_result_code=$?
###
--- a/common/autoconf/configure.ac Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/configure.ac Thu May 14 20:14:02 2015 -0700
@@ -265,15 +265,10 @@
# Create the actual output files. Now the main work of configure is done.
AC_OUTPUT
+
+# After AC_OUTPUT, we need to do final work
CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK
-
-# Try to move the config.log file to the output directory.
-if test -e ./config.log; then
- $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
-fi
-
-# Make the compare script executable
-$CHMOD +x $OUTPUT_ROOT/compare.sh
+BASIC_POST_CONFIG_OUTPUT
# Finally output some useful information to the user
HELP_PRINT_SUMMARY_AND_WARNINGS
--- a/common/autoconf/flags.m4 Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/flags.m4 Thu May 14 20:14:02 2015 -0700
@@ -231,7 +231,6 @@
AC_SUBST(C_FLAG_REORDER)
AC_SUBST(CXX_FLAG_REORDER)
- AC_SUBST(SHARED_LIBRARY_FLAGS)
AC_SUBST(SET_EXECUTABLE_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_NAME)
@@ -524,6 +523,10 @@
# CXXFLAGS_JDK - C++ Compiler flags
# COMMON_CCXXFLAGS_JDK - common to C and C++
if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_CPU" = xx86; then
+ # Force compatibility with i586 on 32 bit intel platforms.
+ COMMON_CCXXFLAGS="${COMMON_CCXXFLAGS} -march=i586"
+ fi
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
-pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
@@ -900,6 +903,24 @@
[COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
+ AC_ARG_ENABLE([warnings-as-errors], [AS_HELP_STRING([--disable-warnings-as-errors],
+ [do not consider native warnings to be an error @<:@enabled@:>@])])
+
+ AC_MSG_CHECKING([if native warnings are errors])
+ if test "x$enable_warnings_as_errors" = "xyes"; then
+ AC_MSG_RESULT([yes (explicitely set)])
+ WARNINGS_AS_ERRORS=true
+ elif test "x$enable_warnings_as_errors" = "xno"; then
+ AC_MSG_RESULT([no])
+ WARNINGS_AS_ERRORS=false
+ elif test "x$enable_warnings_as_errors" = "x"; then
+ AC_MSG_RESULT([yes (default)])
+ WARNINGS_AS_ERRORS=true
+ else
+ AC_MSG_ERROR([--enable-warnings-as-errors accepts no argument])
+ fi
+ AC_SUBST(WARNINGS_AS_ERRORS)
+
case "${TOOLCHAIN_TYPE}" in
microsoft)
DISABLE_WARNING_PREFIX="-wd"
--- a/common/autoconf/generated-configure.sh Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/generated-configure.sh Thu May 14 20:14:02 2015 -0700
@@ -684,6 +684,7 @@
ENABLE_DEBUG_SYMBOLS
CFLAGS_WARNINGS_ARE_ERRORS
DISABLE_WARNING_PREFIX
+WARNINGS_AS_ERRORS
COMPILER_SUPPORTS_TARGET_BITS_FLAG
ZERO_ARCHFLAG
LDFLAGS_TESTEXE_SUFFIX
@@ -727,7 +728,6 @@
SET_SHARED_LIBRARY_NAME
SET_SHARED_LIBRARY_ORIGIN
SET_EXECUTABLE_ORIGIN
-SHARED_LIBRARY_FLAGS
CXX_FLAG_REORDER
C_FLAG_REORDER
SYSROOT_LDFLAGS
@@ -1086,6 +1086,7 @@
with_extra_cflags
with_extra_cxxflags
with_extra_ldflags
+enable_warnings_as_errors
enable_debug_symbols
enable_zip_debug_info
enable_native_coverage
@@ -1852,6 +1853,9 @@
--enable-rmiconnector-iiop
enable the JMX RMIConnector iiop transport
[disabled]
+ --disable-warnings-as-errors
+ do not consider native warnings to be an error
+ [enabled]
--disable-debug-symbols disable generation of debug symbols [enabled]
--disable-zip-debug-info
disable zipping of debug-info files [enabled]
@@ -3496,6 +3500,9 @@
# Check for support for specific options in bash
+# Code to run after AC_OUTPUT
+
+
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -4359,7 +4366,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1430918902
+DATE_WHEN_GENERATED=1431429776
###############################################################################
#
@@ -15335,9 +15342,9 @@
# is performed.
filtered_files=`$ECHO "$files_present" \
| $SED -e 's/config.log//g' \
- -e 's/confdefs.h//g' \
- -e 's/fixpath.exe//g' \
- -e 's/ //g' \
+ -e 's/configure.log//g' \
+ -e 's/confdefs.h//g' \
+ -e 's/ //g' \
| $TR -d '\n'`
if test "x$filtered_files" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Current directory is $CURDIR." >&5
@@ -41761,7 +41768,6 @@
-
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
@@ -42029,6 +42035,10 @@
# CXXFLAGS_JDK - C++ Compiler flags
# COMMON_CCXXFLAGS_JDK - common to C and C++
if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_CPU" = xx86; then
+ # Force compatibility with i586 on 32 bit intel platforms.
+ COMMON_CCXXFLAGS="${COMMON_CCXXFLAGS} -march=i586"
+ fi
COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
-pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
case $OPENJDK_TARGET_CPU_ARCH in
@@ -42471,6 +42481,31 @@
+ # Check whether --enable-warnings-as-errors was given.
+if test "${enable_warnings_as_errors+set}" = set; then :
+ enableval=$enable_warnings_as_errors;
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if native warnings are errors" >&5
+$as_echo_n "checking if native warnings are errors... " >&6; }
+ if test "x$enable_warnings_as_errors" = "xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (explicitely set)" >&5
+$as_echo "yes (explicitely set)" >&6; }
+ WARNINGS_AS_ERRORS=true
+ elif test "x$enable_warnings_as_errors" = "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ WARNINGS_AS_ERRORS=false
+ elif test "x$enable_warnings_as_errors" = "x"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes (default)" >&5
+$as_echo "yes (default)" >&6; }
+ WARNINGS_AS_ERRORS=true
+ else
+ as_fn_error $? "--enable-warnings-as-errors accepts no argument" "$LINENO" 5
+ fi
+
+
case "${TOOLCHAIN_TYPE}" in
microsoft)
DISABLE_WARNING_PREFIX="-wd"
@@ -54179,14 +54214,31 @@
fi
-
-# Try to move the config.log file to the output directory.
-if test -e ./config.log; then
- $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
-fi
-
-# Make the compare script executable
-$CHMOD +x $OUTPUT_ROOT/compare.sh
+# After AC_OUTPUT, we need to do final work
+
+
+ # Try to move config.log (generated by autoconf) to the configure-support directory.
+ if test -e ./config.log; then
+ $MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
+ fi
+
+ # Rotate our log file (configure.log)
+ if test -e "$OUTPUT_ROOT/configure.log.old"; then
+ $RM -f "$OUTPUT_ROOT/configure.log.old"
+ fi
+ if test -e "$OUTPUT_ROOT/configure.log"; then
+ $MV -f "$OUTPUT_ROOT/configure.log" "$OUTPUT_ROOT/configure.log.old" 2> /dev/null
+ fi
+
+ # Move configure.log from current directory to the build output root
+ if test -e ./configure.log; then
+ echo found it
+ $MV -f ./configure.log "$OUTPUT_ROOT/configure.log" 2> /dev/null
+ fi
+
+ # Make the compare script executable
+ $CHMOD +x $OUTPUT_ROOT/compare.sh
+
# Finally output some useful information to the user
@@ -54280,14 +54332,20 @@
-if test -e "$OUTPUT_ROOT/config.log"; then
- $GREP '^configure:.*: WARNING:' "$OUTPUT_ROOT/config.log" > /dev/null 2>&1
- if test $? -eq 0; then
- printf "The following warnings were produced. Repeated here for convenience:\n"
- # We must quote sed expression (using []) to stop m4 from eating the [].
- $GREP '^configure:.*: WARNING:' "$OUTPUT_ROOT/config.log" | $SED -e 's/^configure:[0-9]*: //'
- printf "\n"
- fi
-fi
-
-
+ # Locate config.log.
+ if test -e "$CONFIGURESUPPORT_OUTPUTDIR/config.log"; then
+ CONFIG_LOG_PATH="$CONFIGURESUPPORT_OUTPUTDIR"
+ elif test -e "./config.log"; then
+ CONFIG_LOG_PATH="."
+ fi
+
+ if test -e "$CONFIG_LOG_PATH/config.log"; then
+ $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" > /dev/null 2>&1
+ if test $? -eq 0; then
+ printf "The following warnings were produced. Repeated here for convenience:\n"
+ # We must quote sed expression (using []) to stop m4 from eating the [].
+ $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" | $SED -e 's/^configure:[0-9]*: //'
+ printf "\n"
+ fi
+ fi
+
--- a/common/autoconf/help.m4 Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/help.m4 Thu May 14 20:14:02 2015 -0700
@@ -212,7 +212,7 @@
if test "x$TOOLCHAIN_VERSION" != "x"; then
print_version=" $TOOLCHAIN_VERSION"
fi
- printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION$print_version)\n"
+ printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION$print_version)\n"
printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n"
printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n"
@@ -263,14 +263,20 @@
AC_DEFUN_ONCE([HELP_REPEAT_WARNINGS],
[
-if test -e "$OUTPUT_ROOT/config.log"; then
- $GREP '^configure:.*: WARNING:' "$OUTPUT_ROOT/config.log" > /dev/null 2>&1
- if test $? -eq 0; then
- printf "The following warnings were produced. Repeated here for convenience:\n"
- # We must quote sed expression (using []) to stop m4 from eating the [].
- $GREP '^configure:.*: WARNING:' "$OUTPUT_ROOT/config.log" | $SED -e [ 's/^configure:[0-9]*: //' ]
- printf "\n"
+ # Locate config.log.
+ if test -e "$CONFIGURESUPPORT_OUTPUTDIR/config.log"; then
+ CONFIG_LOG_PATH="$CONFIGURESUPPORT_OUTPUTDIR"
+ elif test -e "./config.log"; then
+ CONFIG_LOG_PATH="."
fi
-fi
+ if test -e "$CONFIG_LOG_PATH/config.log"; then
+ $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" > /dev/null 2>&1
+ if test $? -eq 0; then
+ printf "The following warnings were produced. Repeated here for convenience:\n"
+ # We must quote sed expression (using []) to stop m4 from eating the [].
+ $GREP '^configure:.*: WARNING:' "$CONFIG_LOG_PATH/config.log" | $SED -e [ 's/^configure:[0-9]*: //' ]
+ printf "\n"
+ fi
+ fi
])
--- a/common/autoconf/spec.gmk.in Thu May 14 12:38:06 2015 -0700
+++ b/common/autoconf/spec.gmk.in Thu May 14 20:14:02 2015 -0700
@@ -321,6 +321,9 @@
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
+# A global flag (true or false) determining if native warnings are considered errors.
+WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
+
CFLAGS_CCACHE:=@CFLAGS_CCACHE@
# Tools that potentially need to be cross compilation aware.
@@ -394,9 +397,6 @@
LIPO:=@LIPO@
-# Command to create a shared library
-SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@
-
# Options to linker to specify a mapfile.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
--- a/make/CompileJavaModules.gmk Thu May 14 12:38:06 2015 -0700
+++ b/make/CompileJavaModules.gmk Thu May 14 20:14:02 2015 -0700
@@ -89,7 +89,7 @@
################################################################################
-java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-missing,-reference '-Xdoclint/package:java.*,javax.*'
+java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
java.desktop_COPY := .gif .png .wav .txt .xml .css .pf
java.desktop_CLEAN := iio-plugin.properties cursors.properties
@@ -152,7 +152,6 @@
$(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/*.java) \
$(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/opengl/*.java) \
$(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/*.java) \
- $(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/awt/motif/*.java) \
$(wildcard $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/font/*.java) \
#
else
--- a/make/Init.gmk Thu May 14 12:38:06 2015 -0700
+++ b/make/Init.gmk Thu May 14 20:14:02 2015 -0700
@@ -267,7 +267,9 @@
( cd $(TOPDIR) && \
$(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) $(OUTPUT_SYNC_FLAG) \
-j $(JOBS) -f make/Main.gmk $(USER_MAKE_VARS) \
- $(PARALLEL_TARGETS) )
+ $(PARALLEL_TARGETS) || \
+ ( exitcode=$$? && $(BUILD_LOG_WRAPPER) $(PRINTF) "\nERROR: Build failed for $(TARGET_DESCRIPTION) (exit code $$exitcode) \n" && \
+ $(PRINTF) "Hint: If caused by a warning, try configure --disable-warnings-as-errors \n\n" && exit $$exitcode ) )
$(call CleanupSmartJavac)
$(call StopGlobalTimer)
$(call ReportBuildTimes)
--- a/make/Javadoc.gmk Thu May 14 12:38:06 2015 -0700
+++ b/make/Javadoc.gmk Thu May 14 20:14:02 2015 -0700
@@ -1141,7 +1141,7 @@
NASHORNAPI_HEADER := <strong>Nashorn API</strong>
NASHORNAPI_BOTTOM := $(call CommonBottom,$(NASHORNAPI_FIRST_COPYRIGHT_YEAR))
NASHORNAPI_GROUPNAME := Packages
-NASHORNAPI_REGEXP := jdk.nashorn.api.scripting.*
+NASHORNAPI_REGEXP := jdk.nashorn.api.*
# NASHORNAPI_PKGS is located in NON_CORE_PKGS.gmk
NASHORNAPI_INDEX_HTML = $(NASHORNAPI_DOCDIR)/index.html
--- a/make/common/NON_CORE_PKGS.gmk Thu May 14 12:38:06 2015 -0700
+++ b/make/common/NON_CORE_PKGS.gmk Thu May 14 20:14:02 2015 -0700
@@ -82,7 +82,8 @@
com.sun.source.util \
jdk
-NASHORNAPI_PKGS = jdk.nashorn.api.scripting
+NASHORNAPI_PKGS = jdk.nashorn.api.scripting \
+ jdk.nashorn.api.tree
SMARTCARDIO_PKGS = javax.smartcardio
--- a/make/common/NativeCompilation.gmk Thu May 14 12:38:06 2015 -0700
+++ b/make/common/NativeCompilation.gmk Thu May 14 20:14:02 2015 -0700
@@ -487,6 +487,21 @@
$1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)))
endif
+ # Check if warnings should be considered errors.
+ # Pick first binary and toolchain specific, then binary specific, then general setting.
+ ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)),)
+ ifeq ($$($1_WARNINGS_AS_ERRORS),)
+ $1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE) := $$(WARNINGS_AS_ERRORS)
+ else
+ $1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE) := $$($1_WARNINGS_AS_ERRORS)
+ endif
+ endif
+
+ ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
+ $1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
+ $1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
+ endif
+
ifeq (NONE, $$($1_OPTIMIZATION))
$1_EXTRA_CFLAGS += $(C_O_FLAG_NONE)
$1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NONE)
--- a/modules.xml Thu May 14 12:38:06 2015 -0700
+++ b/modules.xml Thu May 14 20:14:02 2015 -0700
@@ -616,7 +616,6 @@
<depend>java.prefs</depend>
<depend re-exports="true">java.xml</depend>
<depend re-exports="true">java.datatransfer</depend>
- <depend>jdk.charsets</depend>
<export>
<name>java.applet</name>
</export>
@@ -1502,10 +1501,6 @@
<module>
<name>jdk.charsets</name>
<depend>java.base</depend>
- <export>
- <name>sun.nio.cs.ext</name>
- <to>java.desktop</to>
- </export>
</module>
<module>
<name>jdk.compiler</name>