AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no])
LIB_SUBST_FLAGS(osl)
UNSTASH_FLAGS
-########################################################################### crypto
+######################################################################## openssl
+STASH_FLAGS
+HAVE_OPENSSL=yes
+LIB_ARG_WITH([openssl], [-lssl -lcrypto])
+AC_CHECK_HEADER(openssl/ssl.h, [], [HAVE_OPENSSL=no])
+AC_CHECK_LIB([crypto], [RAND_bytes], [], [HAVE_OPENSSL=no])
+LIB_SUBST_FLAGS(openssl)
+UNSTASH_FLAGS
+######################################################################### gcrypt
+STASH_FLAGS
+HAVE_GCRYPT=yes
+LIB_ARG_WITH([gcrypt], [-lgcrypt])
+AC_CHECK_HEADER(gcrypt.h, [], [HAVE_GCRYPT=no])
+AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [HAVE_GCRYPT=no])
+LIB_SUBST_FLAGS(gcrypt)
+UNSTASH_FLAGS
+######################################################################### crypto
AC_ARG_ENABLE(cryptolib, [AS_HELP_STRING(--enable-cryptolib=lib, [
Force using crypto library "lib". This package requires either
openssl or libgcrypt being installed. Possible values for "lib"
openssl is tried first. If openssl was not found, gcrypt is
tried next.])])
+CRYPTOLIB="$enable_cryptolib"
case "$enable_cryptolib" in
- "openssl") check_openssl="yes"; check_gcrypt="no";;
- "gcrypt") check_openssl="no"; check_gcrypt="yes";;
- "") check_openssl="yes"; check_gcrypt="yes";;
- *) AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib]);;
-esac
-###################################################################### openssl
-if test "$check_openssl" = "yes"; then
- OLD_CPPFLAGS="$CPPFLAGS"
- OLD_LDFLAGS="$LDFLAGS"
- OLD_LIBS="$LIBS"
- have_openssl="yes"
- AC_ARG_WITH(openssl_headers, [AS_HELP_STRING(--with-openssl-headers=dir,
- [look for openssl headers also in dir])])
- if test -n "$with_openssl_headers"; then
- openssl_cppflags="-I$with_openssl_headers"
- CPPFLAGS="$CPPFLAGS $openssl_cppflags"
+"openssl")
+ test $HAVE_OPENSSL = no && AC_MSG_ERROR(openssl not found)
+ crypto_ldflags="$openssl_ldflags"
+ ;;
+"gcrypt")
+ test $HAVE_GCRYPT = no && AC_MSG_ERROR(gcrypt not found)
+ crypto_ldflags="$gcrypt_ldflags"
+ ;;
+"")
+ crypto_ldflags=
+ if test $HAVE_GCRYPT = yes; then
+ CRYPTOLIB=gcrypt
+ crypto_ldflags="$gcrypt_ldflags"
fi
- AC_ARG_WITH(openssl_libs, [AS_HELP_STRING(--with-openssl-libs=dir,
- [look for openssl libraries also in dir])])
- if test -n "$with_openssl_libs"; then
- openssl_libs="-L$with_openssl_libs"
- LDFLAGS="$LDFLAGS $openssl_libs"
+ if test $HAVE_OPENSSL = yes; then
+ CRYPTOLIB=openssl
+ crypto_ldflags="$openssl_ldflags"
fi
- AC_CHECK_HEADER(openssl/ssl.h, [], [have_openssl="no"])
- AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
- if test "$have_openssl" = "no" -a -z "$with_openssl_headers$with_openssl_libs"; then
- # try harder: openssl is sometimes installed in /usr/local/ssl
- openssl_cppflags="-I/usr/local/ssl/include"
- CPPFLAGS="$CPPFLAGS $openssl_cppflags"
- openssl_libs="-L/usr/local/ssl/lib"
- LDFLAGS="$LDFLAGS $openssl_libs"
- # clear cache
- unset ac_cv_header_openssl_ssl_h 2> /dev/null
- unset ac_cv_lib_crypto_RAND_bytes 2> /dev/null
- AC_CHECK_HEADER(openssl/ssl.h, [have_openssl="yes"], [])
- if test "$have_openssl" = "yes"; then
- AC_CHECK_LIB([crypto], [RAND_bytes], [], [have_openssl="no"])
- fi
- fi
- if test "$have_openssl" = "yes"; then
- AC_DEFINE(HAVE_OPENSSL, 1, [define to 1 to turn on openssl support])
- AC_SUBST(openssl_cppflags)
- openssl_ldflags="$openssl_libs -lssl -lcrypto"
- AC_SUBST(openssl_ldflags)
-
- check_gcrypt="no"
- else
- AC_MSG_WARN([openssl libraries not found])
- fi
- CPPFLAGS="$OLD_CPPFLAGS"
- LDFLAGS="$OLD_LDFLAGS"
- LIBS="$OLD_LIBS"
-else
- have_openssl="no"
-fi
-########################################################################### gcrypt
-if test "$check_gcrypt" = "yes"; then
- OLD_CPPFLAGS="$CPPFLAGS"
- OLD_LDFLAGS="$LDFLAGS"
- OLD_LIBS="$LIBS"
- have_gcrypt="yes"
- AC_ARG_WITH(gcrypt_headers, [AS_HELP_STRING(--with-gcrypt-headers=dir,
- [look for gcrypt headers also in dir])])
- if test -n "$with_gcrypt_headers"; then
- gcrypt_cppflags="-I$with_gcrypt_headers"
- CPPFLAGS="$CPPFLAGS $gcrypt_cppflags"
- fi
- AC_ARG_WITH(gcrypt_libs, [AS_HELP_STRING(--with-gcrypt-libs=dir,
- [look for libgcrypt also in dir])])
- if test -n "$with_gcrypt_libs"; then
- gcrypt_libs="-L$with_gcrypt_libs"
- LDFLAGS="$LDFLAGS $gcrypt_libs"
- fi
- AC_CHECK_HEADER(gcrypt.h, [], [have_gcrypt="no"])
- AC_CHECK_LIB([gcrypt], [gcry_randomize], [], [have_gcrypt="no"])
- if test "$have_gcrypt" = "yes"; then
- AC_DEFINE(HAVE_GCRYPT, 1, [define to 1 to turn on gcrypt support])
- AC_SUBST(gcrypt_cppflags)
- gcrypt_ldflags="$gcrypt_libs -lgcrypt"
- AC_SUBST(gcrypt_ldflags)
- else
- AC_MSG_WARN([gcrypt library not found])
- fi
- CPPFLAGS="$OLD_CPPFLAGS"
- LDFLAGS="$OLD_LDFLAGS"
- LIBS="$OLD_LIBS"
-else
- have_gcrypt="no"
-fi
+ ;;
+*)
+ AC_MSG_ERROR([invalid value "$enable_cryptolib" for --enable-cryptolib])
+ ;;
+esac
+AC_SUBST(crypto_ldflags)
########################################################################### libsocket
AC_CHECK_LIB([c], [socket],
[socket_ldlflags=],
LDFLAGS="$OLD_LDFLAGS"
LIBS="$OLD_LIBS"
######################################################################### server
-if test \( "$have_openssl" = "yes" -o "$have_gcrypt" = "yes" \) \
- -a "$HAVE_OSL" = "yes" ; then
-
+if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then
build_server="yes"
executables="$executables server"
server_cmdline_objs="server"
version
ggo
"
- if test "$have_openssl" = "yes"; then
+ if test "$CRYPTOLIB" = openssl; then
server_errlist_objs="$server_errlist_objs crypt"
- fi
- if test "$have_gcrypt" = "yes"; then
+ else
server_errlist_objs="$server_errlist_objs gcrypt"
fi
NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
build_server="no"
fi
############################################################# client
-if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
+if test -n "$CRYPTOLIB"; then
build_client="yes"
executables="$executables client"
client_cmdline_objs="client"
version
ggo
"
- if test "$have_openssl" = "yes"; then
+ if test "$CRYPTOLIB" = openssl; then
client_errlist_objs="$client_errlist_objs crypt"
- fi
- if test "$have_gcrypt" = "yes"; then
+ else
client_errlist_objs="$client_errlist_objs gcrypt"
fi
if test "$have_readline" = "yes"; then
build_client="no"
fi
############################################################# audiod
-if test "$have_openssl" = "yes" -o "$have_gcrypt" = "yes"; then
+if test -n "$CRYPTOLIB"; then
build_audiod="yes"
executables="$executables audiod"
audiod_audio_formats="wma"
buffer_tree
sync_filter
"
- if test "$have_openssl" = "yes"; then
+ if test "$CRYPTOLIB" = openssl; then
audiod_errlist_objs="$audiod_errlist_objs crypt"
- fi
- if test "$have_gcrypt" = "yes"; then
+ else
audiod_errlist_objs="$audiod_errlist_objs gcrypt"
fi
if test "$have_core_audio" = "yes"; then
AC_MSG_NOTICE([
paraslash configuration:
~~~~~~~~~~~~~~~~~~~~~~~~
+crypto lib: ${CRYPTOLIB:-[none]}
unix socket credentials: $have_ucred
readline (interactive CLIs): $have_readline
audio formats handlers: $audio_format_handlers