+PKG_CHECK_MODULES([PCSC], [libpcsclite])
+CPPFLAGS="$PCSC_CFLAGS $CPPFLAGS"
+LIBS="$PCSC_LIBS $LIBS"
+
+PKG_CHECK_MODULES([OPENSSL], [libcrypto], [], [:])
+AS_IF([test "x$OPENSSL_CFLAGS" != "x" -o "x$OPENSSL_LIBS" != "x" ], [
+ use_openssl=yes
+])
+CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS"
+LIBS="$OPENSSL_LIBS $LIBS"
+
+AC_ARG_ENABLE(tomcrypt,
+ [ --enable-tomcrypt use libtomcrypt even when openssl is present])
+
+AS_IF([test "x$use_openssl" != "xyes" -o "x$enable_tomcrypt" = "xyes"], [
+ PKG_CHECK_MODULES([TOMCRYPT], [libtomcrypt], [], [:])
+])
+AS_IF([test "x$TOMCRYPT_CFLAGS" != "x" -o "x$TOMCRYPT_LIBS" != "x" ], [
+ use_tomcrypt=yes
+])
+CPPFLAGS="$TOMCRYPT_CFLAGS $CPPFLAGS"
+LIBS="$TOMCRYPT_LIBS $LIBS"
+
+AC_ARG_ENABLE(gcrypt,
+ [ --enable-gcrypt use libgcrypt even when openssl or libtomcrypt
+ is present])
+
+AS_IF([test "x$use_openssl" != "xyes" && test "x$use_tomcrypt" != "xyes" || \
+ test "x$enable_tomcrypt" = "xyes"], [
+ AM_PATH_LIBGCRYPT()
+])
+AS_IF([test "x$LIBGCRYPT_CFLAGS" != "x" -o "x$LIBGCRYPT_LIBS" != "x" ], [
+ use_gcrypt=yes
+])
+CPPFLAGS="$LIBGCRYPT_CFLAGS $CPPFLAGS"
+LIBS="$LIBGCRYPT_LIBS $LIBS"
+
+AS_IF([test "x$use_openssl" != "xyes" -a "x$use_tomcrypt" != "xyes" -a "x$use_gcrypt" != "xyes"], [
+ AC_MSG_ERROR([[Neither openssl, tomcrypt or gcrypt libraries present]])
+])
+
+AS_IF([test "x$use_openssl" = "xyes"], [
+ CRYPTO_OBJS+=" ossl_crypto.lo"
+ AC_DEFINE([HAVE_OPENSSL], [1], [Use openssl libcrypto])
+])
+AS_IF([test "x$use_tomcrypt" = "xyes"], [
+ CRYPTO_OBJS+=" tom_crypto.lo"
+ AC_DEFINE([HAVE_TOMCRYPT], [1], [Use libtomcrypt])
+])
+AS_IF([test "x$use_gcrypt" = "xyes"], [
+ CRYPTO_OBJS+=" gnu_crypto.lo"
+ AC_DEFINE([HAVE_GCRYPT], [1], [Use libgcrypt])
+])
+AC_SUBST(CRYPTO_OBJS)