configure.ac (--with-diagnostics-color): New configure option, default to --with...
authorJakub Jelinek <jakub@redhat.com>
Fri, 14 Nov 2014 07:30:27 +0000 (08:30 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 14 Nov 2014 07:30:27 +0000 (08:30 +0100)
* 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

gcc/ChangeLog
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/doc/invoke.texi
gcc/toplev.c

index b7b72dabccfc1eeba3602a7b52bae8e7d7262bc0..682f6fd1e33509bdc6368122546232ec07ba4928 100644 (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
index 9d1ad863b5fd825a92b812f7c46a4ae8850d709c..6cfda75b0b3ae7bf27bc82b9dc447d6d44a9a8c7 100644 (file)
 #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
 #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
 #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
index ebc314965a7eb938bafbe9b1d362f2d7a126b395..8e62ee7233f9d2867a287c050870fc5959aef57e 100755 (executable)
@@ -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
index 0f7ab894ec55179d9bdbb438a4200927ed059595..f6e7ec3529e1a200632ce0a60728eb2789c15b91 100644 (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
index b7049d827e9fe1a7baaf635faccb4641f08fb452..93943cb58c6e1581f6c37006d7620971a80e57e5 100644 (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
index 80fb4ceb4c6c8a60ad5f5262a36903039834c47d..2ed76bc610d419e3117e90532ffe48e500a7708c 100644 (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