X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=m4%2Fsigrok.m4;h=875bd1633cf4998c329d2695a135b21dedb00b3a;hb=2d143826b0862a25a599825e50d78b58b53c67ac;hp=6bf008401fb77ccb7279ee4b86e0dd849e862a2b;hpb=1bb196e4969b299d316bdcff2201a44dd517f240;p=libsigrok.git diff --git a/m4/sigrok.m4 b/m4/sigrok.m4 index 6bf00840..875bd163 100644 --- a/m4/sigrok.m4 +++ b/m4/sigrok.m4 @@ -237,6 +237,31 @@ _SR_ARG_OPT_PKG(m4_expand([AS_TR_SH([$1])]), $@)[]dnl ]) +## SR_CHECK_COMPILE_FLAGS(flags-var, description, flags) +## +## Find a compiler flag for . For each flag in , check +## if the compiler for the current language accepts it. On success, stop the +## search and append the last tested flag to . Calls AC_SUBST +## on . +## +AC_DEFUN([SR_CHECK_COMPILE_FLAGS], +[dnl +m4_assert([$# >= 3])[]dnl +AC_MSG_CHECKING([compiler flag for $2]) +sr_ccf_result=no +sr_ccf_save_CPPFLAGS=$CPPFLAGS +for sr_flag in $3 +do + CPPFLAGS="$sr_ccf_save_CPPFLAGS $sr_flag" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [sr_ccf_result=$sr_flag]) + test "x$sr_ccf_result" = xno || break +done +CPPFLAGS=$sr_ccf_save_CPPFLAGS +SR_APPEND([$1], [$sr_ccf_result]) +AC_MSG_RESULT([$sr_ccf_result]) +AC_SUBST([$1]) +]) + ## _SR_ARG_ENABLE_WARNINGS_ONCE ## ## Implementation helper macro of SR_ARG_ENABLE_WARNINGS. Pulled in