aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
blob: a7414204916132b741ca222397fc6e4aace10b40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
dnl Autoconfigure input file for fetchmail
dnl Eric S. Raymond <esr@thyrsus.com>
dnl
dnl Process this file with autoconf to produce a configure script.
dnl

AC_INIT(fetchmail.h)		dnl A distinctive file to look for in srcdir. 
AC_CONFIG_HEADER(config.h)

# We want these before the checks, so the checks can modify their values.
test -z "$CFLAGS" && CFLAGS=-g AC_SUBST(CFLAGS)
test -z "$LDFLAGS" && LDFLAGS=-g AC_SUBST(LDFLAGS)

AC_CANONICAL_HOST
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP			dnl Later checks need this.
AC_PROG_CC_C_O
AC_AIX
AC_ISC_POSIX
AC_MINIX
AC_HEADER_STDC
AC_TYPE_SIZE_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_CHECK_HEADERS(unistd.h termios.h termio.h sgtty.h stdarg.h) 

AC_C_CONST			dnl getopt needs this.

AC_PROG_LEX
AC_PROG_YACC
AC_SUBST(LIBOBJS)

AC_CHECK_LIB(socket,socket)
AC_CHECK_LIB(nsl,inet_addr)
AC_CHECK_LIB(resolv,res_search)

AC_CHECK_FUNC(strcasecmp, AC_DEFINE(HAVE_STRCASECMP), 
              [EXTRASRC="$EXTRASRC \$(srcdir)/strcasecmp.c"
               EXTRAOBJ="$EXTRAOBJ strcasecmp.o"])
             
AC_CHECK_FUNC(getopt_long, AC_DEFINE(HAVE_GETOPTLONG),
              [EXTRASRC="$EXTRASRC \$(srcdir)/getopt.c \$(srcdir)/getopt1.c"
               EXTRAOBJ="$EXTRAOBJ getopt.o getopt1.o"])

AC_FUNC_ALLOCA
if test -n "$ALLOCA" 
then
  EXTRASRC="$EXTRASRC \$(srcdir)/alloca.c"
  EXTRAOBJ="$EXTRAOBJ alloca.o"
fi

if test -f "/usr/kerberos/include/krb.h"
then
  CFLAGS="$CFLAGS -DKERBEROS_V4 -I/usr/kerberos/include"
  LDFLAGS="$LDFLAGS -L/usr/kerberos/lib"
  LIBS="$LIBS -lkrb -ldes"
fi

dnl All AC_CHECK_FUNCs must precede the following AC_SUBSTs

AC_SUBST(EXTRASRC)
AC_SUBST(EXTRAOBJ)

AC_CHECK_FUNCS(tcsetattr stty setsid seteuid gethostbyname res_search)

dnl AC_FUNC_SETVBUF_REVERSED

dnl Check for usuable void pointer type
AC_MSG_CHECKING(use of void pointer type)
AC_TRY_COMPILE([],
   [char *p;
    void *xmalloc();
    p = (char *) xmalloc(1);
   ],
 [AC_DEFINE(HAVE_VOIDPOINTER) AC_MSG_RESULT(yes)],
 AC_MSG_RESULT(no))

dnl Check out the wait reality.  We have to assume sys/wait.h is present.
AC_CHECK_FUNCS(waitpid wait3)
AC_MSG_CHECKING(for union wait);
AC_TRY_LINK([#include <sys/types.h>
#include <sys/wait.h>],
	 	 [union wait status; int pid; pid = wait (&status);
#ifdef WEXITSTATUS
/* Some POSIXoid systems have both the new-style macros and the old
   union wait type, and they do not work together.  If union wait
   conflicts with WEXITSTATUS et al, we don't want to use it at all.  */
if (WEXITSTATUS (status) != 0) pid = -1;
#endif
#ifdef HAVE_WAITPID
/* Make sure union wait works with waitpid.  */
pid = waitpid (-1, &status, 0);
#endif
],
  [AC_DEFINE(HAVE_UNION_WAIT) AC_MSG_RESULT(yes)],
  AC_MSG_RESULT(no))

AC_MSG_CHECKING(sys_siglist declaration in signal.h or unistd.h)
AC_TRY_LINK([#include <signal.h>
/* NetBSD declares sys_siglist in <unistd.h>.  */
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif], [char *msg = *(sys_siglist + 1);],
  [AC_DEFINE(SYS_SIGLIST_DECLARED) AC_MSG_RESULT(yes)],
  AC_MSG_RESULT(no))

AC_OUTPUT(Makefile, [
# Makefile uses this timestamp file to know when to remake Makefile,
# build.sh, and glob/Makefile.
touch stamp-config])

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "make configure config.h.in"
dnl End: