mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8036003: Add --with-debug-symbols=[none|internal|external|zipped]
Reviewed-by: ihse, dholmes
This commit is contained in:
parent
24a73997eb
commit
0cc58634ff
@ -243,12 +243,18 @@ AC_DEFUN([BASIC_DEPRECATED_ARG_WITH],
|
||||
# Register a --enable argument but mark it as deprecated
|
||||
# $1: The name of the with argument to deprecate, not including --enable-
|
||||
# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
|
||||
# $3: Messages to user.
|
||||
AC_DEFUN([BASIC_DEPRECATED_ARG_ENABLE],
|
||||
[
|
||||
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
|
||||
[Deprecated. Option is kept for backwards compatibility and is ignored])])
|
||||
if test "x$enable_$2" != x; then
|
||||
AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])
|
||||
|
||||
if test "x$3" != x; then
|
||||
AC_MSG_WARN([$3])
|
||||
fi
|
||||
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
@ -690,6 +690,9 @@ FIXPATH
|
||||
GCOV_ENABLED
|
||||
ZIP_DEBUGINFO_FILES
|
||||
ENABLE_DEBUG_SYMBOLS
|
||||
STRIP_POLICY
|
||||
DEBUG_BINARIES
|
||||
NATIVE_DEBUG_SYMBOLS
|
||||
CFLAGS_WARNINGS_ARE_ERRORS
|
||||
DISABLE_WARNING_PREFIX
|
||||
HOTSPOT_SET_WARNINGS_AS_ERRORS
|
||||
@ -1107,6 +1110,7 @@ with_toolchain_version
|
||||
with_build_devkit
|
||||
with_jtreg
|
||||
enable_warnings_as_errors
|
||||
with_native_debug_symbols
|
||||
enable_debug_symbols
|
||||
enable_zip_debug_info
|
||||
enable_native_coverage
|
||||
@ -1887,9 +1891,10 @@ Optional Features:
|
||||
--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]
|
||||
--enable-debug-symbols Deprecated. Option is kept for backwards
|
||||
compatibility and is ignored
|
||||
--enable-zip-debug-info Deprecated. Option is kept for backwards
|
||||
compatibility and is ignored
|
||||
--enable-native-coverage
|
||||
enable native compilation with code coverage
|
||||
data[disabled]
|
||||
@ -2001,6 +2006,9 @@ Optional Packages:
|
||||
dependent]
|
||||
--with-build-devkit Devkit to use for the build platform toolchain
|
||||
--with-jtreg Regression Test Harness [probed]
|
||||
--with-native-debug-symbols
|
||||
set the native debug symbol configuration (none,
|
||||
internal, external, zipped) [zipped]
|
||||
--with-stdc++lib=<static>,<dynamic>,<default>
|
||||
force linking of the C++ runtime on Linux to either
|
||||
static or dynamic, default is static with dynamic as
|
||||
@ -3481,6 +3489,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
# Register a --enable argument but mark it as deprecated
|
||||
# $1: The name of the with argument to deprecate, not including --enable-
|
||||
# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
|
||||
# $3: Messages to user.
|
||||
|
||||
|
||||
|
||||
@ -4719,7 +4728,7 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
DATE_WHEN_GENERATED=1449605339
|
||||
DATE_WHEN_GENERATED=1449838377
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -47639,68 +47648,109 @@ $as_echo "$supports" >&6; }
|
||||
# Setup debug symbols (need objcopy from the toolchain for that)
|
||||
|
||||
#
|
||||
# ENABLE_DEBUG_SYMBOLS
|
||||
# NATIVE_DEBUG_SYMBOLS
|
||||
# This must be done after the toolchain is setup, since we're looking at objcopy.
|
||||
#
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking what type of native debug symbols to use" >&5
|
||||
$as_echo_n "checking what type of native debug symbols to use... " >&6; }
|
||||
|
||||
# Check whether --with-native-debug-symbols was given.
|
||||
if test "${with_native_debug_symbols+set}" = set; then :
|
||||
withval=$with_native_debug_symbols;
|
||||
else
|
||||
with_native_debug_symbols="zipped"
|
||||
fi
|
||||
|
||||
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $NATIVE_DEBUG_SYMBOLS" >&5
|
||||
$as_echo "$NATIVE_DEBUG_SYMBOLS" >&6; }
|
||||
|
||||
if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
|
||||
|
||||
if test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
as_fn_error $? "Unable to find objcopy, cannot enable native debug symbols" "$LINENO" 5
|
||||
fi
|
||||
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
ZIP_DEBUGINFO_FILES=true
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=min_strip
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=false
|
||||
STRIP_POLICY=no_strip
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
|
||||
ENABLE_DEBUG_SYMBOLS=false # -g option only
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=no_strip
|
||||
STRIP=""
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
|
||||
|
||||
if test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
as_fn_error $? "Unable to find objcopy, cannot enable native debug symbols" "$LINENO" 5
|
||||
fi
|
||||
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=min_strip
|
||||
else
|
||||
as_fn_error $? "Allowed native debug symbols are: none, internal, external, zipped" "$LINENO" 5
|
||||
fi
|
||||
|
||||
# --enable-debug-symbols is deprecated.
|
||||
# Please use --with-native-debug-symbols=[internal,external,zipped] .
|
||||
|
||||
# Check whether --enable-debug-symbols was given.
|
||||
if test "${enable_debug_symbols+set}" = set; then :
|
||||
enableval=$enable_debug_symbols;
|
||||
fi
|
||||
|
||||
if test "x$enable_debug_symbols" != x; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --enable-debug-symbols is deprecated and will be ignored." >&5
|
||||
$as_echo "$as_me: WARNING: Option --enable-debug-symbols is deprecated and will be ignored." >&2;}
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should generate debug symbols" >&5
|
||||
$as_echo_n "checking if we should generate debug symbols... " >&6; }
|
||||
|
||||
if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
as_fn_error $? "Unable to find objcopy, cannot enable debug-symbols" "$LINENO" 5
|
||||
fi
|
||||
|
||||
if test "x$enable_debug_symbols" = "xyes"; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
elif test "x$enable_debug_symbols" = "xno"; then
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
else
|
||||
# Default is on if objcopy is found
|
||||
if test "x$OBJCOPY" != x; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
# MacOS X and Windows don't use objcopy but default is on for those OSes
|
||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
else
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
if test "xPlease use --with-native-debug-symbols=[internal,external,zipped] ." != x; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please use --with-native-debug-symbols=[internal,external,zipped] ." >&5
|
||||
$as_echo "$as_me: WARNING: Please use --with-native-debug-symbols=[internal,external,zipped] ." >&2;}
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_DEBUG_SYMBOLS" >&5
|
||||
$as_echo "$ENABLE_DEBUG_SYMBOLS" >&6; }
|
||||
|
||||
#
|
||||
# ZIP_DEBUGINFO_FILES
|
||||
#
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we should zip debug-info files" >&5
|
||||
$as_echo_n "checking if we should zip debug-info files... " >&6; }
|
||||
# --enable-zip-debug-info is deprecated.
|
||||
# Please use --with-native-debug-symbols=zipped .
|
||||
|
||||
# Check whether --enable-zip-debug-info was given.
|
||||
if test "${enable_zip_debug_info+set}" = set; then :
|
||||
enableval=$enable_zip_debug_info; enable_zip_debug_info="${enableval}"
|
||||
else
|
||||
enable_zip_debug_info="yes"
|
||||
enableval=$enable_zip_debug_info;
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_zip_debug_info}" >&5
|
||||
$as_echo "${enable_zip_debug_info}" >&6; }
|
||||
if test "x$enable_zip_debug_info" != x; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --enable-zip-debug-info is deprecated and will be ignored." >&5
|
||||
$as_echo "$as_me: WARNING: Option --enable-zip-debug-info is deprecated and will be ignored." >&2;}
|
||||
|
||||
if test "xPlease use --with-native-debug-symbols=zipped ." != x; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Please use --with-native-debug-symbols=zipped ." >&5
|
||||
$as_echo "$as_me: WARNING: Please use --with-native-debug-symbols=zipped ." >&2;}
|
||||
fi
|
||||
|
||||
if test "x${enable_zip_debug_info}" = "xno"; then
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
else
|
||||
ZIP_DEBUGINFO_FILES=true
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Check whether --enable-native-coverage was given.
|
||||
if test "${enable_native_coverage+set}" = set; then :
|
||||
enableval=$enable_native_coverage;
|
||||
|
||||
@ -491,53 +491,70 @@ AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
[
|
||||
#
|
||||
# ENABLE_DEBUG_SYMBOLS
|
||||
# NATIVE_DEBUG_SYMBOLS
|
||||
# This must be done after the toolchain is setup, since we're looking at objcopy.
|
||||
#
|
||||
AC_ARG_ENABLE([debug-symbols],
|
||||
[AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])])
|
||||
AC_MSG_CHECKING([what type of native debug symbols to use])
|
||||
AC_ARG_WITH([native-debug-symbols],
|
||||
[AS_HELP_STRING([--with-native-debug-symbols],
|
||||
[set the native debug symbol configuration (none, internal, external, zipped) @<:@zipped@:>@])],
|
||||
[],
|
||||
[with_native_debug_symbols="zipped"])
|
||||
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
|
||||
AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
|
||||
|
||||
AC_MSG_CHECKING([if we should generate debug symbols])
|
||||
if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
|
||||
|
||||
if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
|
||||
fi
|
||||
|
||||
if test "x$enable_debug_symbols" = "xyes"; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
elif test "x$enable_debug_symbols" = "xno"; then
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
else
|
||||
# Default is on if objcopy is found
|
||||
if test "x$OBJCOPY" != x; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
# MacOS X and Windows don't use objcopy but default is on for those OSes
|
||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
else
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
if test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
|
||||
|
||||
#
|
||||
# ZIP_DEBUGINFO_FILES
|
||||
#
|
||||
AC_MSG_CHECKING([if we should zip debug-info files])
|
||||
AC_ARG_ENABLE([zip-debug-info],
|
||||
[AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])],
|
||||
[enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"])
|
||||
AC_MSG_RESULT([${enable_zip_debug_info}])
|
||||
|
||||
if test "x${enable_zip_debug_info}" = "xno"; then
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
else
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
ZIP_DEBUGINFO_FILES=true
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=min_strip
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
|
||||
ENABLE_DEBUG_SYMBOLS=false
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=false
|
||||
STRIP_POLICY=no_strip
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
|
||||
ENABLE_DEBUG_SYMBOLS=false # -g option only
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=no_strip
|
||||
STRIP=""
|
||||
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
|
||||
|
||||
if test "x$OBJCOPY" = x; then
|
||||
# explicit enabling of enable-debug-symbols and can't find objcopy
|
||||
# this is an error
|
||||
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
|
||||
fi
|
||||
|
||||
ENABLE_DEBUG_SYMBOLS=true
|
||||
ZIP_DEBUGINFO_FILES=false
|
||||
DEBUG_BINARIES=true
|
||||
STRIP_POLICY=min_strip
|
||||
else
|
||||
AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
|
||||
fi
|
||||
|
||||
# --enable-debug-symbols is deprecated.
|
||||
# Please use --with-native-debug-symbols=[internal,external,zipped] .
|
||||
BASIC_DEPRECATED_ARG_ENABLE(debug-symbols, debug_symbols,
|
||||
[Please use --with-native-debug-symbols=[[internal,external,zipped]] .])
|
||||
|
||||
# --enable-zip-debug-info is deprecated.
|
||||
# Please use --with-native-debug-symbols=zipped .
|
||||
BASIC_DEPRECATED_ARG_ENABLE(zip-debug-info, zip_debug_info,
|
||||
[Please use --with-native-debug-symbols=zipped .])
|
||||
|
||||
AC_SUBST(NATIVE_DEBUG_SYMBOLS)
|
||||
AC_SUBST(DEBUG_BINARIES)
|
||||
AC_SUBST(STRIP_POLICY)
|
||||
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
|
||||
AC_SUBST(ZIP_DEBUGINFO_FILES)
|
||||
])
|
||||
|
||||
@ -421,6 +421,9 @@ ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
|
||||
CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
|
||||
CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
|
||||
ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
|
||||
NATIVE_DEBUG_SYMBOLS:=@NATIVE_DEBUG_SYMBOLS@
|
||||
DEBUG_BINARIES:=@DEBUG_BINARIES@
|
||||
STRIP_POLICY:=@STRIP_POLICY@
|
||||
|
||||
#
|
||||
# Compress (or not) jars
|
||||
|
||||
@ -513,6 +513,10 @@ define SetupNativeCompilationBody
|
||||
$1_EXTRA_CXXFLAGS:=$$($1_EXTRA_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG_BINARIES), true)
|
||||
$1_EXTRA_CFLAGS+=$(CFLAGS_DEBUG_SYMBOLS)
|
||||
$1_EXTRA_CXXFLAGS+=$(CXXFLAGS_DEBUG_SYMBOLS)
|
||||
endif
|
||||
ifeq ($$($1_DEBUG_SYMBOLS), true)
|
||||
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
|
||||
ifdef OPENJDK
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user