Deleted Added
full compact
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 ---