diff options
author | Michael Steinert <mike.steinert@gmail.com> | 2012-05-15 17:25:09 -0600 |
---|---|---|
committer | Michael Steinert <mike.steinert@gmail.com> | 2012-05-17 11:44:45 -0600 |
commit | 3a39d63356c936e07539c648409d4c5d20e5e696 (patch) | |
tree | d0da7b40ade5e18f7467537cb6bd8d9aa896b676 /m4 | |
parent | b16e9f105e35b148383e27bd9ea60a1c7cacefe8 (diff) | |
download | rabbitmq-c-github-ask-3a39d63356c936e07539c648409d4c5d20e5e696.tar.gz |
Add -Wall, -Wextra & -pedantic by default
This change also adds a couple small autoconf macros to make it easier
to deal with compiler options.
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Diffstat (limited to 'm4')
-rw-r--r-- | m4/cflags.m4 | 59 | ||||
-rw-r--r-- | m4/ldflags.m4 | 58 |
2 files changed, 117 insertions, 0 deletions
diff --git a/m4/cflags.m4 b/m4/cflags.m4 new file mode 100644 index 0000000..015d07b --- /dev/null +++ b/m4/cflags.m4 @@ -0,0 +1,59 @@ +# cflags.m4 - Test and set compiler flags +# +# Copyright 2011, 2012 Michael Steinert +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +# SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +# THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#serial 1 + +# AX_TRY_CFLAGS(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# -------------------------------------------------------- +# Test a compiler flag is supported. +# FLAG: a compiler flag to try +# ACTION-IF-TRUE: commands to execute if FLAG is supported +# ACTION-IF-FALSE: commands to execute if FLAG is not supported +AC_DEFUN([AX_TRY_CFLAGS], +[dnl +AC_REQUIRE([AC_PROG_CC]) +_ax_cflags=$CFLAGS +CFLAGS="$1 $CFLAGS" +AC_MSG_CHECKING([if compiler accepts '$1']) +AC_TRY_COMPILE([], [], + [AC_MSG_RESULT([yes]) + CFLAGS=$_ax_cflags + $2], + [AC_MSG_RESULT([no]) + CFLAGS=$_ax_cflags + $3]) +])dnl + +# AX_CFLAGS(FLAGS) +# ---------------- +# Enable compiler flags. +# FLAGS: a whitespace-separated list of compiler flags to set +AC_DEFUN([AX_CFLAGS], +[dnl +m4_foreach_w([_ax_flag], [$1], + [AS_CASE([" $CFLAGS "], + [*[[\ \ ]]_ax_flag[[\ \ ]]*], + [], + [*], + [CFLAGS="$CFLAGS _ax_flag"])]) +])dnl diff --git a/m4/ldflags.m4 b/m4/ldflags.m4 new file mode 100644 index 0000000..bc07c7b --- /dev/null +++ b/m4/ldflags.m4 @@ -0,0 +1,58 @@ +# ldflags.m4 - Test and set linker flags +# +# Copyright 2011, 2012 Michael Steinert +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +# SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +# THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +#serial 1 + +# AX_TRY_LDFLAGS(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------- +# Test if a linker flag is supported. +# FLAG: a linker flag to try +# ACTION-IF-TRUE: commands to execute if FLAG is supported +# ACTION-IF-FALSE: commands to execute if FLAG is not supported +AC_DEFUN([AX_TRY_LDFLAGS], +[dnl +_ax_ldflags=$LDFLAGS +LDFLAGS="$1 $LDFLAGS" +AC_MSG_CHECKING([if linker accepts '$1']) +AC_TRY_LINK([], [], + [AC_MSG_RESULT([yes]) + LDFLAGS=$_ax_ldflags + $2], + [AC_MSG_RESULT([no]) + LDFLAGS=$_ax_ldflags + $3]) +])dnl + +# AX_LDFLAGS(flags) +# ----------------- +# Enable linker flags. +# FLAGS: a whitespace-separated list of linker flags to set +AC_DEFUN([AX_LDFLAGS], +[dnl +m4_foreach_w([_ax_flag], [$1], + [AS_CASE([" $LDFLAGS "], + [*[[\ \ ]]_ax_flag[[\ \ ]]*], + [], + [*], + [LDFLAGS="$LDFLAGS _ax_flag"])]) +])dnl |