PR 87488: Add --with-diagnostics-urls configuration option
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Wed, 29 Jan 2020 14:31:10 +0000 (15:31 +0100)
committerBernd Edlinger <bernd.edlinger@hotmail.de>
Sat, 15 Feb 2020 07:32:57 +0000 (08:32 +0100)
commit458c8d6459c4005fc9886b6e25d168a6535ac415
tree128883b06d3d289ff84494fabf3bb332fdc88451
parentd6ee2e7c5a6be075bfb98fd8ff1e456ae280cebe
PR 87488: Add --with-diagnostics-urls configuration option

2020-02-15  David Malcolm  <dmalcolm@redhat.com>
    Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR 87488
PR other/93168
* config.in (DIAGNOSTICS_URLS_DEFAULT): New define.
* configure.ac (--with-diagnostics-urls): New configuration
option, based on --with-diagnostics-color.
(DIAGNOSTICS_URLS_DEFAULT): New define.
* config.h: Regenerate.
* configure: Regenerate.
* diagnostic.c (diagnostic_urls_init): Handle -1 for
DIAGNOSTICS_URLS_DEFAULT from configure-time
--with-diagnostics-urls=auto-if-env by querying for a GCC_URLS
and TERM_URLS environment variable.
* diagnostic-url.h (diagnostic_url_format): New enum type.
(diagnostic_urls_enabled_p): rename to...
(determine_url_format): ... this, and change return type.
* diagnostic-color.c (parse_env_vars_for_urls): New helper function.
(auto_enable_urls): Disable URLs on xfce4-terminal, gnome-terminal,
the linux console, and mingw.
(diagnostic_urls_enabled_p): rename to...
(determine_url_format): ... this, and adjust.
* pretty-print.h (pretty_printer::show_urls): rename to...
(pretty_printer::url_format): ... this, and change to enum.
* pretty-print.c (pretty_printer::pretty_printer,
pp_begin_url, pp_end_url, test_urls): Adjust.
* doc/install.texi (--with-diagnostics-urls): Document the new
configuration option.
(--with-diagnostics-color): Document the existing interaction
with GCC_COLORS better.
* doc/invoke.texi (-fdiagnostics-urls): Add GCC_URLS and TERM_URLS
vindex reference.  Update description of defaults based on the above.
(-fdiagnostics-color): Update description of how -fdiagnostics-color
interacts with GCC_COLORS.
gcc/ChangeLog
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/diagnostic-color.c
gcc/diagnostic-url.h
gcc/diagnostic.c
gcc/doc/install.texi
gcc/doc/invoke.texi
gcc/pretty-print.c
gcc/pretty-print.h