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.
71 lines
2.4 KiB
71 lines
2.4 KiB
# $Id$ |
|
|
|
m4_define(x_package_name, libpcscxx) |
|
m4_define(x_major, 3) |
|
m4_define(x_minor, 4) |
|
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 |
|
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 |
|
for f in $(wget -qO- ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/ 2>&1 | html2 | sed -n 's,.*/a/@href=\(.*\.h\)$,\1,gp'); do |
|
if test -f "${f##*/}"; then |
|
rm "${f##*/}" |
|
fi |
|
wget --unlink $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], [], [], [DEV_DIST_PKG=libpcsclite;DEV_RPM_DIST_PKG=pcsc-lite-devel]) |
|
AX_PKG_REQUIRE([pkcs11], [p11-kit-1], [pkcs11.h], [p11-kit libpkcs11-helper-1 libp11], [], [DEV_DIST_PKG=pkcs11-helper;DEV_DEB_DIST_PKG=libpkcs11-helper1-dev]) |
|
AX_PKG_REQUIRE([ssl], [libssl], [openssl/crypto.h], [openssl], [], [DEV_RPM_DIST_PKG=libopenssl-devel]) |
|
AX_PKG_REQUIRE([crypto], [libcrypto], [openssl/crypto.h], [openssl], [], [DEV_DIST_PKG=libssl;DEV_RPM_DIST_PKG=libopenssl-devel]) |
|
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
|
|
|