]> andersk Git - openssh.git/blob - configure.in
- Avoid warning message with Unix98 ptys
[openssh.git] / configure.in
1 AC_INIT(ssh.c)
2
3 AC_CONFIG_HEADER(config.h)
4 AC_CANONICAL_HOST
5
6 # C Compiler features
7 if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi
8 AC_C_INLINE
9
10 # Checks for programs.
11 AC_PROG_CC
12 AC_PROG_CPP
13 AC_PROG_RANLIB
14 AC_PROG_INSTALL
15 AC_CHECK_PROG(AR, ar, ar)
16 AC_PATH_PROG(PERL, perl)
17 AC_SUBST(PERL)
18
19 # Check for some target-specific stuff
20 case "$host" in
21 *-*-aix*)
22         AFS_LIBS="-lld"
23         AC_DEFINE(BROKEN_GETADDRINFO)
24         ;;
25 *-*-hpux10*)
26         if test -z "$GCC"; then
27                 CFLAGS="$CFLAGS -Aa"
28         fi
29         CFLAGS="$CFLAGS -D_HPUX_SOURCE"
30         AC_DEFINE(IPADDR_IN_DISPLAY)
31         AC_DEFINE(USE_UTMPX)
32         AC_MSG_CHECKING(for HPUX trusted system password database)
33         if test -f /tcb/files/auth/system/default; then
34                 AC_MSG_RESULT(yes)
35                 AC_DEFINE(HAVE_HPUX_TRUSTED_SYSTEM_PW)
36                 LIBS="$LIBS -lsec"
37                 AC_MSG_WARN([This configuration is untested])
38         else
39                 AC_MSG_RESULT(no)
40                 AC_DEFINE(DISABLE_SHADOW)
41         fi
42         MANTYPE='$(CATMAN)'
43         mansubdir=cat
44         ;;
45 *-*-irix5*)
46         MANTYPE='$(CATMAN)'
47         no_libsocket=1
48         no_libnsl=1
49         ;;
50 *-*-irix6*)
51         MANTYPE='$(CATMAN)'
52         AC_MSG_WARN([*** Irix 6.x is not tested, please report you experiences *** ])
53         no_libsocket=1
54         no_libnsl=1
55         ;;
56 *-*-linux*)
57         no_dev_ptmx=1
58         ;;
59 *-*-netbsd*)
60         need_dash_r=1
61         ;;
62 *-*-solaris*)
63         need_dash_r=1
64         AC_DEFINE(USE_UTMPX)
65         ;;
66 *-*-sysv*)
67         AC_DEFINE(USE_UTMPX)
68         MANTYPE='$(CATMAN)'
69         mansubdir=cat
70         LIBS="$LIBS -lgen -lsocket"
71         ;;
72 esac
73
74 # Checks for libraries.
75 AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first ***]))
76 AC_CHECK_LIB(util, login, AC_DEFINE(HAVE_LIBUTIL_LOGIN) LIBS="$LIBS -lutil")
77
78 if test -z "$no_libsocket" ; then
79         AC_CHECK_LIB(nsl, yp_match, , )
80 fi
81 if test -z "$no_libnsl" ; then
82         AC_CHECK_LIB(socket, main, , )
83 fi
84
85 # Checks for header files.
86 AC_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/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h stddef.h util.h utmp.h utmpx.h)
87
88 # Checks for library functions.
89 AC_CHECK_FUNCS(arc4random bindresvport_af freeaddrinfo gai_strerror getaddrinfo getpagesize getnameinfo innetgr md5_crypt mkdtemp openpty rresvport_af setenv seteuid setlogin setproctitle setreuid snprintf strlcat strlcpy updwtmpx vsnprintf _getpty)
90
91 AC_CHECK_FUNC(login, 
92         [AC_DEFINE(HAVE_LOGIN)],
93         [AC_CHECK_LIB(bsd, login, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_LOGIN)])]
94 )
95
96 AC_CHECK_FUNC(daemon, 
97         [AC_DEFINE(HAVE_DAEMON)],
98         [AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])]
99 )
100
101 AC_ARG_WITH(pam,
102         [  --without-pam           Disable PAM support ],
103         [
104                 if test "x$withval" = "xno" ; then
105                         no_pam=1
106                         AC_DEFINE(DISABLE_PAM)
107                 fi
108         ]
109 )
110 if test -z "$no_pam" -a "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then
111         AC_CHECK_LIB(dl, dlopen, , )
112         LIBS="$LIBS -lpam"
113
114         # Check PAM strerror arguments (old PAM)
115         AC_MSG_CHECKING([whether pam_strerror takes only one argument])
116         AC_TRY_COMPILE(
117                 [
118                         #include <stdlib.h>
119                         #include <security/pam_appl.h>
120                 ], 
121                 [(void)pam_strerror((pam_handle_t *)NULL, -1);], 
122                 [AC_MSG_RESULT(no)],
123                 [
124                         AC_DEFINE(HAVE_OLD_PAM)
125                         AC_MSG_RESULT(yes)
126                 ]
127         ) 
128 fi
129
130 # The big search for OpenSSL
131 AC_ARG_WITH(ssl-dir,
132         [  --with-ssl-dir=PATH     Specify path to OpenSSL installation ],
133         [
134                 if test "x$withval" != "$xno" ; then
135                         tryssldir=$withval
136                 fi
137         ]
138 )
139
140 saved_LIBS="$LIBS"
141 saved_CFLAGS="$CFLAGS"
142 if test "x$prefix" != "xNONE" ; then
143         tryssldir="$tryssldir $prefix"
144 fi
145 AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
146 for ssldir in "" $tryssldir /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
147         if test ! -z "$ssldir" ; then
148                 LIBS="$saved_LIBS -L$ssldir"
149                 CFLAGS="$CFLAGS -I$ssldir/include"
150                 if test "x$need_dash_r" = "x1" ; then
151                         LIBS="$LIBS -R$ssldir"
152                 fi
153         fi
154         LIBS="$LIBS -lcrypto"
155
156         AC_TRY_RUN(
157                 [
158                         #include <openssl/rsa.h>
159                         #include <openssl/bn.h>
160                         #include <openssl/sha.h>
161                         int main(void) 
162                         {RSA *key;key=RSA_generate_key(32,3,NULL,NULL);return(key==NULL);}
163                 ],
164                 [
165                         AC_DEFINE(HAVE_OPENSSL)
166                         found_crypto=1
167                         break;
168                 ], []
169         )
170         AC_TRY_RUN(
171                 [
172                         #include <ssl/rsa.h>
173                         #include <ssl/bn.h>
174                         #include <ssl/sha.h>
175                         int main(void) 
176                         {RSA *key;key=RSA_generate_key(32,3,NULL,NULL);return(key==NULL);}
177                 ],
178                 [
179                         AC_DEFINE(HAVE_SSL)
180                         found_crypto=1
181                         break;
182                 ], []
183         )
184 done
185
186 if test -z "$found_crypto" ; then
187         AC_MSG_ERROR([Could not find working SSLeay / OpenSSL libraries, please install])       
188 fi
189 if test -z "$ssldir" ; then
190         ssldir="(system)"
191 else
192         CFLAGS="$CFLAGS -I$ssldir/include"
193         LDFLAGS="$LDFLAGS -L$ssldir/lib"
194         if test "x$need_dash_r" = "x1" ; then
195                 LDFLAGS="$LDFLAGS -R$ssldir"
196         fi
197 fi
198 LIBS="$saved_LIBS -lcrypto"
199 AC_MSG_RESULT($ssldir)
200
201 # Checks for data types
202 AC_CHECK_SIZEOF(char, 1)
203 AC_CHECK_SIZEOF(short int, 2)
204 AC_CHECK_SIZEOF(int, 4)
205 AC_CHECK_SIZEOF(long int, 4)
206 AC_CHECK_SIZEOF(long long int, 8)
207
208 # More checks for data types
209 AC_MSG_CHECKING([for intXX_t types])
210 AC_TRY_COMPILE(
211         [#include <sys/types.h>], 
212         [int16_t a; int32_t b; a = 1235; b = 1235;], 
213         [
214                 AC_DEFINE(HAVE_INTXX_T)
215                 AC_MSG_RESULT(yes)
216                 have_intxx_t=1
217         ],
218         [AC_MSG_RESULT(no)]
219
220
221 AC_MSG_CHECKING([for u_intXX_t types])
222 AC_TRY_COMPILE(
223         [#include <sys/types.h>], 
224         [u_int16_t c; u_int32_t d; c = 1235; d = 1235;], 
225         [
226                 AC_DEFINE(HAVE_U_INTXX_T)
227                 AC_MSG_RESULT(yes)
228                 have_u_intxx_t=1
229         ],
230         [AC_MSG_RESULT(no)]
231
232
233 if test -z "$have_u_intxx_t" -o -z "$have_intxx_t" -a \
234            "x$ac_cv_header_sys_bitypes_h" = "xyes"
235 then
236         AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
237         AC_TRY_COMPILE(
238                 [#include <sys/bitypes.h>], 
239                 [
240                         u_int16_t c; u_int32_t d; 
241                         int16_t e; int32_t f;
242                         c = 1235; d = 1235;
243                         e = 1235; f = 1235;
244                 ], 
245                 [
246                         AC_DEFINE(HAVE_U_INTXX_T)
247                         AC_DEFINE(HAVE_INTXX_T)
248                         AC_MSG_RESULT(yes)
249                 ],
250                 [AC_MSG_RESULT(no)]
251         ) 
252 fi
253
254 AC_MSG_CHECKING([for uintXX_t types])
255 AC_TRY_COMPILE(
256         [#include <sys/types.h>], 
257         [uint16_t c; uint32_t d; c = 1235; d = 1235;], 
258         [
259                 AC_DEFINE(HAVE_UINTXX_T)
260                 AC_MSG_RESULT(yes)
261         ],
262         [AC_MSG_RESULT(no)]
263
264
265 AC_MSG_CHECKING([for socklen_t])
266 AC_TRY_COMPILE(
267         [
268                 #include <sys/types.h>
269                 #include <sys/socket.h>
270         ],
271         [socklen_t foo; foo = 1235;],
272         [
273                 AC_DEFINE(HAVE_SOCKLEN_T)
274                 AC_MSG_RESULT(yes)
275         ],
276         [AC_MSG_RESULT(no)]
277 )
278
279 AC_MSG_CHECKING([for size_t])
280 AC_TRY_COMPILE(
281         [#include <sys/types.h>],
282         [size_t foo; foo = 1235;],
283         [
284                 AC_DEFINE(HAVE_SIZE_T)
285                 AC_MSG_RESULT(yes)
286         ],
287         [AC_MSG_RESULT(no)]
288 )
289
290 AC_MSG_CHECKING([for struct sockaddr_storage])
291 AC_TRY_COMPILE(
292         [
293                 #include <sys/types.h>
294                 #include <sys/socket.h>
295         ],
296         [struct sockaddr_storage s;],
297         [
298                 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE)
299                 AC_MSG_RESULT(yes)
300         ],
301         [AC_MSG_RESULT(no)]
302 )
303
304 AC_MSG_CHECKING([for struct sockaddr_in6])
305 AC_TRY_COMPILE(
306         [#include <netinet/in.h>],
307         [struct sockaddr_in6 s; s.sin6_family = 0;],
308         [
309                 AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6)
310                 AC_MSG_RESULT(yes)
311         ],
312         [AC_MSG_RESULT(no)]
313 )
314
315 AC_MSG_CHECKING([for struct in6_addr])
316 AC_TRY_COMPILE(
317         [#include <netinet/in.h>],
318         [struct in6_addr s; s.s6_addr[0] = 0;],
319         [
320                 AC_DEFINE(HAVE_STRUCT_IN6_ADDR)
321                 AC_MSG_RESULT(yes)
322         ],
323         [AC_MSG_RESULT(no)]
324 )
325
326 AC_MSG_CHECKING([for struct addrinfo])
327 AC_TRY_COMPILE(
328         [
329                 #include <sys/types.h>
330                 #include <sys/socket.h>
331                 #include <netdb.h>
332         ],
333         [struct addrinfo s; s.ai_flags = AI_PASSIVE;],
334         [
335                 AC_DEFINE(HAVE_STRUCT_ADDRINFO)
336                 AC_MSG_RESULT(yes)
337         ],
338         [AC_MSG_RESULT(no)]
339 )
340
341 # Checks for structure members
342 AC_MSG_CHECKING([whether utmp.h has ut_host field])
343 AC_EGREP_HEADER(ut_host, utmp.h, 
344         [AC_DEFINE(HAVE_HOST_IN_UTMP) AC_MSG_RESULT(yes); ], 
345         [AC_MSG_RESULT(no)]
346 )
347 AC_MSG_CHECKING([whether utmpx.h has ut_host field])
348 AC_EGREP_HEADER(ut_host, utmpx.h, 
349         [AC_DEFINE(HAVE_HOST_IN_UTMPX) AC_MSG_RESULT(yes); ], 
350         [AC_MSG_RESULT(no)]
351 )
352 AC_MSG_CHECKING([whether utmpx.h has syslen field])
353 AC_EGREP_HEADER(syslen, utmpx.h, 
354         [AC_DEFINE(HAVE_SYSLEN_IN_UTMPX) AC_MSG_RESULT(yes); ], 
355         [AC_MSG_RESULT(no)]
356 )
357 AC_MSG_CHECKING([whether utmp.h has ut_pid field])
358 AC_EGREP_HEADER(ut_pid, utmp.h, 
359         [AC_DEFINE(HAVE_PID_IN_UTMP) AC_MSG_RESULT(yes); ], 
360         [AC_MSG_RESULT(no)]
361 )
362 AC_MSG_CHECKING([whether utmp.h has ut_type field])
363 AC_EGREP_HEADER(ut_type, utmp.h, 
364         [AC_DEFINE(HAVE_TYPE_IN_UTMP) AC_MSG_RESULT(yes); ], 
365         [AC_MSG_RESULT(no)]
366 )
367 AC_MSG_CHECKING([whether utmp.h has ut_tv field])
368 AC_EGREP_HEADER(ut_tv, utmp.h, 
369         [AC_DEFINE(HAVE_TV_IN_UTMP) AC_MSG_RESULT(yes); ], 
370         [AC_MSG_RESULT(no)]
371 )
372 AC_MSG_CHECKING([whether utmp.h has ut_id field])
373 AC_EGREP_HEADER(ut_id, utmp.h, 
374         [AC_DEFINE(HAVE_ID_IN_UTMP) AC_MSG_RESULT(yes); ], 
375         [AC_MSG_RESULT(no)]
376 )
377 AC_MSG_CHECKING([whether utmp.h has ut_addr field])
378 AC_EGREP_HEADER(ut_addr, utmp.h, 
379         [AC_DEFINE(HAVE_ADDR_IN_UTMP) AC_MSG_RESULT(yes); ], 
380         [AC_MSG_RESULT(no)]
381 )
382 AC_MSG_CHECKING([whether utmpx.h has ut_addr field])
383 AC_EGREP_HEADER(ut_addr, utmpx.h, 
384         [AC_DEFINE(HAVE_ADDR_IN_UTMPX) AC_MSG_RESULT(yes); ], 
385         [AC_MSG_RESULT(no)]
386 )
387 AC_MSG_CHECKING([whether utmp.h has ut_addr_v6 field])
388 AC_EGREP_HEADER(ut_addr_v6, utmp.h, 
389         [AC_DEFINE(HAVE_ADDR_V6_IN_UTMP) AC_MSG_RESULT(yes); ], 
390         [AC_MSG_RESULT(no)]
391 )
392 AC_MSG_CHECKING([whether utmpx.h has ut_addr_v6 field])
393 AC_EGREP_HEADER(ut_addr_v6, utmpx.h, 
394         [AC_DEFINE(HAVE_ADDR_V6_IN_UTMPX) AC_MSG_RESULT(yes); ], 
395         [AC_MSG_RESULT(no)]
396 )
397
398 AC_MSG_CHECKING([whether struct sockaddr_storage has ss_family field])
399 AC_TRY_COMPILE(
400         [
401                 #include <sys/types.h>
402                 #include <sys/socket.h>
403         ],
404         [struct sockaddr_storage s; s.ss_family = 1;],
405         [
406                 AC_DEFINE(HAVE_SS_FAMILY_IN_SS)
407                 AC_MSG_RESULT(yes)
408         ],
409         [AC_MSG_RESULT(no)]
410 )
411 AC_MSG_CHECKING([whether struct sockaddr_storage has __ss_family field])
412 AC_TRY_COMPILE(
413         [
414                 #include <sys/types.h>
415                 #include <sys/socket.h>
416         ],
417         [struct sockaddr_storage s; s.__ss_family = 1;],
418         [
419                 AC_DEFINE(HAVE___SS_FAMILY_IN_SS)
420                 AC_MSG_RESULT(yes)
421         ],
422         [AC_MSG_RESULT(no)]
423 )
424
425 AC_MSG_CHECKING([whether libc defines __progname])
426 AC_TRY_LINK([], 
427         [extern char *__progname; printf("%s", __progname);], 
428         [
429                 AC_DEFINE(HAVE___PROGNAME)
430                 AC_MSG_RESULT(yes)
431         ], 
432         [
433                 AC_MSG_RESULT(no)
434         ]
435 )
436
437 # Looking for programs, paths and files
438 AC_ARG_WITH(rsh,
439         [  --with-rsh=PATH         Specify path to remote shell program ],
440         [
441                 if test "x$withval" != "$xno" ; then
442                         AC_DEFINE_UNQUOTED(RSH_PATH, "$withval")
443                 fi
444         ],
445         [
446                 AC_PATH_PROG(rsh_path, rsh)
447         ]
448 )
449
450 AC_ARG_WITH(xauth,
451         [  --with-xauth=PATH       Specify path to xauth program ],
452         [
453                 if test "x$withval" != "$xno" ; then
454                         AC_DEFINE_UNQUOTED(XAUTH_PATH, "$withval")
455                 fi
456         ],
457         [
458                 AC_PATH_PROG(xauth_path, xauth)
459                 if test ! -z "$xauth_path" -a -x "/usr/openwin/bin/xauth" ; then
460                         xauth_path="/usr/openwin/bin/xauth"
461                 fi
462         ]
463 )
464
465 if test ! -z "$xauth_path" ; then
466         AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path")
467 fi
468 if test ! -z "$rsh_path" ; then
469         AC_DEFINE_UNQUOTED(RSH_PATH, "$rsh_path")
470 fi
471
472 # Check for mail directory (last resort if we cannot get it from headers)
473 if test ! -z "$MAIL" ; then
474         maildir=`dirname $MAIL`
475         AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir")
476 fi
477
478 # Look for lastlog location
479 AC_ARG_WITH(lastlog,
480         [  --with-lastlog=FILE     Location of lastlog file],
481         [
482                 if test "x$withval" = "xno" ; then
483                         AC_DEFINE(DISABLE_LASTLOG)
484                 else
485                         AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$withval")
486                 fi
487         ],
488         [
489                 AC_MSG_CHECKING([location of lastlog file])
490                 for lastlog in /var/log/lastlog /var/adm/lastlog /usr/adm/lastlog  /etc/security/lastlog ; do
491                         if test -f $lastlog ; then
492                                 gotlastlog="file"
493                                 break
494                         fi
495                         if test -d $lastlog ; then
496                                 gotlastlog="dir"
497                                 break
498                         fi
499                 done
500                 if test -z "$gotlastlog" ; then
501                         AC_MSG_RESULT(not found)
502                         nolastlog=1
503                 else
504                         if test "x$gotlastlog" = "xdir" ; then
505                                 AC_MSG_RESULT(${lastlog}/)
506                                 AC_DEFINE(LASTLOG_IS_DIR)
507                         else
508                                 AC_MSG_RESULT($lastlog)
509                                 AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$lastlog")
510                         fi
511                 fi      
512         ]
513 )
514
515 if test ! -z "$nolastlog" ; then
516         AC_MSG_WARN([*** Disabling lastlog support *** ])
517         AC_DEFINE(DISABLE_LASTLOG)
518 fi
519
520 if test -z "$no_dev_ptmx" ; then
521         AC_CHECK_FILE("/dev/ptmx", AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX))
522 fi
523 AC_CHECK_FILE("/dev/ptc", AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC))
524
525 # Options from here on. Some of these are preset by platform above
526
527 # Check whether user wants GNOME ssh-askpass
528 AC_MSG_CHECKING([whether to build GNOME ssh-askpass])
529 AC_ARG_WITH(gnome-askpass,
530         [  --with-gnome-askpass    Build the GNOME passphrase requester (default=no)],
531         [
532                 if test x$withval = xno ; then
533                         GNOME_ASKPASS="";
534                 else
535                         GNOME_ASKPASS="gnome-ssh-askpass";
536                 fi
537         ])
538 AC_SUBST(GNOME_ASKPASS)
539
540 if test -z "$GNOME_ASKPASS" ; then
541         AC_MSG_RESULT(no)
542 else
543         AC_MSG_RESULT(yes)
544 fi
545
546 # Check for user-specified random device, otherwise check /dev/urandom
547 AC_ARG_WITH(random,
548         [  --with-random=FILE      read randomness from FILE (default=/dev/urandom)],
549         [
550                 RANDOM_POOL="$withval";
551                 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
552         ],
553         [
554                 # Check for random device
555                 AC_CHECK_FILE("/dev/urandom",
556                         [
557                                 RANDOM_POOL="/dev/urandom"; 
558                                 AC_SUBST(RANDOM_POOL)
559                                 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
560                         ]
561                 )
562         ]
563 )
564
565 # Check for EGD pool file
566 AC_ARG_WITH(egd-pool,
567         [  --with-egd-pool=FILE    read randomness from EGD pool FILE (default none)],
568         [
569                 RANDOM_POOL="$withval";
570                 AC_DEFINE(HAVE_EGD)
571                 AC_SUBST(RANDOM_POOL)
572                 AC_DEFINE_UNQUOTED(RANDOM_POOL, "$RANDOM_POOL")
573         ]
574 )
575
576 # Make sure we have some random number support
577 if test -z "$RANDOM_POOL" -a -z "$EGD_POOL"; then
578         AC_MSG_ERROR([No random device found, and no EGD random pool specified])
579 fi
580
581 AC_ARG_WITH(catman,
582         [  --with-catman=man|cat   Install preformatted manpages[no]],
583         [
584                 MANTYPE='$(CATMAN)'
585                 if test x"$withval" != x"yes" ; then
586                    mansubdir=$withval
587                 else
588                    mansubdir=cat
589                 fi
590         ], [
591                 if test -z "$MANTYPE" ; then
592                         MANTYPE='$(TROFFMAN)'
593                         mansubdir=man
594                 fi
595         ]
596 )
597 AC_SUBST(MANTYPE)
598 AC_SUBST(mansubdir)
599
600 # Check whether user wants Kerberos support
601 AC_ARG_WITH(kerberos4,
602         [  --with-kerberos4=PATH   Enable Kerberos 4 support],
603         [
604                 if test "x$withval" != "$xno" ; then
605         
606                         if test "x$withval" != "$xyes" ; then
607                                 CFLAGS="$CFLAGS -I${withval}/include"
608                                 LDFLAGS="$LDFLAGS -L${withval}/lib"
609                         else
610                                 if test -d /usr/include/kerberosIV ; then
611                                         CFLAGS="$CFLAGS -I/usr/include/kerberosIV"
612                                 fi
613                         fi
614
615                         AC_CHECK_HEADERS(krb.h)
616                         AC_CHECK_LIB(krb, main)
617                         if test "$ac_cv_header_krb_h" != yes; then
618                                 AC_MSG_WARN([Cannot find krb.h, build may fail])
619                         fi
620                         if test "$ac_cv_lib_krb_main" != yes; then
621                                 AC_MSG_WARN([Cannot find libkrb, build may fail])
622                         fi
623
624                         KLIBS="-lkrb -ldes"
625                         AC_CHECK_LIB(resolv, dn_expand, , )
626                         KRB4=yes
627                         AC_DEFINE(KRB4)
628                 fi
629         ]
630 )
631
632 # Check whether user wants AFS support
633 AC_ARG_WITH(afs,
634         [  --with-afs=PATH         Enable AFS support],
635         [
636                 if test "x$withval" != "$xno" ; then
637
638                         if test "x$withval" != "$xyes" ; then
639                                 CFLAGS="$CFLAGS -I${withval}/include"
640                                 LFLAGS="$LFLAGS -L${withval}/lib"
641                         fi
642
643                         if test -z "$KRB4" ; then
644                                 AC_MSG_WARN([AFS requires Kerberos IV support, build may fail])
645                         fi
646
647                         LIBS="$LIBS -lkafs"
648                         if test ! -z "$AFS_LIBS" ; then
649                                 LIBS="$LIBS $AFS_LIBS"
650                         fi
651                         AC_DEFINE(AFS)
652                 fi
653         ]
654 )
655 LIBS="$LIBS $KLIBS"
656
657 # Check whether user wants S/Key support
658 AC_ARG_WITH(skey,
659         [  --with-skey             Enable S/Key support],
660         [
661                 if test "x$withval" != "$xno" ; then
662                         AC_DEFINE(SKEY)
663                         LIBS="$LIBS -lskey"
664                 fi
665         ]
666 )
667
668 # Check whether user wants TCP wrappers support
669 AC_ARG_WITH(tcp-wrappers,
670         [  --with-tcp-wrappers     Enable tcpwrappers support],
671         [
672                 if test "x$withval" != "$xno" ; then
673                         AC_DEFINE(LIBWRAP)
674                         LIBS="$LIBS -lwrap"
675                 fi
676         ]
677 )
678
679 # Check whether to enable MD5 passwords
680 AC_ARG_WITH(md5-passwords,
681         [  --with-md5-passwords    Enable use of MD5 passwords],
682         [
683                 if test "x$withval" != "$xno" ; then
684                         AC_DEFINE(HAVE_MD5_PASSWORDS)
685                 fi
686         ]
687 )
688
689 # Check whether to enable utmpx support
690 AC_ARG_WITH(utmpx,
691         [  --with-utmpx            Enable utmpx support],
692         [
693                 if test "x$withval" != "xno" ; then
694                         AC_DEFINE(USE_UTMPX)
695                 fi
696         ]
697 )
698
699 # Whether to disable shadow password support
700 AC_ARG_WITH(shadow,
701         [  --without-shadow        Disable shadow password support],
702         [
703                 if test "x$withval" = "xno" ; then      
704                         AC_DEFINE(DISABLE_SHADOW)
705                 fi
706         ]
707 )
708
709 # Use ip address instead of hostname in $DISPLAY
710 AC_ARG_WITH(ipaddr-display,
711         [  --with-ipaddr-display   Use ip address instead of hostname in \$DISPLAY],
712         [
713                 if test "x$withval" = "xno" ; then      
714                         AC_DEFINE(IPADDR_IN_DISPLAY)
715                 fi
716         ]
717 )
718
719 # Whether to mess with the default path
720 AC_ARG_WITH(default-path,
721         [  --with-default-path=PATH Specify default \$PATH environment for server],
722         [
723                 if test "x$withval" != "xno" ; then     
724                         AC_DEFINE_UNQUOTED(USER_PATH, "$withval")
725                 fi
726         ]
727 )
728
729 # Whether to force IPv4 by default (needed on broken glibc Linux)
730 AC_ARG_WITH(ipv4-default,
731         [  --with-ipv4-default     Use IPv4 by connections unless '-6' specified],
732         [
733                 if test "x$withval" != "xno" ; then     
734                         AC_DEFINE(IPV4_DEFAULT)
735                 fi
736         ]
737 )
738
739 # Where to place sshd.pid
740 piddir=/var/run
741 AC_ARG_WITH(pid-dir,
742         [  --with-pid-dir=PATH     Specify location of ssh.pid file],
743         [
744                 if test "x$withval" != "xno" ; then     
745                         piddir=$withval
746                 fi
747         ]
748 )
749 AC_DEFINE_UNQUOTED(PIDDIR, "$piddir")
750 AC_SUBST(piddir)
751
752 AC_OUTPUT(Makefile)
This page took 0.125482 seconds and 5 git commands to generate.