try pkg-config, fall back to conventional code.

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1843 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
aj 2004-07-19 19:37:42 +00:00
parent aeb9c47c7e
commit 16fc784ae9
2 changed files with 24 additions and 14 deletions

View File

@ -520,14 +520,14 @@ AM_CONDITIONAL(HAVE_SIA, test "x$SIA_MSG" = "xyes")
PCSC_MSG=no
pcsc_path=/usr
AC_SUBST(CFLAGS_PCSC)
AC_SUBST(LIBPCSC)
AC_SUBST(PCSC_CFLAGS)
AC_SUBST(PCSC_LIBS)
case "$host" in
*-*-darwin*)
PCSC_MSG=yes
CFLAGS_PCSC=""
LIBPCSC="-Wl,-framework,PCSC"
PCSC_CFLAGS=""
PCSC_LIBS="-Wl,-framework,PCSC"
;;
esac
@ -542,11 +542,15 @@ if test "x$pcsc_path" = "xno"; then
fi
if test "x$pcsc_path" != "xno" -a "x$PCSC_MSG" != "xyes"; then
AC_MSG_CHECKING(for PC/SC Lite support)
for pcscdir in /pcsc ""; do
PKG_CHECK_MODULES(PCSC, libpcscslite, [
PCSC_MSG="yes"
AC_MSG_RESULT($PCSC_MSG)
],[
for pcscdir in "" /pcsc /PCSC; do
CPPFLAGS="$saved_CPPFLAGS"
LDFLAGS="$saved_LDFLAGS"
LIBS="-lpcsclite $saved_LIBS"
CFLAGS_PCSC=""
PCSC_CFLAGS=""
for pcsc_libdir in $pcsc_path/lib$pcscdir \
$pcsc_path$pcscdir/lib \
@ -563,12 +567,12 @@ if test "x$pcsc_path" != "xno" -a "x$PCSC_MSG" != "xyes"; then
$pcsc_path$pcscdir/include \
$pcsc_path$pcscdir; do
if test -d $pcsc_incdir; then
CFLAGS_PCSC="-I${pcsc_incdir}"
PCSC_CFLAGS="-I${pcsc_incdir}"
break;
fi
done
CPPFLAGS="${CFLAGS_PCSC} ${CPPFLAGS}"
CPPFLAGS="${PCSC_CFLAGS} ${CPPFLAGS}"
AC_TRY_LINK([#include <stdlib.h>
#include <winscard.h>],[SCardEstablishContext(0, NULL, NULL, NULL);], ac_cv_lib_pcsclite_SCardEstablishContext=yes)
if test "x$ac_cv_lib_pcsclite_SCardEstablishContext" = "xyes"; then
@ -578,21 +582,22 @@ if test "x$pcsc_path" != "xno" -a "x$PCSC_MSG" != "xyes"; then
CPPFLAGS="$saved_CPPFLAGS"
LDFLAGS="$saved_LDFLAGS"
LIBS="$saved_LIBS"
CFLAGS_PCSC=""
PCSC_CFLAGS=""
done
AC_MSG_RESULT($PCSC_MSG)
if test "x$PCSC_MSG" = "xyes" ; then
LIBPCSC="-lpcsclite"
PCSC_LIBS="-lpcsclite"
CPPFLAGS="$saved_CPPFLAGS"
LIBS="$saved_LIBS"
fi
])
fi
AM_CONDITIONAL(HAVE_PCSC, test "x$PCSC_MSG" = "xyes")
if test "x$PCSC_MSG" = "xyes"; then
AC_DEFINE(HAVE_PCSC, 1, [Have PC/SC implementation])
else
LIBPCSC=""
CFLAGS_PCSC=""
PCSC_LIBS=""
PCSC_CFLAGS=""
fi
OPENCT_MSG=no
@ -612,6 +617,10 @@ if test "x$openct_path" = "xno"; then
fi
if test "x$openct_path" != "xno" -a "x$OPENCT_MSG" != "xyes"; then
AC_MSG_CHECKING(for OpenCT support)
PKG_CHECK_MODULES(OPENCT, libopenct, [
OPENCT_MSG="yes"
AC_MSG_RESULT($OPENCT_MSG)
], [
CPPFLAGS="$saved_CPPFLAGS"
LDFLAGS="$saved_LDFLAGS"
LIBS="$saved_LIBS"
@ -634,6 +643,7 @@ if test "x$openct_path" != "xno" -a "x$OPENCT_MSG" != "xyes"; then
CFLAGS="$saved_CFLAGS"
LDFLAGS="$saved_LDFLAGS"
LIBS="$saved_LIBS"
])
fi
AM_CONDITIONAL(HAVE_OPENCT, test "x$OPENCT_MSG" = "xyes")

View File

@ -6,7 +6,7 @@ MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = Makefile.mak libopensc.pc.in
INCLUDES = @CPPFLAGS@ @OPENCT_CFLAGS@ @CFLAGS_PCSC@
INCLUDES = @CPPFLAGS@ @OPENCT_CFLAGS@ @PCSC_CFLAGS@
LDFLAGS = @LDFLAGS@ @OPENCT_LDFLAGS@
bin_SCRIPTS = opensc-config
@ -32,7 +32,7 @@ libopensc_la_SOURCES = \
pkcs15-openpgp.c pkcs15-infocamere.c pkcs15-starcert.c \
pkcs15-netkey.c pkcs15-esteid.c
libopensc_la_LDFLAGS = -version-info @OPENSC_LT_CURRENT@:@OPENSC_LT_REVISION@:@OPENSC_LT_AGE@
libopensc_la_LIBADD = @LIBSCCONF@ ../scdl/libscdl.la @LIBDL@ @LIBCRYPTO@ @OPENCT_LIBS@ @LIBPCSC@
libopensc_la_LIBADD = @LIBSCCONF@ ../scdl/libscdl.la @LIBDL@ @LIBCRYPTO@ @OPENCT_LIBS@ @PCSC_LIBS@
include_HEADERS = \
opensc.h pkcs15.h emv.h \