]> andersk Git - openssh.git/blame - configure.in
- New config.sub and config.guess to fix problems on SCO. Supplied
[openssh.git] / configure.in
CommitLineData
4cca272e 1AC_INIT(ssh.c)
5881cd60 2
3AC_CONFIG_HEADER(config.h)
a7effaac 4AC_CANONICAL_HOST
5881cd60 5
6dnl Checks for programs.
7AC_PROG_CC
4cca272e 8AC_PROG_CPP
5881cd60 9AC_PROG_RANLIB
cf8dd513 10AC_PROG_INSTALL
d4f11b59 11AC_CHECK_PROG(AR, ar, ar)
a0f84251 12AC_PATH_PROG(PERL, perl)
13AC_SUBST(PERL)
a7effaac 14AC_PATH_PROG(xauth_path, xauth)
f498ed15 15
16dnl Use ip address instead of hostname in $DISPLAY
17AC_ARG_WITH(rsh,
18 [ --with-rsh=PATH Specify path to remote shell program ],
19 [
0bc5b6fb 20 if test "x$withval" != "$xno" ; then
21 AC_DEFINE_UNQUOTED(RSH_PATH, "$withval")
22 fi
f498ed15 23 ],
24 [
25 AC_PATH_PROG(rsh_path, rsh)
26 ]
27)
28
29if test ! -z "$xauth_path" ; then
30 AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path")
31fi
32if test ! -z "$rsh_path" ; then
33 AC_DEFINE_UNQUOTED(RSH_PATH, "$rsh_path")
34fi
a7effaac 35
906a2515 36dnl Checks for compiler characteristics
d4f11b59 37if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi
a7effaac 38
906a2515 39AC_C_INLINE
5881cd60 40
a7effaac 41dnl Check for some target-specific stuff
42case "$host" in
43*-*-hpux10*)
44 if test -z "$GCC"; then
45 CFLAGS="$CFLAGS -Aa"
46 fi
47 CFLAGS="$CFLAGS -D_HPUX_SOURCE"
48 AC_DEFINE(IPADDR_IN_DISPLAY)
f498ed15 49 AC_DEFINE(USE_UTMPX)
a7effaac 50 AC_MSG_CHECKING(for HPUX trusted system password database)
51 if test -f /tcb/files/auth/system/default; then
52 AC_MSG_RESULT(yes)
53 AC_DEFINE(HAVE_HPUX_TRUSTED_SYSTEM_PW)
54 LIBS="$LIBS -lsec"
dfb95100 55 AC_MSG_WARN([This configuration is untested])
a7effaac 56 else
57 AC_MSG_RESULT(no)
58 AC_DEFINE(DISABLE_SHADOW)
59 fi
60 ;;
f74efc8d 61*-*-solaris*)
62 AC_DEFINE(USE_UTMPX)
63 ;;
dfb95100 64*-*-aix*)
65 AFS_LIBS="-lld"
66 ;;
d94aa2ae 67*-*-irix5*)
b9795b89 68 no_libsocket=1
69 no_libnsl=1
70 ;;
71*-*-irix6*)
72 AC_MSG_WARN([*** Irix 6.x is not tested *** ])
d94aa2ae 73 no_libsocket=1
74 no_libnsl=1
75 ;;
a7effaac 76esac
77
d4f11b59 78dnl Check for OpenSSL/SSLeay directories.
79AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
4cca272e 80for ssldir in /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local $prefix /usr/pkg ; do
6614282f 81 if test -f "$ssldir/include/openssl/crypto.h"; then
82 AC_DEFINE(HAVE_OPENSSL)
83 GOT_SSL="yes"
84 break
85 fi
86 if test -f "$ssldir/include/ssl/crypto.h"; then
87 AC_DEFINE(HAVE_SSL)
88 GOT_SSL="yes"
89 break
90 fi
d4f11b59 91done
6614282f 92if test -z "$GOT_SSL" ; then
93 AC_MSG_ERROR([Could not find SSLeay / OpenSSL libraries, please install])
94fi
d4f11b59 95AC_SUBST(ssldir)
96AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
97if test "$ssldir" != "/usr"; then
98 CFLAGS="$CFLAGS -I$ssldir/include"
7dc6fc6d 99 LDFLAGS="$LDFLAGS -L$ssldir/lib"
d4f11b59 100fi
6614282f 101AC_MSG_RESULT($ssldir)
5881cd60 102
d4f11b59 103dnl Check for RSAref library.
104AC_MSG_CHECKING([for RSAref library])
105saved_LIBS="$LIBS"
106LIBS="$saved_LIBS -lRSAglue -lrsaref"
107AC_TRY_LINK([], [],
0a2ff95d 108[AC_MSG_RESULT(yes);
109 AC_DEFINE(RSAREF)],
d4f11b59 110[AC_MSG_RESULT(no)]; LIBS="$saved_LIBS")
5881cd60 111
4cca272e 112dnl Checks for libraries.
113AC_CHECK_LIB(crypto, CRYPTO_lock, ,AC_MSG_ERROR([*** libcrypto missing - please install first ***]))
114AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first ***]))
115AC_CHECK_LIB(util, login, AC_DEFINE(HAVE_LIBUTIL_LOGIN) LIBS="$LIBS -lutil")
4cca272e 116
d94aa2ae 117if test -z "$no_libsocket" ; then
118 AC_CHECK_LIB(nsl, yp_match, , )
119fi
120if test -z "$no_libnsl" ; then
121 AC_CHECK_LIB(socket, main, , )
f74efc8d 122fi
4cca272e 123
5881cd60 124dnl Checks for header files.
b9795b89 125AC_CHECK_HEADERS(bstring.h endian.h lastlog.h login.h maillock.h netdb.h netgroup.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/time.h sys/ttcompat.h util.h utmp.h utmpx.h)
4cca272e 126
76cd7316 127dnl Checks for library functions.
d94aa2ae 128AC_CHECK_FUNCS(arc4random getpagesize _getpty innetgr md5_crypt mkdtemp openpty setenv seteuid setlogin setproctitle setreuid snprintf strlcat strlcpy updwtmpx vsnprintf)
76cd7316 129
beb43d31 130AC_CHECK_FUNC(login,
131 [AC_DEFINE(HAVE_LOGIN)],
132 [AC_CHECK_LIB(bsd, login, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_LOGIN)])]
133)
134
135AC_CHECK_FUNC(daemon,
136 [AC_DEFINE(HAVE_DAEMON)],
137 [AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])]
138)
139
2b942fe0 140dnl Checks for data types
141AC_CHECK_SIZEOF(short int, 2)
142AC_CHECK_SIZEOF(int, 4)
143AC_CHECK_SIZEOF(long int, 4)
144AC_CHECK_SIZEOF(long long int, 8)
145
146dnl More checks for data types
96ad4350 147AC_MSG_CHECKING([for intXX_t types])
2b942fe0 148AC_TRY_COMPILE(
149 [#include <sys/types.h>],
150 [int16_t a; int32_t b; a = 1235; b = 1235;],
151 [
152 AC_DEFINE(HAVE_INTXX_T)
153 AC_MSG_RESULT(yes)
154 ],
155 [AC_MSG_RESULT(no)]
156)
157
96ad4350 158AC_MSG_CHECKING([for u_intXX_t types])
2b942fe0 159AC_TRY_COMPILE(
160 [#include <sys/types.h>],
161 [u_int16_t c; u_int32_t d; c = 1235; d = 1235;],
162 [
163 AC_DEFINE(HAVE_U_INTXX_T)
164 AC_MSG_RESULT(yes)
165 ],
166 [AC_MSG_RESULT(no)]
167)
168
169AC_MSG_CHECKING([For uintXX_t types])
170AC_TRY_COMPILE(
171 [#include <sys/types.h>],
172 [uint16_t c; uint32_t d; c = 1235; d = 1235;],
173 [
174 AC_DEFINE(HAVE_UINTXX_T)
175 AC_MSG_RESULT(yes)
176 ],
177 [AC_MSG_RESULT(no)]
178)
179
ea1970a3 180AC_MSG_CHECKING([For socklen_t])
181AC_TRY_COMPILE(
723221b5 182 [
183 #include <sys/types.h>
184 #include <sys/socket.h>
185 ],
ea1970a3 186 [socklen_t foo; foo = 1235;],
187 [
188 AC_DEFINE(HAVE_SOCKLEN_T)
189 AC_MSG_RESULT(yes)
190 ],
191 [AC_MSG_RESULT(no)]
192)
193
e3a93db0 194AC_MSG_CHECKING([For size_t])
195AC_TRY_COMPILE(
196 [#include <sys/types.h>],
e3a93db0 197 [size_t foo; foo = 1235;],
198 [
199 AC_DEFINE(HAVE_SIZE_T)
200 AC_MSG_RESULT(yes)
201 ],
202 [AC_MSG_RESULT(no)]
203)
204
d94aa2ae 205AC_ARG_WITH(pam,
206 [ --without-pam Disable PAM support ],
96ad4350 207 [
d94aa2ae 208 if test "x$withval" = "xno" ; then
209 no_pam=1
210 AC_DEFINE(DISABLE_PAM)
211 fi
96ad4350 212 ]
d94aa2ae 213)
214
215if test -z "$no_pam" -a "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then
216 AC_CHECK_LIB(dl, dlopen, , )
217 LIBS="$LIBS -lpam"
218 dnl Check PAM strerror arguments
219 AC_MSG_CHECKING([whether pam_strerror takes only one argument])
220 AC_TRY_COMPILE(
221 [
222 #include <stdlib.h>
223 #include <security/pam_appl.h>
224 ],
225 [(void)pam_strerror((pam_handle_t *)NULL, -1);],
226 [AC_MSG_RESULT(no)],
227 [
228 AC_DEFINE(HAVE_OLD_PAM)
229 AC_MSG_RESULT(yes)
230 ]
231 )
232fi
96ad4350 233
8015023d 234AC_MSG_CHECKING([whether to build GNOME ssh-askpass])
235dnl Check whether user wants GNOME ssh-askpass
236AC_ARG_WITH(gnome-askpass,
237 [ --with-gnome-askpass Build the GNOME passphrase requester (default=no)],
76cd7316 238 [
239 if test x$withval = xno ; then
8015023d 240 GNOME_ASKPASS="";
76cd7316 241 else
8015023d 242 GNOME_ASKPASS="gnome-ssh-askpass";
76cd7316 243 fi
8015023d 244 ])
245AC_SUBST(GNOME_ASKPASS)
76cd7316 246
8015023d 247if test -z "$GNOME_ASKPASS" ; then
248 AC_MSG_RESULT(no)
249else
250 AC_MSG_RESULT(yes)
76cd7316 251fi
6a0aeebc 252
4cca272e 253dnl Check for user-specified random device
254AC_ARG_WITH(random,
76cd7316 255 [ --with-random=FILE read randomness from FILE (default=/dev/urandom)],
4cca272e 256 [
257 RANDOM_POOL="$withval";
92da7197 258 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
4cca272e 259 ],
260 [
261 dnl Check for random device
262 AC_CHECK_FILE("/dev/urandom",
263 [
264 RANDOM_POOL="/dev/urandom";
6614282f 265 AC_SUBST(RANDOM_POOL)
266 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
4cca272e 267 ]
268 )
269 ]
270)
271
272dnl Check for EGD pool file
273AC_ARG_WITH(egd-pool,
76cd7316 274 [ --with-egd-pool=FILE read randomness from EGD pool FILE (default none)],
4cca272e 275 [
276 RANDOM_POOL="$withval";
277 AC_DEFINE(HAVE_EGD)
6614282f 278 AC_SUBST(RANDOM_POOL)
279 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
4cca272e 280 ]
281)
282
76cd7316 283dnl Make sure we have random number support
4cca272e 284if test -z "$RANDOM_POOL" -a -z "$EGD_POOL"; then
285 AC_MSG_ERROR([No random device found, and no EGD random pool specified])
286fi
287
f601d847 288AC_MSG_CHECKING([whether utmp.h has ut_host field])
289AC_EGREP_HEADER(ut_host, utmp.h,
290 [AC_DEFINE(HAVE_HOST_IN_UTMP) AC_MSG_RESULT(yes); ],
291 [AC_MSG_RESULT(no)]
292)
8946db53 293AC_MSG_CHECKING([whether utmpx.h has ut_host field])
294AC_EGREP_HEADER(ut_host, utmpx.h,
295 [AC_DEFINE(HAVE_HOST_IN_UTMPX) AC_MSG_RESULT(yes); ],
296 [AC_MSG_RESULT(no)]
297)
f498ed15 298AC_MSG_CHECKING([whether utmpx.h has syslen field])
299AC_EGREP_HEADER(syslen, utmpx.h,
300 [AC_DEFINE(HAVE_SYSLEN_IN_UTMPX) AC_MSG_RESULT(yes); ],
301 [AC_MSG_RESULT(no)]
302)
70e0115b 303AC_MSG_CHECKING([whether utmp.h has ut_pid field])
304AC_EGREP_HEADER(ut_pid, utmp.h,
305 [AC_DEFINE(HAVE_PID_IN_UTMP) AC_MSG_RESULT(yes); ],
306 [AC_MSG_RESULT(no)]
307)
308AC_MSG_CHECKING([whether utmp.h has ut_type field])
309AC_EGREP_HEADER(ut_type, utmp.h,
310 [AC_DEFINE(HAVE_TYPE_IN_UTMP) AC_MSG_RESULT(yes); ],
311 [AC_MSG_RESULT(no)]
312)
313AC_MSG_CHECKING([whether utmp.h has ut_tv field])
314AC_EGREP_HEADER(ut_tv, utmp.h,
315 [AC_DEFINE(HAVE_TV_IN_UTMP) AC_MSG_RESULT(yes); ],
316 [AC_MSG_RESULT(no)]
317)
c73a0cb5 318AC_MSG_CHECKING([whether utmp.h has ut_id field])
319AC_EGREP_HEADER(ut_id, utmp.h,
320 [AC_DEFINE(HAVE_ID_IN_UTMP) AC_MSG_RESULT(yes); ],
321 [AC_MSG_RESULT(no)]
322)
4811cc0b 323AC_MSG_CHECKING([whether utmp.h has ut_addr field])
324AC_EGREP_HEADER(ut_addr, utmp.h,
325 [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ],
326 [AC_MSG_RESULT(no)]
327)
328AC_MSG_CHECKING([whether utmpx.h has ut_addr field])
329AC_EGREP_HEADER(ut_addr, utmpx.h,
330 [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ],
331 [AC_MSG_RESULT(no)]
332)
8946db53 333
f601d847 334dnl Look for lastlog location
a7effaac 335AC_ARG_WITH(lastlog,
cb807f40 336 [ --with-lastlog=FILE Location of lastlog file],
a7effaac 337 [
338 if test "x$withval" = "xno" ; then
339 AC_DEFINE(DISABLE_LASTLOG)
340 else
341 AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$withval")
342 fi
343 ],
344 [
345 AC_MSG_CHECKING([location of lastlog file])
346 for lastlog in /var/log/lastlog /var/adm/lastlog /etc/security/lastlog ; do
347 if test -f $lastlog ; then
348 gotlastlog="file"
349 break
350 fi
351 if test -d $lastlog ; then
352 gotlastlog="dir"
353 break
354 fi
355 done
356 if test -z "$gotlastlog" ; then
d94aa2ae 357 AC_MSG_RESULT(not found)
a7effaac 358 nolastlog=1
359 else
360 if test "x$gotlastlog" = "xdir" ; then
d94aa2ae 361 AC_MSG_RESULT(${lastlog}/)
a7effaac 362 AC_DEFINE(LASTLOG_IS_DIR)
d94aa2ae 363 else
364 AC_MSG_RESULT($lastlog)
365 AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$lastlog")
a7effaac 366 fi
a7effaac 367 fi
368 ]
369)
370
371if test ! -z "$nolastlog" ; then
372 AC_MSG_WARN([*** Disabling lastlog support *** ])
373 AC_DEFINE(DISABLE_LASTLOG)
374fi
f601d847 375
0bc5b6fb 376dnl Compile with dante SOCKS library
377AC_ARG_WITH(dante,
378 [ --with-dante=DIR Use Dante SOCKS lib (default is system library path)],
379 [
380 AC_DEFINE(HAVE_DANTE)
381 if test "x$withval" != "xno" ; then
382 if test -n $withval ; then
383 LIBS="$LIBS -L$withval"
384 fi
385 LIBS="$LIBS -lsocks"
386 fi
387 ]
388)
389
a408af76 390AC_CHECK_FILE("/dev/ptmx", AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX))
391AC_CHECK_FILE("/dev/ptc", AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC))
392
f601d847 393AC_MSG_CHECKING([whether libc defines __progname])
394AC_TRY_LINK([],
beb43d31 395 [extern char *__progname; printf("%s", __progname);],
f601d847 396 [
397 AC_DEFINE(HAVE___PROGNAME)
398 AC_MSG_RESULT(yes)
399 ],
400 [
401 AC_MSG_RESULT(no)
402 ]
403)
404
91b8065d 405dnl Check whether user wants Kerberos support
406AC_ARG_WITH(kerberos4,
dfb95100 407 [ --with-kerberos4=PATH Enable Kerberos 4 support],
91b8065d 408 [
0bc5b6fb 409 if test "x$withval" != "$xno" ; then
dfb95100 410
411 if test "x$withval" != "$xyes" ; then
412 CFLAGS="$CFLAGS -I${withval}/include"
413 LDFLAGS="$LDFLAGS -L${withval}/lib"
414 else
415 if test -d /usr/include/kerberosIV ; then
416 CFLAGS="$CFLAGS -I/usr/include/kerberosIV"
417 fi
418 fi
419
420 AC_CHECK_HEADERS(krb.h)
421 AC_CHECK_LIB(krb, main)
422 if test "$ac_cv_header_krb_h" != yes; then
423 AC_MSG_WARN([Cannot find krb.h, build may fail])
424 fi
425 if test "$ac_cv_lib_krb_main" != yes; then
426 AC_MSG_WARN([Cannot find libkrb, build may fail])
427 fi
428
429 LIBS="$LIBS -lkrb -ldes"
430 AC_CHECK_LIB(resolv, dn_expand, , )
431 KRB4=yes
0bc5b6fb 432 AC_DEFINE(KRB4)
0bc5b6fb 433 fi
91b8065d 434 ]
435)
436
437dnl Check whether user wants AFS support
2b942fe0 438AC_ARG_WITH(afs,
dfb95100 439 [ --with-afs=PATH Enable AFS support],
91b8065d 440 [
0bc5b6fb 441 if test "x$withval" != "$xno" ; then
dfb95100 442
443 if test "x$withval" != "$xyes" ; then
444 CFLAGS="$CFLAGS -I${withval}/include"
445 LFLAGS="$LFLAGS -L${withval}/lib"
446 fi
447
448 if test -z "$KRB4" ; then
449 AC_MSG_WARN([AFS requires Kerberos IV support, build may fail])
450 fi
451
0bc5b6fb 452 LIBS="$LIBS -lkafs"
dfb95100 453 if test ! -z "$AFS_LIBS" ; then
454 LIBS="$LIBS $AFS_LIBS"
455 fi
456 AC_DEFINE(AFS)
0bc5b6fb 457 fi
91b8065d 458 ]
459)
460
461dnl Check whether user wants S/Key support
462AC_ARG_WITH(skey,
463 [ --with-skey Enable S/Key support],
464 [
0bc5b6fb 465 if test "x$withval" != "$xno" ; then
466 AC_DEFINE(SKEY)
467 LIBS="$LIBS -lskey"
468 fi
91b8065d 469 ]
470)
471
472dnl Check whether user wants TCP wrappers support
2ddcfdf3 473AC_ARG_WITH(tcp-wrappers,
91b8065d 474 [ --with-tcp-wrappers Enable tcpwrappers support],
475 [
0bc5b6fb 476 if test "x$withval" != "$xno" ; then
477 AC_DEFINE(LIBWRAP)
dfb95100 478 LIBS="$LIBS -lwrap"
0bc5b6fb 479 fi
91b8065d 480 ]
481)
482
caf3bc51 483dnl Check whether to enable MD5 passwords
2ddcfdf3 484AC_ARG_WITH(md5-passwords,
caf3bc51 485 [ --with-md5-passwords Enable use of MD5 passwords],
0bc5b6fb 486 [
487 if test "x$withval" != "$xno" ; then
488 AC_DEFINE(HAVE_MD5_PASSWORDS)
489 fi
490 ]
caf3bc51 491)
492
92f90c57 493dnl Check whether to enable utmpx support
494AC_ARG_WITH(utmpx,
495 [ --with-utmpx Enable utmpx support],
a7effaac 496 [
497 if test "x$withval" != "xno" ; then
498 AC_DEFINE(USE_UTMPX)
499 fi
500 ]
92f90c57 501)
502
a7effaac 503dnl Whether to disable shadow password support
504AC_ARG_WITH(shadow,
505 [ --without-shadow Disable shadow password support],
506 [
507 if test "x$withval" = "xno" ; then
508 AC_DEFINE(DISABLE_SHADOW)
509 fi
510 ]
511)
512
513dnl Use ip address instead of hostname in $DISPLAY
514AC_ARG_WITH(ipaddr-display,
515 [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY],
516 [
517 if test "x$withval" = "xno" ; then
518 AC_DEFINE(IPADDR_IN_DISPLAY)
519 fi
520 ]
521)
522
c43d69a9 523AC_ARG_WITH(default-path,
cb807f40 524 [ --with-default-path=PATH Specify default \$PATH environment for server],
525 [
526 if test "x$withval" != "xno" ; then
c73a0cb5 527 AC_DEFINE_UNQUOTED(USER_PATH, "$withval")
cb807f40 528 fi
529 ]
530)
531
a7effaac 532dnl Check for mail directory (last resort if we cannot get it from headers)
533if test ! -z "$MAIL" ; then
534 maildir=`dirname $MAIL`
535 AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir")
536fi
847e8865 537
5881cd60 538AC_OUTPUT(Makefile)
This page took 0.188007 seconds and 5 git commands to generate.