]> granicus.if.org Git - graphviz/commit
teach the Autotools build system that PHP headers are not part of Graphviz
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 11 Sep 2021 23:59:48 +0000 (16:59 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 18 Sep 2021 17:15:40 +0000 (10:15 -0700)
commitfb5e2bf574739cc8225683aacfc6833d586a9e77
tree61433c033ad636682373b561de687a9a42d3fb55
parent2926aaf35e795d279fe06c83064704a687c21dd2
teach the Autotools build system that PHP headers are not part of Graphviz

tl;dr: this removes 166 spurious compiler warnings.

When building the Graphviz PHP bindings, PHP headers are included and the build
system was treating these as local includes; things to be warned about. With PHP
7, this was generating a *lot* of warnings. Many of these issues are already
fixed upstream in PHP but, moreover, these files are not part of Graphviz and
warnings about them should not be part of the Graphviz build.

This commit teaches the compiler that the PHP headers are system headers, not
local headers, and warnings about them should be suppressed.

Some open questions:

  1. I explored finding an alternative `--includes` option to `php-config` that
     would give `-isystem` prefixed paths instead of `-I` prefixed paths. It
     would be cleaner than this commit to do such a thing in configure.ac, but
     such an option does not appear to exist.

  2. Vim highlights the use of `$(patsubst …)` as if it is an error. Is it
     illegal to use GNU Make functions in Makefile.am files? I do not think so,
     but given how long both Autotools and Vim have co-existed for, I am
     wondering if this highlighting is deliberate and telling me something I am
     missing.
tclpkg/gv/Makefile.am