diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-09-06 08:30:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:17:40 -0500 |
commit | e997a767aae255992b0f1d229d15eb4f2b00484c (patch) | |
tree | c72b3dfad66fc9227137f172580615e79d1b561b /source4/lib/replace/libreplace_macros.m4 | |
parent | 68d172c5063c3e84977e4238c1147cdc40d4b0be (diff) | |
download | samba-e997a767aae255992b0f1d229d15eb4f2b00484c.tar.gz samba-e997a767aae255992b0f1d229d15eb4f2b00484c.tar.bz2 samba-e997a767aae255992b0f1d229d15eb4f2b00484c.zip |
r18145: rename cc_feature.m4 into libreplace_macros.m4
metze
(This used to be commit d0f40dd3e5ca8b46ee9b2c4332b393f519383aae)
Diffstat (limited to 'source4/lib/replace/libreplace_macros.m4')
-rw-r--r-- | source4/lib/replace/libreplace_macros.m4 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/source4/lib/replace/libreplace_macros.m4 b/source4/lib/replace/libreplace_macros.m4 new file mode 100644 index 0000000000..255009dd55 --- /dev/null +++ b/source4/lib/replace/libreplace_macros.m4 @@ -0,0 +1,53 @@ +dnl C99 compiler check +dnl ------------------------------------------------------- +dnl Copyright (C) Stefan (metze) Metzmacher 2004,2005 +dnl Released under the GNU GPL +dnl ------------------------------------------------------- +dnl +dnl adapted for libreplace by Andrew Tridgell + +############################################ +# Check if the compiler handles c99 struct initialization, and if not try -AC99 and -c99 flags +# Usage: LIBREPLACE_C99_STRUCT_INIT(success-action,failure-action) +# changes CFLAGS to add -AC99 or -c99 if needed + +AC_DEFUN([LIBREPLACE_C99_STRUCT_INIT], +[ +saved_CFLAGS="$CFLAGS"; +c99_init=no +if test x"$c99_init" = x"no"; then + AC_MSG_CHECKING(for C99 designated initializers) + CFLAGS="$saved_CFLAGS"; + AC_TRY_COMPILE([#include <stdio.h>], + [ struct foo {int x;char y;}; + struct foo bar = { .y = 'X', .x = 1 }; + ], + [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)]) +fi +if test x"$c99_init" = x"no"; then + AC_MSG_CHECKING(for C99 designated initializers with -AC99) + CFLAGS="$saved_CFLAGS -AC99"; + AC_TRY_COMPILE([#include <stdio.h>], + [ struct foo {int x;char y;}; + struct foo bar = { .y = 'X', .x = 1 }; + ], + [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)]) +fi +if test x"$c99_init" = x"no"; then + AC_MSG_CHECKING(for C99 designated initializers with -c99) + CFLAGS="$saved_CFLAGS -c99" + AC_TRY_COMPILE([#include <stdio.h>], + [ struct foo {int x;char y;}; + struct foo bar = { .y = 'X', .x = 1 }; + ], + [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)]) +fi +if test x"$c99_init" = x"yes"; then + saved_CFLAGS="" + $1 +else + CFLAGS="$saved_CFLAGS" + saved_CFLAGS="" + $2 +fi +]) |