Skip to content

Commit e238eab

Browse files
committed
Autoconf Update
1. Update the version requirements of libtool, automake, and autoconf to version contemporary to the first release of wolfSSH. 2. Group all checks of `ENABLED_TPM` into one `AS_IF`. 3. Group all checks of `ENABLED_SSHD` into one `AS_IF`. 4. Replace `if` and `case` with `AS_IF` and `AS_CASE`.
1 parent 8c0c7fd commit e238eab

1 file changed

Lines changed: 31 additions & 50 deletions

File tree

configure.ac

Lines changed: 31 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44

55
AC_COPYRIGHT([Copyright (C) 2014-2024 wolfSSL Inc.])
66
AC_INIT([wolfssh],[1.4.20],[support@wolfssl.com],[wolfssh],[https://www.wolfssl.com])
7-
AC_PREREQ([2.63])
7+
AC_PREREQ([2.69])
88
AC_CONFIG_AUX_DIR([build-aux])
99

1010
: ${CFLAGS=""}
1111

1212
AC_CANONICAL_HOST
1313
AC_CANONICAL_TARGET
1414

15-
AM_INIT_AUTOMAKE([1.11 -Wall -Werror -Wno-portability foreign tar-ustar subdir-objects no-define color-tests])
15+
AM_INIT_AUTOMAKE([1.14.1 -Wall -Werror -Wno-portability foreign tar-ustar subdir-objects no-define color-tests])
1616

1717
AC_ARG_PROGRAM
1818
AC_CONFIG_MACRO_DIR([m4])
@@ -33,7 +33,7 @@ WOLFSSH_LIBRARY_VERSION=17:2:10
3333
# or changed
3434
AC_SUBST([WOLFSSH_LIBRARY_VERSION])
3535

36-
LT_PREREQ([2.2])
36+
LT_PREREQ([2.4.3])
3737
LT_INIT([disable-static win32-dll])
3838

3939
gl_VISIBILITY
@@ -181,11 +181,6 @@ AC_ARG_ENABLE([tpm],
181181
[AS_HELP_STRING([--enable-tpm],[Enable TPM 2.0 support (default: disabled)])],
182182
[ENABLED_TPM=$enableval],[ENABLED_TPM=no])
183183

184-
if test "$ENABLED_TPM" != "no"
185-
then
186-
AC_CHECK_LIB([wolftpm],[wolfTPM2_Init],,[AC_MSG_ERROR([libwolftpm is required for ${PACKAGE}. It can be obtained from https://www.wolfssl.com/download.html/ .])])
187-
fi
188-
189184
# smallstack
190185
AC_ARG_ENABLE([smallstack],
191186
[AS_HELP_STRING([--enable-smallstack],[Enable small stack (default: disabled)])],
@@ -238,51 +233,37 @@ AS_IF([test "x$ENABLED_CERTS" = "xyes"],
238233
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_CERTS"])
239234
AS_IF([test "x$ENABLED_SMALLSTACK" = "xyes"],
240235
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_SMALL_STACK"])
241-
AS_IF([test "x$ENABLED_SSHD" = "xyes"],
242-
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_SSHD"])
243236
AS_IF([test "x$ENABLED_SSHCLIENT" = "xyes"],
244237
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_SSHCLIENT"])
245238
AS_IF([test "x$ENABLED_TPM" = "xyes"],
246-
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_TPM"])
247-
248-
if test "$ENABLED_SSHD" = "yes"; then
249-
if test -n "$PAM_LIB"
250-
then
251-
AC_MSG_CHECKING([for directory $PAM_LIB])
252-
if ! test -d "$PAM_LIB"
253-
then
254-
AC_MSG_ERROR([PAM lib dir $PAM_LIB not found.])
255-
fi
256-
AC_MSG_RESULT([yes])
257-
AM_LDFLAGS="-L$PAM_LIB $AM_LDFLAGS"
258-
259-
LIBS="$LIBS -lpam"
260-
AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_USE_PAM"
261-
#TODO check on link to lib
262-
#AC_CHECK_LIB([pam], [pam],
263-
# [AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_USE_PAM"; LIBS="$LIBS -lpam"],
264-
# [AC_MSG_ERROR(libpam not found)])
265-
else
266-
case $host in
267-
*qnx*)
268-
# QNX uses liblogin for crypt operation
269-
AC_CHECK_LIB([login], [login],
270-
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBLOGIN";
271-
LIBS="$LIBS -llogin"],
272-
[AC_MSG_ERROR(liblogin not found)])
273-
;;
274-
*darwin*)
275-
AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBCRYPT"
276-
;;
277-
*)
278-
AC_CHECK_LIB([crypt], [crypt],
279-
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBCRYPT";
280-
LIBS="$LIBS -lcrypt"],
281-
[AC_MSG_ERROR(libcrypt not found)])
282-
esac
283-
fi
284-
fi
285-
239+
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_TPM"
240+
AC_CHECK_LIB([wolftpm],[wolfTPM2_Init],,[AC_MSG_ERROR([libwolftpm is required for ${PACKAGE}. It can be obtained from https://www.wolfssl.com/download.html/ .])])])
241+
AS_IF([test "x$ENABLED_SSHD" = "xyes"],[
242+
AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_SSHD"
243+
AS_IF([test -n "$PAM_LIB"],[
244+
AC_MSG_CHECKING([for directory $PAM_LIB])
245+
AS_IF([! test -d "$PAM_LIB"],[AC_MSG_ERROR([PAM lib dir $PAM_LIB not found.])])
246+
AC_MSG_RESULT([yes])
247+
AM_LDFLAGS="-L$PAM_LIB $AM_LDFLAGS"
248+
LIBS="$LIBS -lpam"
249+
AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_USE_PAM"
250+
#TODO check on link to lib
251+
#AC_CHECK_LIB([pam], [pam],
252+
# [AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_USE_PAM"; LIBS="$LIBS -lpam"],
253+
# [AC_MSG_ERROR(libpam not found)])
254+
],[
255+
AS_CASE([$host],
256+
[*qnx*],[
257+
# QNX uses liblogin for crypt operation
258+
AC_CHECK_LIB([login],[login],
259+
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBLOGIN"; LIBS="$LIBS -llogin"],
260+
[AC_MSG_ERROR(liblogin not found)])],
261+
[*darwin*],[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBCRYPT"],
262+
[AC_CHECK_LIB([crypt],[crypt],
263+
[AM_CPPFLAGS="$AM_CPPFLAGS -DWOLFSSH_HAVE_LIBCRYPT"; LIBS="$LIBS -lcrypt"],
264+
[AC_MSG_ERROR(libcrypt not found)])])
265+
])
266+
])
286267
287268
# Set the automake conditionals.
288269
AM_CONDITIONAL([BUILD_EXAMPLE_SERVERS],[test "x$ENABLED_EXAMPLES" = "xyes"])

0 commit comments

Comments
 (0)