diff options
author | Jim Meyering <jim@meyering.net> | 1997-10-23 04:53:06 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1997-10-23 04:53:06 +0000 |
commit | 1bf2efdbf008851c299134261750a8405b738be2 (patch) | |
tree | 3a51980206eda8d957b5c839fb5e7cf90e514bd9 /m4/decl.m4 | |
parent | 394f851071f129b6094cbafe1bb4a664b6af2c9d (diff) | |
download | coreutils-1bf2efdbf008851c299134261750a8405b738be2.tar.xz |
.
Diffstat (limited to 'm4/decl.m4')
-rw-r--r-- | m4/decl.m4 | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/m4/decl.m4 b/m4/decl.m4 new file mode 100644 index 000000000..65aed74ff --- /dev/null +++ b/m4/decl.m4 @@ -0,0 +1,54 @@ +AC_DEFUN(jm_CHECK_DECLARATION, +[ +test -z "$ac_cv_header_strings_h" && AC_CHECK_HEADERS(strings.h) +test -z "$ac_cv_header_stdlib_h" && AC_CHECK_HEADERS(stdlib.h) +test -z "$ac_cv_header_unistd_h" && AC_CHECK_HEADERS(unistd.h) +AC_MSG_CHECKING([whether $1 is declared]) +AC_CACHE_VAL(jm_cv_func_decl_$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], +[ +#ifndef $1 +char *(*pfn) = (char *(*)) $1 +#endif +], + eval "jm_cv_func_decl_$1=yes", + eval "jm_cv_func_decl_$1=no")]) + +if eval "test \"`echo '$jm_cv_func_decl_'$1`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) +else + AC_MSG_RESULT(no) + ifelse([$3], , , [$3 +])dnl +fi +])dnl + +dnl jm_CHECK_DECLARATIONS(FUNCTION... [, ACTION-IF-DECLARED +dnl [, ACTION-IF-NOT-DECLARED]]) +AC_DEFUN(jm_CHECK_DECLARATIONS, +[ + for jm_func in $1 + do + jm_CHECK_DECLARATION($jm_func, + [ + lower=abcdefghijklmnopqrstuvwxyz + upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ + jm_tr_func=HAVE_DECLARATION_`echo $jm_func | tr $lower $upper` + AC_DEFINE_UNQUOTED($jm_tr_func) $2], $3)dnl + done +]) |