diff options
author | Eric Anholt <[email protected]> | 2012-01-26 18:48:20 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2012-01-30 11:32:54 -0800 |
commit | b9aab8b3b3769b9c5121686efe3446dae770b951 (patch) | |
tree | b61939265e00e83143768e56b7a5ae0e06ee0422 /configure.ac | |
parent | ef3cec5804dfecd60d5d34545d73f9f2dc8b0a22 (diff) |
autoconf: Enable missing-prototypes errors when available.
After the removal of the dri driver link test, this should help avoid
the original problem that it was designed to catch: The warning about
a missing prototype due to typoing a function name scrolling by in the
Mesa build spew, and you not noticing until you try to run an
application and it falls back to swrast.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index df9f88049c7..d42a52941bd 100644 --- a/configure.ac +++ b/configure.ac @@ -176,7 +176,20 @@ esac dnl Add flags for gcc and g++ if test "x$GCC" = xyes; then - CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -std=c99" + CFLAGS="$CFLAGS -Wall -std=c99" + + # Enable -Werror=implicit-function-declaration and + # -Werror=missing-prototypes, if available, or otherwise, just + # -Wmissing-prototypes. This is particularly useful to avoid + # generating a loadable driver module that has undefined symbols. + save_CFLAGS="$CFLAGS" + AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes]) + CFLAGS="$CFLAGS -Werror=implicit-function-declaration" + CFLAGS="$CFLAGS -Werror=missing-prototypes" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AC_MSG_RESULT([yes]), + [CFLAGS="$save_CFLAGS -Wmissing-prototypes"; + AC_MSG_RESULT([no])]); # Enable -fvisibility=hidden if using a gcc that supports it save_CFLAGS="$CFLAGS" |