configure.ac (--with-diagnostics-color): New configure option, default to --with-diagnostics-color=auto.

* configure.ac (--with-diagnostics-color): New configure
	option, default to --with-diagnostics-color=auto.
	* toplev.c (process_options): Use DIAGNOSTICS_COLOR_DEFAULT
	to determine -fdiagnostics-color= option default.
	* doc/invoke.texi (-fdiagnostics-color=): Document new
	default.
	* configure: Regenerated.
	* config.in: Regenerated.

From-SVN: r217540
This commit is contained in:
Jakub Jelinek 2014-11-14 08:30:27 +01:00 committed by Jakub Jelinek
parent 5004bd0026
commit 899c78aee8
6 changed files with 116 additions and 16 deletions

View File

@ -1,3 +1,14 @@
2014-11-14 Jakub Jelinek <jakub@redhat.com>
* configure.ac (--with-diagnostics-color): New configure
option, default to --with-diagnostics-color=auto.
* toplev.c (process_options): Use DIAGNOSTICS_COLOR_DEFAULT
to determine -fdiagnostics-color= option default.
* doc/invoke.texi (-fdiagnostics-color=): Document new
default.
* configure: Regenerated.
* config.in: Regenerated.
2014-11-13 Teresa Johnson <tejohnson@google.com> 2014-11-13 Teresa Johnson <tejohnson@google.com>
PR tree-optimization/63841 PR tree-optimization/63841

View File

@ -57,6 +57,12 @@
#endif #endif
/* The default for -fdiagnostics-color option */
#ifndef USED_FOR_TARGET
#undef DIAGNOSTICS_COLOR_DEFAULT
#endif
/* Define if you want assertions enabled. This is a cheap check. */ /* Define if you want assertions enabled. This is a cheap check. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef ENABLE_ASSERT_CHECKING #undef ENABLE_ASSERT_CHECKING
@ -272,6 +278,12 @@
#endif #endif
/* Define if your assembler supports .module. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_DOT_MODULE
#endif
/* Define if your assembler supports DSPR1 mult. */ /* Define if your assembler supports DSPR1 mult. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef HAVE_AS_DSPR1_MULT #undef HAVE_AS_DSPR1_MULT
@ -484,12 +496,6 @@
#endif #endif
/* Define if the assembler understands .module. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_DOT_MODULE
#endif
/* Define if your assembler supports the -no-mul-bug-abort option. */ /* Define if your assembler supports the -no-mul-bug-abort option. */
#ifndef USED_FOR_TARGET #ifndef USED_FOR_TARGET
#undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION

41
gcc/configure vendored
View File

@ -936,6 +936,7 @@ enable_plugin
enable_host_shared enable_host_shared
enable_libquadmath_support enable_libquadmath_support
with_linker_hash_style with_linker_hash_style
with_diagnostics_color
' '
ac_precious_vars='build_alias ac_precious_vars='build_alias
host_alias host_alias
@ -1708,6 +1709,11 @@ Optional Packages:
--with-system-zlib use installed libz --with-system-zlib use installed libz
--with-linker-hash-style={sysv,gnu,both} --with-linker-hash-style={sysv,gnu,both}
specify the linker hash style specify the linker hash style
--with-diagnostics-color={never,auto,auto-if-env,always}
specify the default of -fdiagnostics-color option
auto-if-env stands for -fdiagnostics-color=auto if
GCC_COLOR environment variable is present and
-fdiagnostics-color=never otherwise
Some influential environment variables: Some influential environment variables:
CC C compiler command CC C compiler command
@ -18140,7 +18146,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 18143 "configure" #line 18149 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -18246,7 +18252,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 18249 "configure" #line 18255 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -28294,6 +28300,37 @@ _ACEOF
fi fi
# Specify what should be the default of -fdiagnostics-color option.
# Check whether --with-diagnostics-color was given.
if test "${with_diagnostics_color+set}" = set; then :
withval=$with_diagnostics_color; case x"$withval" in
xnever)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_NO
;;
xauto)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_AUTO
;;
xauto-if-env)
DIAGNOSTICS_COLOR_DEFAULT=-1
;;
xalways)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_YES
;;
*)
as_fn_error "$withval is an invalid option to --with-diagnostics-color" "$LINENO" 5
;;
esac
else
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_AUTO
fi
cat >>confdefs.h <<_ACEOF
#define DIAGNOSTICS_COLOR_DEFAULT $DIAGNOSTICS_COLOR_DEFAULT
_ACEOF
# Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
# of jit/jit-playback.c. # of jit/jit-playback.c.
cat > gcc-driver-name.h <<EOF cat > gcc-driver-name.h <<EOF

