diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-11-17 18:53:09 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-11-17 18:53:09 +0100 |
commit | 3aa7180202aeae701a61331619e51888082f19fb (patch) | |
tree | 368e26b6cba6bd9103070b16260eeea7aaf5a911 | |
parent | ba0722400127fb8f0c7156a485a0c0b4052c2020 (diff) |
build-sys: add nss/winscard backend selection
-rw-r--r-- | Makefile.am | 14 | ||||
-rw-r--r-- | configure.ac | 36 |
2 files changed, 44 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am index 32a9375..20d46f8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,15 +2,12 @@ NULL = INCLUDES= \ -I. \ - $(NSS_CFLAGS) \ - $(PCSC_CFLAGS) \ $(USE_PASSTHRU) \ $(NULL) lib_LTLIBRARIES = libcacard.la libcacard_la_LIBADD = \ - $(NSS_LIBS) \ $(PCSC_LIBS) \ $(NULL) @@ -20,12 +17,21 @@ libcacard_la_SOURCES= \ card_7816.c \ event.c \ passthru.c \ - vcard_emul_nss.c \ vcard_emul_type.c \ vcard.c \ vreader.c \ $(NULL) +if WITH_NSS +libcacard_la_SOURCES += vcard_emul_nss.c +libcacard_la_LIBADD += $(NSS_LIBS) +INCLUDES += $(NSS_CFLAGS) +endif + +if WITH_WINSCARD +libcacard_la_SOURCES += vcard_emul_winscard.c +endif + libcacardincludedir = $(includedir)/cacard libcacardinclude_HEADERS = \ diff --git a/configure.ac b/configure.ac index 5436371..66b1a18 100644 --- a/configure.ac +++ b/configure.ac @@ -32,10 +32,42 @@ CAC_CARD_NONPKGCONFIG_LIBS+=" -pthread" CAC_CARD_REQUIRES="" -PKG_CHECK_MODULES(NSS, nss) +AC_ARG_WITH([backend], + AS_HELP_STRING([--with-backend=@<:@nss/winscard@:>@], [Select backend @<:@default=nss@:>@]), + [], + [with_backend="nss"]) + +case "$with_backend" in + winscard|nss*) + ;; + *) AC_MSG_ERROR(Unsupported backend) +esac + +AS_IF([test "x$with_backend" = "xnss"], + [PKG_CHECK_MODULES(NSS, nss, [have_nss=yes], [have_nss=no])], + [have_nss=no]) + +AS_IF([test "x$have_nss" = "xyes"], + [AC_DEFINE([WITH_NSS], 1, [Have nss?])], + [AS_IF([test "x$with_backend" = "xnss"], + [AC_MSG_ERROR([NSS requested but not found]) + ]) +]) +AM_CONDITIONAL([WITH_NSS], [test "x$have_nss" = "xyes"]) AC_SUBST(NSS_CFLAGS) AC_SUBST(NSS_LIBS) -CAC_CARD_REQUIRES+=" nss" + +AS_IF([test "x$with_backend" = "xwinscard"], + [AC_CHECK_HEADER([winscard.h], [have_winscard=yes], [have_winscard=no])], + [have_winscard=no]) + +AS_IF([test "x$have_winscard" = "xyes"], + [AC_DEFINE([WITH_WINSCARD], 1, [Have winscard?])], + [AS_IF([test "x$with_backend" = "xwinscard"], + [AC_MSG_ERROR([WinSCard requested but not found]) + ]) +]) +AM_CONDITIONAL([WITH_WINSCARD], [test "x$have_winscard" = "xyes"]) AS_IF([test "$_cflags_is_set" = "yes"], [], [ |