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
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
|
|
|