Skip to content
Snippets Groups Projects
Commit 095f78b3 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Use AC_CACHE_CHECK instead of AC_CACHE_VAR.

Rework sys_errlist detection to set HAVE_SYS_ERRLIST if sys_errlist
exists.  If it declaration is needed, DECL_SYS_ERRLIST is also set.
parent de67e6d3
No related branches found
No related tags found
No related merge requests found
......@@ -120,8 +120,7 @@ dnl
dnl ====================================================================
dnl Check if system uses EBCDIC instead of ASCII
AC_DEFUN([OL_CPP_EBCDIC], [# test for EBCDIC
AC_MSG_CHECKING([for EBCDIC])
AC_CACHE_VAL(ol_cv_cpp_ebcdic,[
AC_CACHE_CHECK([for EBCDIC],ol_cv_cpp_ebcdic,[
AC_TRY_CPP([
#if !('M' == 0xd4)
#include <__ASCII__/generate_error.h>
......@@ -129,7 +128,6 @@ AC_CACHE_VAL(ol_cv_cpp_ebcdic,[
],
[ol_cv_cpp_ebcdic=yes],
[ol_cv_cpp_ebcdic=no])])
AC_MSG_RESULT($ol_cv_cpp_ebcdic)
if test $ol_cv_cpp_ebcdic = yes ; then
AC_DEFINE(HAVE_EBCDIC,1, [define if system uses EBCDIC instead of ASCII])
fi
......@@ -183,15 +181,13 @@ dnl
dnl ====================================================================
dnl Check if struct passwd has pw_gecos
AC_DEFUN([OL_STRUCT_PASSWD_PW_GECOS], [# test for pw_gecos in struct passwd
AC_MSG_CHECKING([struct passwd for pw_gecos])
AC_CACHE_VAL(ol_cv_struct_passwd_pw_gecos,[
AC_CACHE_CHECK([struct passwd for pw_gecos],ol_cv_struct_passwd_pw_gecos,[
AC_TRY_COMPILE([#include <pwd.h>],[
struct passwd pwd;
pwd.pw_gecos = pwd.pw_name;
],
[ol_cv_struct_passwd_pw_gecos=yes],
[ol_cv_struct_passwd_pw_gecos=no])])
AC_MSG_RESULT($ol_cv_struct_passwd_pw_gecos)
if test $ol_cv_struct_passwd_pw_gecos = yes ; then
AC_DEFINE(HAVE_PW_GECOS,1, [define if struct passwd has pw_gecos])
fi
......@@ -200,15 +196,13 @@ dnl
dnl --------------------------------------------------------------------
dnl Check if struct passwd has pw_passwd
AC_DEFUN([OL_STRUCT_PASSWD_PW_PASSWD], [# test for pw_passwd in struct passwd
AC_MSG_CHECKING([struct passwd for pw_passwd])
AC_CACHE_VAL(ol_cv_struct_passwd_pw_passwd,[
AC_CACHE_CHECK([struct passwd for pw_passwd],ol_cv_struct_passwd_pw_passwd,[
AC_TRY_COMPILE([#include <pwd.h>],[
struct passwd pwd;
pwd.pw_passwd = pwd.pw_name;
],
[ol_cv_struct_passwd_pw_passwd=yes],
[ol_cv_struct_passwd_pw_passwd=no])])
AC_MSG_RESULT($ol_cv_struct_passwd_pw_passwd)
if test $ol_cv_struct_passwd_pw_passwd = yes ; then
AC_DEFINE(HAVE_PW_PASSWD,1, [define if struct passwd has pw_passwd])
fi
......@@ -627,8 +621,7 @@ dnl
dnl ====================================================================
dnl Check for POSIX Regex
AC_DEFUN([OL_POSIX_REGEX], [
AC_MSG_CHECKING([for compatible POSIX regex])
AC_CACHE_VAL(ol_cv_c_posix_regex,[
AC_CACHE_CHECK([for compatible POSIX regex],ol_cv_c_posix_regex,[
AC_TRY_RUN([
#include <sys/types.h>
#include <regex.h>
......@@ -655,15 +648,12 @@ main()
[ol_cv_c_posix_regex=yes],
[ol_cv_c_posix_regex=no],
[ol_cv_c_posix_regex=cross])])
AC_MSG_RESULT($ol_cv_c_posix_regex)
])
dnl
dnl ====================================================================
dnl Check if toupper() requires islower() to be called first
AC_DEFUN([OL_C_UPPER_LOWER],
[
AC_MSG_CHECKING([if toupper() requires islower()])
AC_CACHE_VAL(ol_cv_c_upper_lower,[
[AC_CACHE_CHECK([if toupper() requires islower()],ol_cv_c_upper_lower,[
AC_TRY_RUN([
#include <ctype.h>
main()
......@@ -676,7 +666,6 @@ main()
[ol_cv_c_upper_lower=no],
[ol_cv_c_upper_lower=yes],
[ol_cv_c_upper_lower=safe])])
AC_MSG_RESULT($ol_cv_c_upper_lower)
if test $ol_cv_c_upper_lower != no ; then
AC_DEFINE(C_UPPER_LOWER,1, [define if toupper() requires islower()])
fi
......@@ -687,32 +676,30 @@ dnl Check for declaration of sys_errlist in one of stdio.h and errno.h.
dnl Declaration of sys_errlist on BSD4.4 interferes with our declaration.
dnl Reported by Keith Bostic.
AC_DEFUN([OL_SYS_ERRLIST],
[
AC_MSG_CHECKING([declaration of sys_errlist])
AC_CACHE_VAL(ol_cv_dcl_sys_errlist,[
[AC_CACHE_CHECK([declaration of sys_errlist],ol_cv_dcl_sys_errlist,[
AC_TRY_COMPILE([
#include <stdio.h>
#include <sys/types.h>
#include <errno.h> ],
[char *c = (char *) *sys_errlist],
[ol_cv_dcl_sys_errlist=yes],
[ol_cv_dcl_sys_errlist=yes
ol_cv_have_sys_errlist=yes],
[ol_cv_dcl_sys_errlist=no])])
AC_MSG_RESULT($ol_cv_dcl_sys_errlist)
#
# It's possible (for near-UNIX clones) that sys_errlist doesn't exist
if test $ol_cv_dcl_sys_errlist = no ; then
AC_DEFINE(DECL_SYS_ERRLIST,1,
[define if sys_errlist is not declared in stdio.h or errno.h])
AC_MSG_CHECKING([existence of sys_errlist])
AC_CACHE_VAL(ol_cv_have_sys_errlist,[
AC_CACHE_CHECK([existence of sys_errlist],ol_cv_have_sys_errlist,[
AC_TRY_LINK([#include <errno.h>],
[char *c = (char *) *sys_errlist],
[ol_cv_have_sys_errlist=yes],
[ol_cv_have_sys_errlist=no])])
AC_MSG_RESULT($ol_cv_have_sys_errlist)
if test $ol_cv_have_sys_errlist = yes ; then
AC_DEFINE(HAVE_SYS_ERRLIST,1,
[define if you actually have sys_errlist in your libs])
fi
fi
if test $ol_cv_have_sys_errlist = yes ; then
AC_DEFINE(HAVE_SYS_ERRLIST,1,
[define if you actually have sys_errlist in your libs])
fi
])dnl
dnl
......
This diff is collapsed.
......@@ -827,8 +827,8 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
dnl
dnl pthread_create in $LIBS
AC_MSG_CHECKING([for pthread_create in default libraries])
AC_CACHE_VAL(ol_cv_pthread_create,[
AC_CACHE_CHECK([for pthread_create in default libraries],
ol_cv_pthread_create,[
AC_TRY_RUN([
#include <pthread.h>
#ifndef NULL
......@@ -873,7 +873,6 @@ int main(argc, argv)
[ol_cv_pthread_create=no],
[dnl assume yes
ol_cv_pthread_create=yes])])
AC_MSG_RESULT($ol_cv_pthread_create)
if test $ol_cv_pthread_create != no ; then
ol_link_threads=posix
......@@ -990,8 +989,8 @@ dnl [ol_cv_pthread_lpthread_lexc])
AC_MSG_ERROR([LinuxThreads header/library mismatch]);
fi
AC_MSG_CHECKING([if pthread_create() works])
AC_CACHE_VAL(ol_cv_pthread_create_works,[
AC_CACHE_CHECK([if pthread_create() works],
ol_cv_pthread_create_works,[
AC_TRY_RUN([
#include <pthread.h>
#ifndef NULL
......@@ -1020,7 +1019,6 @@ int main(argc, argv)
[ol_cv_pthread_create_works=no],
[dnl assume yes
ol_cv_pthread_create_works=yes])])
AC_MSG_RESULT($ol_cv_pthread_create_works)
if test $ol_cv_pthread_create_works = no ; then
AC_MSG_ERROR([pthread_create is not usable, check environment settings])
......@@ -1028,8 +1026,8 @@ int main(argc, argv)
dnl Check if select causes an yield
if test $ol_with_yielding_select = auto ; then
AC_MSG_CHECKING([if select yields when using pthreads])
AC_CACHE_VAL(ol_cv_pthread_select_yields,[
AC_CACHE_CHECK([if select yields when using pthreads],
ol_cv_pthread_select_yields,[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/time.h>
......@@ -1104,9 +1102,12 @@ int main(argc, argv)
exit(2);
}],
[ol_cv_pthread_select_yields=no],
[ol_cv_pthread_select_yields=yes], [
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])])])
AC_MSG_RESULT($ol_cv_pthread_select_yields)
[ol_cv_pthread_select_yields=yes],
[ol_cv_pthread_select_yields=cross])])
if test $ol_cv_pthread_select_yields = cross ; then
AC_MSG_ERROR([crossing compiling: use --with-yielding_select=yes|no|manual])
fi
if test $ol_cv_pthread_select_yields = yes ; then
ol_with_yielding_select=yes
......
......@@ -18,14 +18,14 @@
# include <sys/errno.h>
#endif
#ifdef DECL_SYS_ERRLIST
#ifndef HAVE_SYS_ERRLIST
#define sys_nerr 0
#define sys_errlist ((char **)0)
#else
extern int sys_nerr;
extern char *sys_errlist[];
#endif
/* no sys_errlist */
# define sys_nerr 0
# define sys_errlist ((char **)0)
#elif DECL_SYS_ERRLIST
/* have sys_errlist but need declaration */
extern int sys_nerr;
extern char *sys_errlist[];
#endif
extern char* strerror_r();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment