configure.ac (180746) | configure.ac (180750) |
---|---|
1# $Id: configure.ac,v 1.397 2008/03/27 01:33:07 djm Exp $ | 1# $Id: configure.ac,v 1.409 2008/07/09 11:07:19 djm Exp $ |
2# 3# Copyright (c) 1999-2004 Damien Miller 4# 5# Permission to use, copy, modify, and distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) | 2# 3# Copyright (c) 1999-2004 Damien Miller 4# 5# Permission to use, copy, modify, and distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) |
18AC_REVISION($Revision: 1.397 $) | 18AC_REVISION($Revision: 1.409 $) |
19AC_CONFIG_SRCDIR([ssh.c]) 20 21AC_CONFIG_HEADER(config.h) 22AC_PROG_CC 23AC_CANONICAL_HOST 24AC_C_BIGENDIAN 25 26# Checks for programs. --- 75 unchanged lines hidden (view full) --- 102 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` 103 case $GCC_VER in 104 1.*) no_attrib_nonnull=1 ;; 105 2.8* | 2.9*) 106 CFLAGS="$CFLAGS -Wsign-compare" 107 no_attrib_nonnull=1 108 ;; 109 2.*) no_attrib_nonnull=1 ;; | 19AC_CONFIG_SRCDIR([ssh.c]) 20 21AC_CONFIG_HEADER(config.h) 22AC_PROG_CC 23AC_CANONICAL_HOST 24AC_C_BIGENDIAN 25 26# Checks for programs. --- 75 unchanged lines hidden (view full) --- 102 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` 103 case $GCC_VER in 104 1.*) no_attrib_nonnull=1 ;; 105 2.8* | 2.9*) 106 CFLAGS="$CFLAGS -Wsign-compare" 107 no_attrib_nonnull=1 108 ;; 109 2.*) no_attrib_nonnull=1 ;; |
110 3.*) CFLAGS="$CFLAGS -Wsign-compare" ;; 111 4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign" ;; | 110 3.*) CFLAGS="$CFLAGS -Wsign-compare -Wformat-security" ;; 111 4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign -Wformat-security" ;; |
112 *) ;; 113 esac 114 | 112 *) ;; 113 esac 114 |
115 AC_MSG_CHECKING(if $CC accepts -fno-builtin-memset) 116 saved_CFLAGS="$CFLAGS" 117 CFLAGS="$CFLAGS -fno-builtin-memset" 118 AC_LINK_IFELSE( [AC_LANG_SOURCE([[ 119#include <string.h> 120int main(void){char b[10]; memset(b, 0, sizeof(b));} 121 ]])], 122 [ AC_MSG_RESULT(yes) ], 123 [ AC_MSG_RESULT(no) 124 CFLAGS="$saved_CFLAGS" ] 125) 126 |
|
115 # -fstack-protector-all doesn't always work for some GCC versions 116 # and/or platforms, so we test if we can. If it's not supported 117 # on a give platform gcc will emit a warning so we use -Werror. 118 if test "x$use_stack_protector" = "x1"; then 119 for t in -fstack-protector-all -fstack-protector; do 120 AC_MSG_CHECKING(if $CC supports $t) 121 saved_CFLAGS="$CFLAGS" 122 saved_LDFLAGS="$LDFLAGS" --- 139 unchanged lines hidden (view full) --- 262 string.h \ 263 strings.h \ 264 sys/audit.h \ 265 sys/bitypes.h \ 266 sys/bsdtty.h \ 267 sys/cdefs.h \ 268 sys/dir.h \ 269 sys/mman.h \ | 127 # -fstack-protector-all doesn't always work for some GCC versions 128 # and/or platforms, so we test if we can. If it's not supported 129 # on a give platform gcc will emit a warning so we use -Werror. 130 if test "x$use_stack_protector" = "x1"; then 131 for t in -fstack-protector-all -fstack-protector; do 132 AC_MSG_CHECKING(if $CC supports $t) 133 saved_CFLAGS="$CFLAGS" 134 saved_LDFLAGS="$LDFLAGS" --- 139 unchanged lines hidden (view full) --- 274 string.h \ 275 strings.h \ 276 sys/audit.h \ 277 sys/bitypes.h \ 278 sys/bsdtty.h \ 279 sys/cdefs.h \ 280 sys/dir.h \ 281 sys/mman.h \ |
282 sys/mount.h \ |
|
270 sys/ndir.h \ 271 sys/poll.h \ 272 sys/prctl.h \ 273 sys/pstat.h \ 274 sys/select.h \ 275 sys/stat.h \ 276 sys/stream.h \ 277 sys/stropts.h \ 278 sys/strtio.h \ | 283 sys/ndir.h \ 284 sys/poll.h \ 285 sys/prctl.h \ 286 sys/pstat.h \ 287 sys/select.h \ 288 sys/stat.h \ 289 sys/stream.h \ 290 sys/stropts.h \ 291 sys/strtio.h \ |
292 sys/statvfs.h \ |
|
279 sys/sysmacros.h \ 280 sys/time.h \ 281 sys/timers.h \ 282 sys/un.h \ 283 time.h \ 284 tmpdir.h \ 285 ttyent.h \ 286 ucred.h \ --- 259 unchanged lines hidden (view full) --- 546 AC_DEFINE(BROKEN_UPDWTMPX, 1, [updwtmpx is broken (if present)]) 547 AC_DEFINE(WITH_ABBREV_NO_TTY) 548 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 549 ;; 550*-*-linux*) 551 no_dev_ptmx=1 552 check_for_libcrypt_later=1 553 check_for_openpty_ctty_bug=1 | 293 sys/sysmacros.h \ 294 sys/time.h \ 295 sys/timers.h \ 296 sys/un.h \ 297 time.h \ 298 tmpdir.h \ 299 ttyent.h \ 300 ucred.h \ --- 259 unchanged lines hidden (view full) --- 560 AC_DEFINE(BROKEN_UPDWTMPX, 1, [updwtmpx is broken (if present)]) 561 AC_DEFINE(WITH_ABBREV_NO_TTY) 562 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 563 ;; 564*-*-linux*) 565 no_dev_ptmx=1 566 check_for_libcrypt_later=1 567 check_for_openpty_ctty_bug=1 |
554 AC_DEFINE(DONT_TRY_OTHER_AF, 1, [Workaround more Linux IPv6 quirks]) | |
555 AC_DEFINE(PAM_TTY_KLUDGE, 1, 556 [Work around problematic Linux PAM modules handling of PAM_TTY]) 557 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!", 558 [String used in /etc/passwd to denote locked account]) 559 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) 560 AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM, 561 [Define to whatever link() returns for "not supported" 562 if it doesn't return EOPNOTSUPP.]) --- 260 unchanged lines hidden (view full) --- 823 AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin", 824 [String used in /etc/passwd to denote locked account]) 825 fi 826 fi 827 AC_DEFINE(BROKEN_GETADDRINFO) 828 AC_DEFINE(SETEUID_BREAKS_SETUID) 829 AC_DEFINE(BROKEN_SETREUID) 830 AC_DEFINE(BROKEN_SETREGID) | 568 AC_DEFINE(PAM_TTY_KLUDGE, 1, 569 [Work around problematic Linux PAM modules handling of PAM_TTY]) 570 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!", 571 [String used in /etc/passwd to denote locked account]) 572 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) 573 AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM, 574 [Define to whatever link() returns for "not supported" 575 if it doesn't return EOPNOTSUPP.]) --- 260 unchanged lines hidden (view full) --- 836 AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin", 837 [String used in /etc/passwd to denote locked account]) 838 fi 839 fi 840 AC_DEFINE(BROKEN_GETADDRINFO) 841 AC_DEFINE(SETEUID_BREAKS_SETUID) 842 AC_DEFINE(BROKEN_SETREUID) 843 AC_DEFINE(BROKEN_SETREGID) |
844 AC_DEFINE(BROKEN_READV_COMPARISON, 1, [Can't do comparisons on readv]) |
|
831 ;; 832 833*-*-nto-qnx*) 834 AC_DEFINE(USE_PIPES) 835 AC_DEFINE(NO_X11_UNIX_SOCKETS) 836 AC_DEFINE(MISSING_NFDBITS, 1, [Define on *nto-qnx systems]) 837 AC_DEFINE(MISSING_HOWMANY, 1, [Define on *nto-qnx systems]) 838 AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems]) --- 190 unchanged lines hidden (view full) --- 1029 [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES) 1030 LIBS="$LIBS -lc89"]) ] 1031) 1032 1033dnl Checks for libutil functions 1034AC_CHECK_HEADERS(libutil.h) 1035AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1, 1036 [Define if your libraries define login()])]) | 845 ;; 846 847*-*-nto-qnx*) 848 AC_DEFINE(USE_PIPES) 849 AC_DEFINE(NO_X11_UNIX_SOCKETS) 850 AC_DEFINE(MISSING_NFDBITS, 1, [Define on *nto-qnx systems]) 851 AC_DEFINE(MISSING_HOWMANY, 1, [Define on *nto-qnx systems]) 852 AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems]) --- 190 unchanged lines hidden (view full) --- 1043 [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES) 1044 LIBS="$LIBS -lc89"]) ] 1045) 1046 1047dnl Checks for libutil functions 1048AC_CHECK_HEADERS(libutil.h) 1049AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1, 1050 [Define if your libraries define login()])]) |
1037AC_CHECK_FUNCS(logout updwtmp logwtmp) | 1051AC_CHECK_FUNCS(fmt_scaled logout updwtmp logwtmp) |
1038 1039AC_FUNC_STRFTIME 1040 1041# Check for ALTDIRFUNC glob() extension 1042AC_MSG_CHECKING(for GLOB_ALTDIRFUNC support) 1043AC_EGREP_CPP(FOUNDIT, 1044 [ 1045 #include <glob.h> --- 237 unchanged lines hidden (view full) --- 1283 AC_MSG_ERROR([Unknown audit module $withval]) 1284 ;; 1285 esac ] 1286) 1287 1288dnl Checks for library functions. Please keep in alphabetical order 1289AC_CHECK_FUNCS( \ 1290 arc4random \ | 1052 1053AC_FUNC_STRFTIME 1054 1055# Check for ALTDIRFUNC glob() extension 1056AC_MSG_CHECKING(for GLOB_ALTDIRFUNC support) 1057AC_EGREP_CPP(FOUNDIT, 1058 [ 1059 #include <glob.h> --- 237 unchanged lines hidden (view full) --- 1297 AC_MSG_ERROR([Unknown audit module $withval]) 1298 ;; 1299 esac ] 1300) 1301 1302dnl Checks for library functions. Please keep in alphabetical order 1303AC_CHECK_FUNCS( \ 1304 arc4random \ |
1305 arc4random_buf \ 1306 arc4random_uniform \ |
|
1291 asprintf \ 1292 b64_ntop \ 1293 __b64_ntop \ 1294 b64_pton \ 1295 __b64_pton \ 1296 bcopy \ 1297 bindresvport_sa \ 1298 clock \ 1299 closefrom \ 1300 dirfd \ 1301 fchmod \ 1302 fchown \ 1303 freeaddrinfo \ | 1307 asprintf \ 1308 b64_ntop \ 1309 __b64_ntop \ 1310 b64_pton \ 1311 __b64_pton \ 1312 bcopy \ 1313 bindresvport_sa \ 1314 clock \ 1315 closefrom \ 1316 dirfd \ 1317 fchmod \ 1318 fchown \ 1319 freeaddrinfo \ |
1320 fstatvfs \ |
|
1304 futimes \ 1305 getaddrinfo \ 1306 getcwd \ 1307 getgrouplist \ 1308 getnameinfo \ 1309 getopt \ 1310 getpeereid \ 1311 getpeerucred \ --- 35 unchanged lines hidden (view full) --- 1347 setreuid \ 1348 setrlimit \ 1349 setsid \ 1350 setvbuf \ 1351 sigaction \ 1352 sigvec \ 1353 snprintf \ 1354 socketpair \ | 1321 futimes \ 1322 getaddrinfo \ 1323 getcwd \ 1324 getgrouplist \ 1325 getnameinfo \ 1326 getopt \ 1327 getpeereid \ 1328 getpeerucred \ --- 35 unchanged lines hidden (view full) --- 1364 setreuid \ 1365 setrlimit \ 1366 setsid \ 1367 setvbuf \ 1368 sigaction \ 1369 sigvec \ 1370 snprintf \ 1371 socketpair \ |
1372 statfs \ 1373 statvfs \ |
|
1355 strdup \ 1356 strerror \ 1357 strlcat \ 1358 strlcpy \ 1359 strmode \ 1360 strnvis \ 1361 strtonum \ 1362 strtoll \ --- 1277 unchanged lines hidden (view full) --- 2640]) 2641if test "x$ac_cv_have_u_char" = "xyes" ; then 2642 AC_DEFINE(HAVE_U_CHAR, 1, [define if you have u_char data type]) 2643fi 2644 2645TYPE_SOCKLEN_T 2646 2647AC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>]) | 1374 strdup \ 1375 strerror \ 1376 strlcat \ 1377 strlcpy \ 1378 strmode \ 1379 strnvis \ 1380 strtonum \ 1381 strtoll \ --- 1277 unchanged lines hidden (view full) --- 2659]) 2660if test "x$ac_cv_have_u_char" = "xyes" ; then 2661 AC_DEFINE(HAVE_U_CHAR, 1, [define if you have u_char data type]) 2662fi 2663 2664TYPE_SOCKLEN_T 2665 2666AC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>]) |
2667AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t],,,[ 2668#include <sys/types.h> 2669#ifdef HAVE_SYS_BITYPES_H 2670#include <sys/bitypes.h> 2671#endif 2672#ifdef HAVE_SYS_STATFS_H 2673#include <sys/statfs.h> 2674#endif 2675#ifdef HAVE_SYS_STATVFS_H 2676#include <sys/statvfs.h> 2677#endif 2678]) |
|
2648 2649AC_CHECK_TYPES(in_addr_t,,, 2650[#include <sys/types.h> 2651#include <netinet/in.h>]) 2652 2653AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [ 2654 AC_TRY_COMPILE( 2655 [ --- 346 unchanged lines hidden (view full) --- 3002 ) 3003]) 3004if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then 3005 AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR, 1, 3006 [Define if your system uses access rights style 3007 file descriptor passing]) 3008fi 3009 | 2679 2680AC_CHECK_TYPES(in_addr_t,,, 2681[#include <sys/types.h> 2682#include <netinet/in.h>]) 2683 2684AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [ 2685 AC_TRY_COMPILE( 2686 [ --- 346 unchanged lines hidden (view full) --- 3033 ) 3034]) 3035if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then 3036 AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR, 1, 3037 [Define if your system uses access rights style 3038 file descriptor passing]) 3039fi 3040 |
3041AC_MSG_CHECKING(if f_fsid has val members) 3042AC_TRY_COMPILE([ 3043#include <sys/types.h> 3044#include <sys/statvfs.h>], 3045[struct fsid_t t; t.val[0] = 0;], 3046 [ AC_MSG_RESULT(yes) 3047 AC_DEFINE(FSID_HAS_VAL, 1, f_fsid has members) ], 3048 [ AC_MSG_RESULT(no) ] 3049) 3050 |
|
3010AC_CACHE_CHECK([for msg_control field in struct msghdr], 3011 ac_cv_have_control_in_msghdr, [ 3012 AC_COMPILE_IFELSE( 3013 [ 3014#include <sys/types.h> 3015#include <sys/socket.h> 3016#include <sys/uio.h> 3017int main() { --- 312 unchanged lines hidden (view full) --- 3330 [K5LIBS="$K5LIBS -lroken"]) 3331 ], 3332 [ AC_MSG_RESULT(no) 3333 K5LIBS="-lkrb5 -lk5crypto -lcom_err" 3334 ] 3335 ) 3336 AC_SEARCH_LIBS(dn_expand, resolv) 3337 | 3051AC_CACHE_CHECK([for msg_control field in struct msghdr], 3052 ac_cv_have_control_in_msghdr, [ 3053 AC_COMPILE_IFELSE( 3054 [ 3055#include <sys/types.h> 3056#include <sys/socket.h> 3057#include <sys/uio.h> 3058int main() { --- 312 unchanged lines hidden (view full) --- 3371 [K5LIBS="$K5LIBS -lroken"]) 3372 ], 3373 [ AC_MSG_RESULT(no) 3374 K5LIBS="-lkrb5 -lk5crypto -lcom_err" 3375 ] 3376 ) 3377 AC_SEARCH_LIBS(dn_expand, resolv) 3378 |
3338 AC_CHECK_LIB(gssapi,gss_init_sec_context, | 3379 AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context, |
3339 [ AC_DEFINE(GSSAPI) | 3380 [ AC_DEFINE(GSSAPI) |
3340 K5LIBS="-lgssapi $K5LIBS" ], 3341 [ AC_CHECK_LIB(gssapi_krb5,gss_init_sec_context, | 3381 K5LIBS="-lgssapi_krb5 $K5LIBS" ], 3382 [ AC_CHECK_LIB(gssapi, gss_init_sec_context, |
3342 [ AC_DEFINE(GSSAPI) | 3383 [ AC_DEFINE(GSSAPI) |
3343 K5LIBS="-lgssapi_krb5 $K5LIBS" ], | 3384 K5LIBS="-lgssapi $K5LIBS" ], |
3344 AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), 3345 $K5LIBS) 3346 ], 3347 $K5LIBS) 3348 3349 AC_CHECK_HEADER(gssapi.h, , 3350 [ unset ac_cv_header_gssapi_h 3351 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" --- 682 unchanged lines hidden (view full) --- 4034 LDFLAGS="$LDFLAGS $blibflags$blibpath" 4035 AC_MSG_WARN([Please check and edit blibpath in LDFLAGS in Makefile]) 4036fi 4037 4038dnl Adding -Werror to CFLAGS early prevents configure tests from running. 4039dnl Add now. 4040CFLAGS="$CFLAGS $werror_flags" 4041 | 3385 AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), 3386 $K5LIBS) 3387 ], 3388 $K5LIBS) 3389 3390 AC_CHECK_HEADER(gssapi.h, , 3391 [ unset ac_cv_header_gssapi_h 3392 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi" --- 682 unchanged lines hidden (view full) --- 4075 LDFLAGS="$LDFLAGS $blibflags$blibpath" 4076 AC_MSG_WARN([Please check and edit blibpath in LDFLAGS in Makefile]) 4077fi 4078 4079dnl Adding -Werror to CFLAGS early prevents configure tests from running. 4080dnl Add now. 4081CFLAGS="$CFLAGS $werror_flags" 4082 |
4083if grep "#define BROKEN_GETADDRINFO 1" confdefs.h >/dev/null || \ 4084 test "x$ac_cv_func_getaddrinfo" != "xyes" ; then 4085 AC_SUBST(TEST_SSH_IPV6, no) 4086else 4087 AC_SUBST(TEST_SSH_IPV6, yes) 4088fi 4089 |
|
4042AC_EXEEXT 4043AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ 4044 openbsd-compat/Makefile openbsd-compat/regress/Makefile \ 4045 scard/Makefile ssh_prng_cmds survey.sh]) 4046AC_OUTPUT 4047 4048# Print summary of options 4049 --- 102 unchanged lines hidden --- | 4090AC_EXEEXT 4091AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ 4092 openbsd-compat/Makefile openbsd-compat/regress/Makefile \ 4093 scard/Makefile ssh_prng_cmds survey.sh]) 4094AC_OUTPUT 4095 4096# Print summary of options 4097 --- 102 unchanged lines hidden --- |