X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=m4%2Fax_harden_compiler_flags.m4;h=1490819d4045f3d06f41f486e33449722aa2d5f4;hb=12911320d89ae182f96305d11830f6168bcdd8e6;hp=4d647996dcd466f0ac97aa2cb9fa5772ebcebd3c;hpb=6cca0302addd6ea9714f2b8deff2c48aab3002ef;p=awesomized%2Flibmemcached diff --git a/m4/ax_harden_compiler_flags.m4 b/m4/ax_harden_compiler_flags.m4 index 4d647996..1490819d 100644 --- a/m4/ax_harden_compiler_flags.m4 +++ b/m4/ax_harden_compiler_flags.m4 @@ -54,15 +54,33 @@ # AX_APPEND_COMPILE_FLAGS([-Wlong-long]) -- Don't turn on for compatibility issues memcached_stat_st #serial 2 + AC_DEFUN([AX_HARDEN_LINKER_FLAGS], [ + AC_REQUIRE([AX_CHECK_LINK_FLAG]) + AC_REQUIRE([AX_VCS_CHECKOUT]) + AC_REQUIRE([AX_DEBUG]) + + AS_IF([test "$ac_cv_vcs_checkout" = yes], [ + AX_CHECK_LINK_FLAG([-Werror]) + ]) + AX_CHECK_LINK_FLAG([-z relro -z now]) + ]) AC_DEFUN([AX_HARDEN_C_COMPILER_FLAGS], [ AC_REQUIRE([AX_APPEND_COMPILE_FLAGS]) - AC_REQUIRE([AX_CHECK_LINK_FLAG]) - AC_REQUIRE([AX_VCS_CHECKOUT]) + AC_REQUIRE([AX_HARDEN_LINKER_FLAGS]) AC_LANG_PUSH([C]) - AX_APPEND_COMPILE_FLAGS([-O2]) - AX_APPEND_COMPILE_FLAGS([-Werror]) + AS_IF([test "$ax_with_debug" = yes], [ + AX_APPEND_COMPILE_FLAGS([-O0])],[ + AX_APPEND_COMPILE_FLAGS([-O2]) + ]) + + ac_cv_warnings_as_errors=no + AS_IF([test "$ac_cv_vcs_checkout" = yes], [ + AX_APPEND_COMPILE_FLAGS([-Werror]) + ac_cv_warnings_as_errors=yes + ]) + AX_APPEND_COMPILE_FLAGS([-Wall]) AX_APPEND_COMPILE_FLAGS([-Wextra]) AX_APPEND_COMPILE_FLAGS([-std=c99]) @@ -74,18 +92,27 @@ AX_APPEND_COMPILE_FLAGS([-Wstrict-prototypes]) AX_APPEND_COMPILE_FLAGS([-Wlogical-op]) AC_LANG_POP + ]) AC_DEFUN([AX_HARDEN_CC_COMPILER_FLAGS], [ AC_REQUIRE([AX_HARDEN_C_COMPILER_FLAGS]) AC_LANG_PUSH([C++]) - AX_APPEND_COMPILE_FLAGS([-O2]) - AX_APPEND_COMPILE_FLAGS([-Werror]) + + AS_IF([test "$ax_with_debug" = yes], [ + AX_APPEND_COMPILE_FLAGS([-O0])],[ + AX_APPEND_COMPILE_FLAGS([-O2]) + AX_APPEND_COMPILE_FLAGS([-D_FORTIFY_SOURCE=2]) + ]) + + AS_IF([test "$ac_cv_vcs_checkout" = yes], [ + AX_APPEND_COMPILE_FLAGS([-Werror]) + ]) + AX_APPEND_COMPILE_FLAGS([-Wall]) AX_APPEND_COMPILE_FLAGS([-Wextra]) AX_APPEND_COMPILE_FLAGS([-Wpragmas]) AX_APPEND_COMPILE_FLAGS([--paramssp-buffer-size=1]) - AX_APPEND_COMPILE_FLAGS([-D_FORTIFY_SOURCE=2]) AX_APPEND_COMPILE_FLAGS([-Waddress]) AX_APPEND_COMPILE_FLAGS([-Warray-bounds]) AX_APPEND_COMPILE_FLAGS([-Wchar-subscripts]) @@ -114,7 +141,5 @@ AX_APPEND_COMPILE_FLAGS([-floop-parallelize-all]) AX_APPEND_COMPILE_FLAGS([-fwrapv]) AX_APPEND_COMPILE_FLAGS([-ggdb]) - AX_CHECK_LINK_FLAG([-Werror]) - AX_CHECK_LINK_FLAG([-z relro -z now]) AC_LANG_POP ])