diff options
author | James Henstridge <jamesh@src.gnome.org> | 2000-02-13 11:05:13 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2000-02-13 11:05:13 +0000 |
commit | 049df8e663449c1562f2f6c49137fbfc77668638 (patch) | |
tree | 4b6c447d59a0cee86bd391e507a6343733a6b6da /macros/need-declaration.m4 | |
parent | 4911f2024179335b2e013ba36b7fadbb7b554d70 (diff) | |
download | gnome-common-049df8e663449c1562f2f6c49137fbfc77668638.tar.gz |
I am sure that kabalak didn't mean to remove gnome-common/macros :)
svn path=/trunk/; revision=1096
Diffstat (limited to 'macros/need-declaration.m4')
-rw-r--r-- | macros/need-declaration.m4 | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/macros/need-declaration.m4 b/macros/need-declaration.m4 new file mode 100644 index 0000000..d5b7bc6 --- /dev/null +++ b/macros/need-declaration.m4 @@ -0,0 +1,42 @@ +dnl See whether we need a declaration for a function. +dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES]) +AC_DEFUN(GCC_NEED_DECLARATION, +[AC_MSG_CHECKING([whether $1 must be declared]) +AC_CACHE_VAL(gcc_cv_decl_needed_$1, +[AC_TRY_COMPILE([ +#include <stdio.h> +#ifdef HAVE_STRING_H +#include <string.h> +#else +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif +#endif +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +$2], +[char *(*pfn) = (char *(*)) $1], +eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")]) +if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then + AC_MSG_RESULT(yes) + gcc_need_declarations="$gcc_need_declarations $1" + gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + AC_DEFINE_UNQUOTED($gcc_tr_decl) +else + AC_MSG_RESULT(no) +fi +])dnl + +dnl Check multiple functions to see whether each needs a declaration. +dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES]) +AC_DEFUN(GCC_NEED_DECLARATIONS, +[for ac_func in $1 +do +GCC_NEED_DECLARATION($ac_func, $2) +done +] +) |