diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 69 |
1 files changed, 21 insertions, 48 deletions
diff --git a/configure.ac b/configure.ac index 30be6c182..3e93c0276 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -41,11 +41,11 @@ AC_PATH_PROG([TEST_MINUS_S_SH], [ksh]) | |||
41 | AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) | 41 | AC_PATH_PROG([TEST_MINUS_S_SH], [sh]) |
42 | AC_PATH_PROG([SH], [sh]) | 42 | AC_PATH_PROG([SH], [sh]) |
43 | AC_PATH_PROG([GROFF], [groff]) | 43 | AC_PATH_PROG([GROFF], [groff]) |
44 | AC_PATH_PROG([NROFF], [nroff]) | 44 | AC_PATH_PROG([NROFF], [nroff awf]) |
45 | AC_PATH_PROG([MANDOC], [mandoc]) | 45 | AC_PATH_PROG([MANDOC], [mandoc]) |
46 | AC_SUBST([TEST_SHELL], [sh]) | 46 | AC_SUBST([TEST_SHELL], [sh]) |
47 | 47 | ||
48 | dnl select manpage formatter | 48 | dnl select manpage formatter to be used to build "cat" format pages. |
49 | if test "x$MANDOC" != "x" ; then | 49 | if test "x$MANDOC" != "x" ; then |
50 | MANFMT="$MANDOC" | 50 | MANFMT="$MANDOC" |
51 | elif test "x$NROFF" != "x" ; then | 51 | elif test "x$NROFF" != "x" ; then |
@@ -53,7 +53,7 @@ elif test "x$NROFF" != "x" ; then | |||
53 | elif test "x$GROFF" != "x" ; then | 53 | elif test "x$GROFF" != "x" ; then |
54 | MANFMT="$GROFF -mandoc -Tascii" | 54 | MANFMT="$GROFF -mandoc -Tascii" |
55 | else | 55 | else |
56 | AC_MSG_WARN([no manpage formatted found]) | 56 | AC_MSG_WARN([no manpage formatter found]) |
57 | MANFMT="false" | 57 | MANFMT="false" |
58 | fi | 58 | fi |
59 | AC_SUBST([MANFMT]) | 59 | AC_SUBST([MANFMT]) |
@@ -152,9 +152,11 @@ CFLAGS="$saved_CFLAGS" | |||
152 | 152 | ||
153 | if test "$GCC" = "yes" || test "$GCC" = "egcs"; then | 153 | if test "$GCC" = "yes" || test "$GCC" = "egcs"; then |
154 | OSSH_CHECK_CFLAG_COMPILE([-pipe]) | 154 | OSSH_CHECK_CFLAG_COMPILE([-pipe]) |
155 | OSSH_CHECK_CFLAG_COMPILE([-Qunused-arguments]) | ||
156 | OSSH_CHECK_CFLAG_COMPILE([-Wunknown-warning-option]) | 155 | OSSH_CHECK_CFLAG_COMPILE([-Wunknown-warning-option]) |
156 | OSSH_CHECK_CFLAG_COMPILE([-Wno-error=format-truncation]) | ||
157 | OSSH_CHECK_CFLAG_COMPILE([-Qunused-arguments]) | ||
157 | OSSH_CHECK_CFLAG_COMPILE([-Wall]) | 158 | OSSH_CHECK_CFLAG_COMPILE([-Wall]) |
159 | OSSH_CHECK_CFLAG_COMPILE([-Wextra]) | ||
158 | OSSH_CHECK_CFLAG_COMPILE([-Wpointer-arith]) | 160 | OSSH_CHECK_CFLAG_COMPILE([-Wpointer-arith]) |
159 | OSSH_CHECK_CFLAG_COMPILE([-Wuninitialized]) | 161 | OSSH_CHECK_CFLAG_COMPILE([-Wuninitialized]) |
160 | OSSH_CHECK_CFLAG_COMPILE([-Wsign-compare]) | 162 | OSSH_CHECK_CFLAG_COMPILE([-Wsign-compare]) |
@@ -588,7 +590,6 @@ case "$host" in | |||
588 | #include <fcntl.h> ] | 590 | #include <fcntl.h> ] |
589 | ) | 591 | ) |
590 | check_for_aix_broken_getaddrinfo=1 | 592 | check_for_aix_broken_getaddrinfo=1 |
591 | AC_DEFINE([BROKEN_REALPATH], [1], [Define if you have a broken realpath.]) | ||
592 | AC_DEFINE([SETEUID_BREAKS_SETUID], [1], | 593 | AC_DEFINE([SETEUID_BREAKS_SETUID], [1], |
593 | [Define if your platform breaks doing a seteuid before a setuid]) | 594 | [Define if your platform breaks doing a seteuid before a setuid]) |
594 | AC_DEFINE([BROKEN_SETREUID], [1], [Define if your setreuid() is broken]) | 595 | AC_DEFINE([BROKEN_SETREUID], [1], [Define if your setreuid() is broken]) |
@@ -680,6 +681,9 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
680 | AC_CHECK_LIB([sandbox], [sandbox_apply], [ | 681 | AC_CHECK_LIB([sandbox], [sandbox_apply], [ |
681 | SSHDLIBS="$SSHDLIBS -lsandbox" | 682 | SSHDLIBS="$SSHDLIBS -lsandbox" |
682 | ]) | 683 | ]) |
684 | # proc_pidinfo()-based closefrom() replacement. | ||
685 | AC_CHECK_HEADERS([libproc.h]) | ||
686 | AC_CHECK_FUNCS([proc_pidinfo]) | ||
683 | ;; | 687 | ;; |
684 | *-*-dragonfly*) | 688 | *-*-dragonfly*) |
685 | SSHDLIBS="$SSHDLIBS -lcrypt" | 689 | SSHDLIBS="$SSHDLIBS -lcrypt" |
@@ -817,7 +821,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) | |||
817 | AC_DEFINE([SYS_RDOMAIN_LINUX], [1], | 821 | AC_DEFINE([SYS_RDOMAIN_LINUX], [1], |
818 | [Support routing domains using Linux VRF]), [], [ | 822 | [Support routing domains using Linux VRF]), [], [ |
819 | #ifdef HAVE_SYS_TYPES_H | 823 | #ifdef HAVE_SYS_TYPES_H |
820 | # include <sys/types.H> | 824 | # include <sys/types.h> |
821 | #endif | 825 | #endif |
822 | ]) | 826 | ]) |
823 | AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], | 827 | AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [], |
@@ -948,7 +952,6 @@ mips-sony-bsd|mips-sony-newsos4) | |||
948 | conf_wtmp_location=/usr/adm/wtmp | 952 | conf_wtmp_location=/usr/adm/wtmp |
949 | maildir=/usr/spool/mail | 953 | maildir=/usr/spool/mail |
950 | AC_DEFINE([HAVE_NEXT], [1], [Define if you are on NeXT]) | 954 | AC_DEFINE([HAVE_NEXT], [1], [Define if you are on NeXT]) |
951 | AC_DEFINE([BROKEN_REALPATH]) | ||
952 | AC_DEFINE([USE_PIPES]) | 955 | AC_DEFINE([USE_PIPES]) |
953 | AC_DEFINE([BROKEN_SAVED_UIDS], [1], [Needed for NeXT]) | 956 | AC_DEFINE([BROKEN_SAVED_UIDS], [1], [Needed for NeXT]) |
954 | ;; | 957 | ;; |
@@ -1701,6 +1704,9 @@ AC_CHECK_FUNCS([ \ | |||
1701 | Blowfish_expandstate \ | 1704 | Blowfish_expandstate \ |
1702 | Blowfish_expand0state \ | 1705 | Blowfish_expand0state \ |
1703 | Blowfish_stream2word \ | 1706 | Blowfish_stream2word \ |
1707 | SHA256Update \ | ||
1708 | SHA384Update \ | ||
1709 | SHA512Update \ | ||
1704 | asprintf \ | 1710 | asprintf \ |
1705 | b64_ntop \ | 1711 | b64_ntop \ |
1706 | __b64_ntop \ | 1712 | __b64_ntop \ |
@@ -1753,6 +1759,7 @@ AC_CHECK_FUNCS([ \ | |||
1753 | llabs \ | 1759 | llabs \ |
1754 | login_getcapbool \ | 1760 | login_getcapbool \ |
1755 | md5_crypt \ | 1761 | md5_crypt \ |
1762 | memmem \ | ||
1756 | memmove \ | 1763 | memmove \ |
1757 | memset_s \ | 1764 | memset_s \ |
1758 | mkdtemp \ | 1765 | mkdtemp \ |
@@ -2024,32 +2031,6 @@ AC_CHECK_FUNCS([setresgid], [ | |||
2024 | ) | 2031 | ) |
2025 | ]) | 2032 | ]) |
2026 | 2033 | ||
2027 | AC_CHECK_FUNCS([realpath], [ | ||
2028 | dnl the sftp v3 spec says SSH_FXP_REALPATH will "canonicalize any given | ||
2029 | dnl path name", however some implementations of realpath (and some | ||
2030 | dnl versions of the POSIX spec) do not work on non-existent files, | ||
2031 | dnl so we use the OpenBSD implementation on those platforms. | ||
2032 | AC_MSG_CHECKING([if realpath works with non-existent files]) | ||
2033 | AC_RUN_IFELSE( | ||
2034 | [AC_LANG_PROGRAM([[ | ||
2035 | #include <limits.h> | ||
2036 | #include <stdlib.h> | ||
2037 | #include <errno.h> | ||
2038 | ]], [[ | ||
2039 | char buf[PATH_MAX]; | ||
2040 | if (realpath("/opensshnonexistentfilename1234", buf) == NULL) | ||
2041 | if (errno == ENOENT) | ||
2042 | exit(1); | ||
2043 | exit(0); | ||
2044 | ]])], | ||
2045 | [AC_MSG_RESULT([yes])], | ||
2046 | [AC_DEFINE([BROKEN_REALPATH], [1], | ||
2047 | [realpath does not work with nonexistent files]) | ||
2048 | AC_MSG_RESULT([no])], | ||
2049 | [AC_MSG_WARN([cross compiling: assuming working])] | ||
2050 | ) | ||
2051 | ]) | ||
2052 | |||
2053 | AC_MSG_CHECKING([for working fflush(NULL)]) | 2034 | AC_MSG_CHECKING([for working fflush(NULL)]) |
2054 | AC_RUN_IFELSE( | 2035 | AC_RUN_IFELSE( |
2055 | [AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(NULL); exit(0);]])], | 2036 | [AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(NULL); exit(0);]])], |
@@ -2876,16 +2857,9 @@ if test "x$openssl" = "xyes" ; then | |||
2876 | fi | 2857 | fi |
2877 | AC_CHECK_FUNCS([crypt DES_crypt]) | 2858 | AC_CHECK_FUNCS([crypt DES_crypt]) |
2878 | 2859 | ||
2879 | # Search for SHA256 support in libc and/or OpenSSL | 2860 | # Check for SHA256, SHA384 and SHA512 support in OpenSSL |
2880 | AC_CHECK_FUNCS([SHA256_Update EVP_sha256], , | 2861 | AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512]) |
2881 | [unsupported_algorithms="$unsupported_algorithms \ | 2862 | |
2882 | hmac-sha2-256 \ | ||
2883 | hmac-sha2-512 \ | ||
2884 | diffie-hellman-group-exchange-sha256 \ | ||
2885 | hmac-sha2-256-etm@openssh.com \ | ||
2886 | hmac-sha2-512-etm@openssh.com" | ||
2887 | ] | ||
2888 | ) | ||
2889 | # Search for RIPE-MD support in OpenSSL | 2863 | # Search for RIPE-MD support in OpenSSL |
2890 | AC_CHECK_FUNCS([EVP_ripemd160], , | 2864 | AC_CHECK_FUNCS([EVP_ripemd160], , |
2891 | [unsupported_algorithms="$unsupported_algorithms \ | 2865 | [unsupported_algorithms="$unsupported_algorithms \ |
@@ -3342,8 +3316,7 @@ AC_RUN_IFELSE( | |||
3342 | #include <stdlib.h> | 3316 | #include <stdlib.h> |
3343 | ]],[[ | 3317 | ]],[[ |
3344 | struct rlimit rl_zero; | 3318 | struct rlimit rl_zero; |
3345 | int fd, r; | 3319 | int r; |
3346 | fd_set fds; | ||
3347 | 3320 | ||
3348 | rl_zero.rlim_cur = rl_zero.rlim_max = 0; | 3321 | rl_zero.rlim_cur = rl_zero.rlim_max = 0; |
3349 | r = setrlimit(RLIMIT_NOFILE, &rl_zero); | 3322 | r = setrlimit(RLIMIT_NOFILE, &rl_zero); |
@@ -4627,9 +4600,9 @@ AC_ARG_WITH([mantype], | |||
4627 | ] | 4600 | ] |
4628 | ) | 4601 | ) |
4629 | if test -z "$MANTYPE"; then | 4602 | if test -z "$MANTYPE"; then |
4630 | TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" | 4603 | if ${MANDOC} ${srcdir}/ssh.1 >/dev/null 2>&1; then |
4631 | AC_PATH_PROGS([NROFF], [nroff awf], [/bin/false], [$TestPath]) | 4604 | MANTYPE=doc |
4632 | if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then | 4605 | elif ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then |
4633 | MANTYPE=doc | 4606 | MANTYPE=doc |
4634 | elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then | 4607 | elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then |
4635 | MANTYPE=man | 4608 | MANTYPE=man |