This library provides a simple and nice C++ wrapper around these libraries, so that programmers can concentrate on functionality. It offers general support for PCSC-lite, OpenSSL, PKCS#11, plus specific functionality for the SuisseID.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

73 lines
2.4 KiB

# $Id$
m4_define(x_package_name, libpcscxx)
m4_define(x_major, 4)
m4_define(x_minor, 0)
m4_define(x_least_diff, 423)
m4_include(ax_init_standard_project.m4)
AC_INIT(x_package_name, x_version, x_bugreport, x_package_name)
AM_INIT_AUTOMAKE([1.9 tar-pax])
AX_INIT_STANDARD_PROJECT
# languages
AX_USE_CXX_11
AX_USE_LIBTOOL
AX_USE_DOXYGEN
AX_USE_DEBIAN_PACKAGING
AX_USE_RPM_PACKAGING
#AX_USE_CPPUNIT
AX_BUILD_EXAMPLES
# special optional library download
AC_ARG_ENABLE(pkcs11-download,
[AS_HELP_STRING([--enable-pkcs11-download],
[download pkcs11 header])],
[download_pkcs11="$enableval"],
[if test -z "$MINGW"; then download_pkcs11="no"; else download_pkcs11="yes"; fi])
if test "$download_pkcs11" != "no"; then
AC_MSG_NOTICE([downloading pkcs11 library headers])
test -d ${prefix}/include || mkdir -p ${prefix}/include
cd ${prefix}/include
PKCS11_SOURCES=https://www.cryptsoft.com/pkcs11doc/STANDARD/include/v211
for f in $(wget -qO- ${PKCS11_SOURCES} 2>&1 | html2 | sed -n 's,.*/a/@href=\(.*\.h\)$,\1,gp'); do
if test -f "${f##*/}"; then
rm "${f##*/}"
fi
wget --unlink ${PKCS11_SOURCES}/${f}
if ! test -f "${f##*/}"; then
AC_MSG_ERROR([download failed of pkcs11 header file: $f])
fi
done
if ! test -f cryptoki.h; then
AC_MSG_ERROR([download failed of pkcs11 headers - have you installed xml2?])
fi
AM_CPPFLAGS+=" -I$(pwd)"
cd -
fi
# qt features
AX_CHECK_QT([QTGUI], [QtCore QtGui], [QtWidgets])
AX_CHECK_QT([QTNETWORK], [Qt5Network >= 5.2])
CPPFLAGS="${CPPFLAGS} -DQT_NO_KEYWORDS"
# libraries used
if test -z "$MINGW"; then
AX_PKG_REQUIRE([pcsc], [libpcsclite], [pcsclite.h], [lib64pcsclite lib64pcsclite1 libpcsclite pcsc-lite])
AX_PKG_REQUIRE([pkcs11], [p11-kit-1], [pkcs11.h], [lib64p11-kit p11-kit libgnutls28 gnutls libpkcs11-helper1 libpkcs11-helper-1])
AX_PKG_REQUIRE([ssl], [libssl], [openssl/crypto.h], [lib64openssl openssl libopenssl])
AX_PKG_REQUIRE([crypto], [libcrypto], [openssl/crypto.h], [lib64openssl libssl openssl libopenssl])
else
LDFLAGS+=" -lwinscard -lssl -lcrypto"
fi
AX_PKG_REQUIRE([mrwcxx], [mrw-c++], [mrw/checkcxx11.hxx])
# create output
AX_OUTPUT
if test "${HAVE_QTGUI}" -ne 1; then
AC_MSG_WARN([QtGui not found, ${HAVE_QTGUI} Qt GUI features disabled])
fi
if test "${HAVE_QTNETWORK}" -ne 1; then
AC_MSG_WARN([QtNetwork5 not found, ${HAVE_QTNETWORK} Qt Network features disabled])
fi