From: Diego E. 'F. P. <fla...@gm...> - 2008-11-19 02:00:20
|
# HG changeset patch # User Diego E. 'Flameeyes' Pettenò <fla...@gm...> # Date 1227057814 -3600 # Node ID 278f69b8d0d50b7a6f7d7e8546a18eece335c200 # Parent c2e5eba3a58edb7643738b18a1ce72e1f0ebe16c Update the attributes.m4 file from lscube projects. This adds variants of CC_CHECK_CFLAGS that append the flags automatically, and a few comments. diff -r 278f69b8d0d50b7a6f7d7e8546a18eece335c200 -r c2e5eba3a58edb7643738b18a1ce72e1f0ebe16c m4/attributes.m4 --- a/m4/attributes.m4 Wed Nov 19 02:23:34 2008 +0100 +++ b/m4/attributes.m4 Tue Nov 18 21:13:55 2008 +0100 @@ -32,6 +32,9 @@ dnl this special exception to the GPL to dnl this special exception to the GPL to apply to your modified version as dnl well. +dnl Check if the flag is supported by compiler +dnl CC_CHECK_CFLAGS_SILENT([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) + AC_DEFUN([CC_CHECK_CFLAGS_SILENT], [ AC_CACHE_VAL(AS_TR_SH([cc_cv_cflags_$1]), [ac_save_CFLAGS="$CFLAGS" @@ -46,6 +49,9 @@ AC_DEFUN([CC_CHECK_CFLAGS_SILENT], [ [$2], [$3]) ]) +dnl Check if the flag is supported by compiler (cacheable) +dnl CC_CHECK_CFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) + AC_DEFUN([CC_CHECK_CFLAGS], [ AC_CACHE_CHECK([if $CC supports $1 flag], AS_TR_SH([cc_cv_cflags_$1]), @@ -55,6 +61,28 @@ AC_DEFUN([CC_CHECK_CFLAGS], [ AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes], [$2], [$3]) ]) + +dnl CC_CHECK_CFLAG_APPEND(FLAG, [action-if-found], [action-if-not-found]) +dnl Check for CFLAG and appends them to CFLAGS if supported +AC_DEFUN([CC_CHECK_CFLAG_APPEND], [ + AC_CACHE_CHECK([if $CC supports $1 flag], + AS_TR_SH([cc_cv_cflags_$1]), + CC_CHECK_CFLAGS_SILENT([$1]) dnl Don't execute actions here! + ) + + AS_IF([eval test x$]AS_TR_SH([cc_cv_cflags_$1])[ = xyes], + [CFLAGS="$CFLAGS $1"; $2], [$3]) +]) + +dnl CC_CHECK_CFLAGS_APPEND([FLAG1 FLAG2], [action-if-found], [action-if-not]) +AC_DEFUN([CC_CHECK_CFLAGS_APPEND], [ + for flag in $1; do + CC_CHECK_CFLAG_APPEND($flag, [$2], [$3]) + done +]) + +dnl Check if the flag is supported by linker (cacheable) +dnl CC_CHECK_LDFLAGS([FLAG], [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) AC_DEFUN([CC_CHECK_LDFLAGS], [ AC_CACHE_CHECK([if $CC supports $1 flag], |