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>
PR tree-optimization/63841

View File

@ -57,6 +57,12 @@
#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. */
#ifndef USED_FOR_TARGET
#undef ENABLE_ASSERT_CHECKING
@ -272,6 +278,12 @@
#endif
/* Define if your assembler supports .module. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_DOT_MODULE
#endif
/* Define if your assembler supports DSPR1 mult. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_DSPR1_MULT
@ -484,12 +496,6 @@
#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. */
#ifndef USED_FOR_TARGET
#undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION

41
gcc/configure vendored
View File

@ -936,6 +936,7 @@ enable_plugin
enable_host_shared
enable_libquadmath_support
with_linker_hash_style
with_diagnostics_color
'
ac_precious_vars='build_alias
host_alias
@ -1708,6 +1709,11 @@ Optional Packages:
--with-system-zlib use installed libz
--with-linker-hash-style={sysv,gnu,both}
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:
CC C compiler command
@ -18140,7 +18146,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18143 "configure"
#line 18149 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -18246,7 +18252,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18249 "configure"
#line 18255 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -28294,6 +28300,37 @@ _ACEOF
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
# of jit/jit-playback.c.
cat > gcc-driver-name.h <<EOF

View File

@ -5651,6 +5651,34 @@ if test x"${LINKER_HASH_STYLE}" != x; then
[The linker hash style])
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
# of jit/jit-playback.c.
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
@vindex GCC_COLORS @r{environment variable}
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
or @samp{auto}. The default is @samp{never} if @env{GCC_COLORS} environment
variable isn't present in the environment, and @samp{auto} otherwise.
or @samp{auto}. The default depends on how the compiler has been configured,
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.
The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are
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;
/* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment,
otherwise default to -fdiagnostics-color=never. */
if (!global_options_set.x_flag_diagnostics_show_color
&& getenv ("GCC_COLORS"))
pp_show_color (global_dc->printer)
= colorize_init (DIAGNOSTICS_COLOR_AUTO);
/* If DIAGNOSTICS_COLOR_DEFAULT is -1, default to -fdiagnostics-color=auto
if GCC_COLORS is in the environment, otherwise default to
-fdiagnostics-color=never, for other values default to that
-fdiagnostics-color={never,auto,always}. */
if (!global_options_set.x_flag_diagnostics_show_color)
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
initialization based on the command line options. This hook also