View File

@ -5651,6 +5651,34 @@ if test x"${LINKER_HASH_STYLE}" != x; then
[The linker hash style]) [The linker hash style])
fi fi
# Specify what should be the default of -fdiagnostics-color option.
AC_ARG_WITH([diagnostics-color],
[AC_HELP_STRING([--with-diagnostics-color={never,auto,auto-if-env,always}],
[specify the default of -fdiagnostics-color option
auto-if-env stands for -fdiagnostics-color=auto if
GCC_COLOR environment variable is present and
-fdiagnostics-color=never otherwise])],
[case x"$withval" in
xnever)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_NO
;;
xauto)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_AUTO
;;
xauto-if-env)
DIAGNOSTICS_COLOR_DEFAULT=-1
;;
xalways)
DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_YES
;;
*)
AC_MSG_ERROR([$withval is an invalid option to --with-diagnostics-color])
;;
esac],
[DIAGNOSTICS_COLOR_DEFAULT=DIAGNOSTICS_COLOR_AUTO])
AC_DEFINE_UNQUOTED(DIAGNOSTICS_COLOR_DEFAULT, $DIAGNOSTICS_COLOR_DEFAULT,
[The default for -fdiagnostics-color option])
# Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit
# of jit/jit-playback.c. # of jit/jit-playback.c.
cat > gcc-driver-name.h <<EOF cat > gcc-driver-name.h <<EOF

View File

@ -3104,8 +3104,10 @@ a message which is too long to fit on a single line.
@cindex highlight, color, colour @cindex highlight, color, colour
@vindex GCC_COLORS @r{environment variable} @vindex GCC_COLORS @r{environment variable}
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always}, Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
or @samp{auto}. The default is @samp{never} if @env{GCC_COLORS} environment or @samp{auto}. The default depends on how the compiler has been configured,
variable isn't present in the environment, and @samp{auto} otherwise. it can be any of the above @var{WHEN} options or also @samp{never}
if @env{GCC_COLORS} environment variable isn't present in the environment,
and @samp{auto} otherwise.
@samp{auto} means to use color only when the standard error is a terminal. @samp{auto} means to use color only when the standard error is a terminal.
The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are
aliases for @option{-fdiagnostics-color=always} and aliases for @option{-fdiagnostics-color=always} and

View File

@ -1267,12 +1267,28 @@ process_options (void)
maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT; maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT;
/* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment, /* If DIAGNOSTICS_COLOR_DEFAULT is -1, default to -fdiagnostics-color=auto
otherwise default to -fdiagnostics-color=never. */ if GCC_COLORS is in the environment, otherwise default to
if (!global_options_set.x_flag_diagnostics_show_color -fdiagnostics-color=never, for other values default to that
&& getenv ("GCC_COLORS")) -fdiagnostics-color={never,auto,always}. */
pp_show_color (global_dc->printer) if (!global_options_set.x_flag_diagnostics_show_color)
= colorize_init (DIAGNOSTICS_COLOR_AUTO); switch ((int) DIAGNOSTICS_COLOR_DEFAULT)
{
case -1:
if (!getenv ("GCC_COLORS"))
break;
/* FALLTHRU */
case DIAGNOSTICS_COLOR_AUTO:
pp_show_color (global_dc->printer)
= colorize_init (DIAGNOSTICS_COLOR_AUTO);
break;
case DIAGNOSTICS_COLOR_YES:
pp_show_color (global_dc->printer)
= colorize_init (DIAGNOSTICS_COLOR_YES);
break;
default:
break;
}
/* Allow the front end to perform consistency checks and do further /* Allow the front end to perform consistency checks and do further
initialization based on the command line options. This hook also initialization based on the command line options. This hook also