1
1
# Process this file with autoconf to produce a configure script.
3
AC_INIT([stunnel],[4.09])
4
AC_MSG_NOTICE([**************************************** initialization])
4
5
AC_CONFIG_AUX_DIR(auto)
5
AM_INIT_AUTOMAKE(stunnel, 4.05)
6
AM_INIT_AUTOMAKE(stunnel, 4.09)
6
7
AC_CONFIG_SRCDIR(src/stunnel.c)
11
AC_DEFINE_UNQUOTED(HOST, "$host")
10
14
if test "$GCC" = "yes"; then
11
15
CFLAGS="$CFLAGS -Wall -Wshadow -Wcast-align -Wpointer-arith"
20
# Checks for typedefs, structures, and compiler characteristics
27
AC_MSG_NOTICE([**************************************** libtool])
31
AC_MSG_NOTICE([**************************************** integer sizes])
32
AC_CHECK_SIZEOF(unsigned char)
33
AC_CHECK_SIZEOF(unsigned short)
34
AC_CHECK_SIZEOF(unsigned int)
35
AC_CHECK_SIZEOF(unsigned long)
37
AC_MSG_NOTICE([**************************************** PTY device files])
38
AC_CHECK_FILE("/dev/ptmx", AC_DEFINE(HAVE_DEV_PTMX))
39
AC_CHECK_FILE("/dev/ptc", AC_DEFINE(HAVE_DEV_PTS_AND_PTC))
41
AC_MSG_NOTICE([**************************************** SSL and entropy])
19
43
if test -f "$1/include/openssl/ssl.h"; then
20
44
AC_DEFINE(HAVE_OPENSSL)
31
dnl Check for SSL directory
55
# Check for SSL directory
32
56
AC_MSG_CHECKING([for SSL directory])
34
58
[ --with-ssl=DIR location of installed SSL libraries/include files],
36
dnl Check the specified localtion only
60
# Check the specified localtion only
37
61
checkssldir "$withval"
40
dnl Search default localtions of SSL library
64
# Search default localtions of SSL library
41
65
for maindir in /usr/local /usr/lib /usr/pkg /usr /var/ssl /opt; do
42
66
for dir in $maindir $maindir/openssl $maindir/ssl; do
43
67
checkssldir $dir && break 2
65
93
AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET")
68
dnl Check for user-specified random device
96
# Check for user-specified random device
69
97
AC_ARG_WITH(random,
70
98
[ --with-random=FILE read randomness from FILE (default=/dev/urandom)],
71
99
[RANDOM_FILE="$withval"],
73
dnl Check for random device
101
# Check for random device
74
102
AC_CHECK_FILE("/dev/urandom",
76
104
RANDOM_FILE="/dev/urandom";
83
111
AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE")
87
AC_MSG_CHECKING([whether to disable RSA support])
89
[ --disable-rsa Disable RSA support],
90
[AC_MSG_RESULT([yes]); AC_DEFINE(NO_RSA)],
95
AC_MSG_CHECKING([whether to enable DH support])
97
[ --enable-dh Enable DH support],
98
[AC_MSG_RESULT([yes]); USE_DH=1; AC_DEFINE(USE_DH)],
99
[AC_MSG_RESULT([no]); USE_DH=0]
105
AC_DEFINE_UNQUOTED(HOST, "$host")
107
dnl Checks for standard libraries.
114
AC_MSG_NOTICE([**************************************** libraries])
115
# Checks for standard libraries
108
116
AC_CHECK_LIB(dl, dlopen)
109
117
AC_CHECK_LIB(dld, shl_load)
110
118
AC_CHECK_LIB(nsl, gethostbyname)
111
119
AC_CHECK_LIB(socket, socket)
120
AC_CHECK_LIB(util, openpty)
113
122
# OSF hack instead of simple AC_CHECK_LIB here
114
123
AC_MSG_CHECKING([for pthread_create in -lpthread])
115
124
saved_LIBS="$LIBS"
116
125
LIBS="-lpthread $saved_LIBS"
117
AC_TRY_LINK([#include <pthread.h>],
118
[pthread_create((void *)0, (void *)0, (void *)0, (void *)0)],
119
[AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_LIBPTHREAD)],
120
[AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])
126
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[pthread_create((void *)0, (void *)0, (void *)0, (void *)0)]])],[AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_LIBPTHREAD)],[AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])
123
129
AC_CHECK_LIB(c_r, pthread_create,
124
130
[LIBS="$LIBS -pthread"; AC_DEFINE(HAVE_LIBPTHREAD)]
127
AC_CHECK_LIB(util, openpty)
129
dnl Check for libwrap library.
133
# Check for libwrap library
130
134
AC_MSG_CHECKING([whether to use the libwrap (TCP wrappers) library])
131
135
AC_ARG_WITH(tcp-wrappers,
132
136
[ --with-tcp-wrappers Use the libwrap (TCP wrappers) library],
150
151
AC_MSG_CHECKING([for hosts_access in -lwrap])
151
152
saved_LIBS="$LIBS"
152
153
LIBS="-lwrap $saved_LIBS"
153
AC_TRY_LINK([int hosts_access(); int allow_severity, deny_severity;],
155
[AC_MSG_RESULT([yes]); wrap_LIB="-lwrap"; AC_DEFINE(HAVE_LIBWRAP)],
156
[AC_MSG_RESULT([no])])
154
AC_LINK_IFELSE([AC_LANG_PROGRAM([[int hosts_access(); int allow_severity, deny_severity;]], [[hosts_access()]])],[AC_MSG_RESULT([yes]); wrap_LIB="-lwrap"; AC_DEFINE(HAVE_LIBWRAP)],[AC_MSG_RESULT([no])])
157
155
LIBS="$saved_LIBS"
161
dnl Add SSL includes and libraries
160
if test "$host_os" = "beos"; then
161
LIBS="$LIBS -lbe -lroot -lbind"
164
# Add SSL includes and libraries
162
165
CFLAGS="$CFLAGS -I$ssldir/include"
163
166
LIBS="$LIBS -L$ssldir/lib -lssl -lcrypto"
165
dnl Add BeOS libraries
166
if test "$host_os" = "beos"; then
167
LIBS="$LIBS -lbe -lroot -lbind"
170
dnl Check for RSAref library.
171
AC_MSG_CHECKING([for RSAref library])
168
# Check for obsolete RSAref library
169
AC_MSG_CHECKING([for obsolete RSAref library])
172
170
saved_LIBS="$LIBS"
173
171
LIBS="$saved_LIBS -lRSAglue -L$prefix/lib -lrsaref"
175
[AC_MSG_RESULT([yes]); ],
176
[AC_MSG_RESULT([no])]; LIBS="$saved_LIBS")
178
dnl Check PTY device files.
179
AC_CHECK_FILE("/dev/ptmx", AC_DEFINE(HAVE_DEV_PTMX))
180
AC_CHECK_FILE("/dev/ptc", AC_DEFINE(HAVE_DEV_PTS_AND_PTC))
182
dnl Checks for header files.
172
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[AC_MSG_RESULT([yes]); ],[AC_MSG_RESULT([no]); LIBS="$saved_LIBS"])
174
AC_MSG_NOTICE([**************************************** header files])
183
175
# AC_HEADER_DIRENT
185
177
# AC_HEADER_SYS_WAIT
186
AC_CHECK_HEADERS(grp.h unistd.h sys/select.h tcpd.h pthread.h sys/ioctl.h util.h pty.h stropts.h sys/filio.h sys/resource.h)
188
# dnl Checks for typedefs, structures, and compiler characteristics.
195
dnl Checks for library functions.
196
AC_CHECK_FUNCS(snprintf vsnprintf openpty _getpty daemon waitpid wait4 sysconf getrlimit pthread_sigmask setgroups localtime_r chroot endhostent setsid)
198
dnl Checks for integer sizes
199
AC_CHECK_SIZEOF(unsigned char)
200
AC_CHECK_SIZEOF(unsigned short)
201
AC_CHECK_SIZEOF(unsigned int)
202
AC_CHECK_SIZEOF(unsigned long)
178
AC_CHECK_HEADERS(grp.h unistd.h sys/select.h poll.h sys/poll.h tcpd.h pthread.h sys/ioctl.h util.h pty.h stropts.h sys/filio.h sys/resource.h)
180
AC_MSG_NOTICE([**************************************** library functions])
181
AC_CHECK_FUNCS(snprintf vsnprintf openpty _getpty daemon waitpid wait4 sysconf getrlimit pthread_sigmask setgroups localtime_r chroot endhostent setsid getaddrinfo getnameinfo poll)
183
AC_MSG_NOTICE([**************************************** optional features])
185
AC_MSG_CHECKING([whether to disable RSA support])
187
[ --disable-rsa Disable RSA support],
188
[AC_MSG_RESULT([yes]); AC_DEFINE(NO_RSA)],
189
[AC_MSG_RESULT([no])]
193
AC_MSG_CHECKING([whether to enable DH support])
195
[ --enable-dh Enable DH support],
196
[AC_MSG_RESULT([yes]); USE_DH=1; AC_DEFINE(USE_DH)],
197
[AC_MSG_RESULT([no]); USE_DH=0]
202
AC_MSG_CHECKING([whether to enable IPv6 support])
204
[ --enable-ipv6 Enable IPv6 support],
205
[AC_MSG_RESULT([yes]); USE_IPv6=1; AC_DEFINE(USE_IPv6)],
206
[AC_MSG_RESULT([no]); USE_IPv6=0]
210
AC_MSG_NOTICE([**************************************** write the results])
204
211
LIBS="$LIBS $wrap_LIB"
206
212
CPPFLAGS="$CPPFLAGS -DLIBDIR=\\\"$libdir\\\" -DCONFDIR=\\\"$sysconfdir/stunnel\\\" -DPIDFILE=\\\"$localstatedir/run/stunnel.pid\\\""
208
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile tools/Makefile tools/stunnel.conf-sample tools/stunnel.init])
213
AC_CONFIG_FILES([Makefile src/Makefile src/stunnel3 doc/Makefile tools/Makefile tools/stunnel.conf-sample tools/stunnel.init])
216
AC_MSG_NOTICE([**************************************** success])
211
217
# End of configure.ac