mc-cflags.m4 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. dnl @synopsis MC_CHECK_CFLAGS
  2. dnl
  3. dnl Check flags supported by compilator
  4. dnl
  5. dnl @author Slava Zanko <slavazanko@gmail.com>
  6. dnl @version 2009-10-29
  7. dnl @license GPL
  8. dnl @copyright Free Software Foundation, Inc.
  9. AC_DEFUN([MC_CHECK_ONE_CFLAG],[
  10. AC_MSG_CHECKING([if gcc accepts $1])
  11. safe_CFLAGS=$CFLAGS
  12. CFLAGS="$1"
  13. AC_TRY_COMPILE(, [
  14. return 0;
  15. ],
  16. [
  17. mc_check_one_cflag=yes
  18. ],
  19. [
  20. mc_check_one_cflag=no
  21. ])
  22. CFLAGS=$safe_CFLAGS
  23. AC_MSG_RESULT([$mc_check_one_cflag])
  24. if test x$mc_check_one_cflag = xyes; then
  25. mc_configured_cflags="$mc_configured_cflags $1"
  26. fi
  27. ])
  28. AC_DEFUN([MC_CHECK_CFLAGS],[
  29. mc_configured_cflags=""
  30. dnl Sorted -f options:
  31. MC_CHECK_ONE_CFLAG([-fdiagnostics-show-option])
  32. dnl MC_CHECK_ONE_CFLAG([-fno-stack-protector])
  33. dnl Sorted -W options:
  34. MC_CHECK_ONE_CFLAG([-Wcomment])
  35. MC_CHECK_ONE_CFLAG([-Wdeclaration-after-statement])
  36. MC_CHECK_ONE_CFLAG([-Wformat])
  37. MC_CHECK_ONE_CFLAG([-Wimplicit-function-declaration])
  38. MC_CHECK_ONE_CFLAG([-Wimplicit-int])
  39. MC_CHECK_ONE_CFLAG([-Wmissing-braces])
  40. MC_CHECK_ONE_CFLAG([-Wmissing-declarations])
  41. MC_CHECK_ONE_CFLAG([-Wmissing-parameter-type])
  42. MC_CHECK_ONE_CFLAG([-Wmissing-prototypes])
  43. MC_CHECK_ONE_CFLAG([-Wnested-externs])
  44. MC_CHECK_ONE_CFLAG([-Wno-long-long])
  45. MC_CHECK_ONE_CFLAG([-Wno-unreachable-code])
  46. MC_CHECK_ONE_CFLAG([-Wparentheses])
  47. MC_CHECK_ONE_CFLAG([-Wpointer-sign])
  48. MC_CHECK_ONE_CFLAG([-Wreturn-type])
  49. dnl MC_CHECK_ONE_CFLAG([-Wsequence-point])
  50. MC_CHECK_ONE_CFLAG([-Wshadow])
  51. MC_CHECK_ONE_CFLAG([-Wsign-compare])
  52. dnl MC_CHECK_ONE_CFLAG([-Wstrict-aliasing])
  53. MC_CHECK_ONE_CFLAG([-Wswitch])
  54. MC_CHECK_ONE_CFLAG([-Wuninitialized])
  55. MC_CHECK_ONE_CFLAG([-Wunused-function])
  56. MC_CHECK_ONE_CFLAG([-Wunused-label])
  57. MC_CHECK_ONE_CFLAG([-Wunused-parameter])
  58. MC_CHECK_ONE_CFLAG([-Wunused-result])
  59. MC_CHECK_ONE_CFLAG([-Wunused-value])
  60. MC_CHECK_ONE_CFLAG([-Wunused-variable])
  61. MC_CHECK_ONE_CFLAG([-Wwrite-strings])
  62. ])