You need an available winscard.h on the platform. The followings must be availbale: - test -z "${PCSC_CFLAGS}" && PCSC_CFLAGS="-I/usr/include/PCSC" - AC_CHECK_HEADERS([winscard.h],,[test "${WIN32}" != "yes" && AC_MSG_ERROR([winscard.h is required for pcsc])])
Maybe you should have different default PCSC_CFLAGS for these platforms? So just modify this: - test -z "${PCSC_CFLAGS}" && PCSC_CFLAGS="-I/usr/include/PCSC" Alon. On 12/11/08, Martin Paljak <[EMAIL PROTECTED]> wrote: > This breaks OS X/Darwin. > > I thus changed it to what is attached. > > > > > > m. > > On 27.10.2008, at 21:16, [EMAIL PROTECTED] wrote: > > > > Revision: 3590 > > Author: alonbl > > Date: 2008-10-27 20:16:28 +0100 (Mon, 27 Oct 2008) > > > > Log Message: > > ----------- > > Re-add pcsc-lite compile-time dependency > > > > Win64 changed the SCARDCONTEXT from LONG to ULONG_PTR, > > pcsc-lite did not follow this on 64bit platforms. > > This breaks the pcsc module. > > > > To solve this we use installed winscard.h in order to get proper > > declerations. > > > > As mingw32 does not have winscard.h we keep current types. mingw64 and > > pcsc-lite system have winscard.h. > > > > Modified Paths: > > -------------- > > trunk/configure.ac > > trunk/src/libopensc/Makefile.am > > trunk/src/libopensc/internal-winscard.h > > Modified: trunk/configure.ac > > > =================================================================== > > --- trunk/configure.ac 2008-10-26 19:13:14 UTC (rev 3589) > > +++ trunk/configure.ac 2008-10-27 19:16:28 UTC (rev 3590) > > @@ -490,7 +490,17 @@ > > fi > > > > if test "${enable_pcsc}" = "yes"; then > > - AC_DEFINE([ENABLE_PCSC], [1], [Define if PC/SC is to be enabled]) > > + AC_ARG_VAR([PCSC_CFLAGS], [C compiler flags for pcsc]) > > + if test "${WIN32}" != "yes"; then > > + test -z "${PCSC_CFLAGS}" && > PCSC_CFLAGS="-I/usr/include/PCSC" > > + fi > > + > > + saved_CFLAGS="${CFLAGS}" > > + CFLAGS="${CFLAGS} ${PCSC_CFLAGS}" > > + # We must cope with mingw32 that does not have winscard.h mingw64 > has it. > > + AC_CHECK_HEADERS([winscard.h],,[test "${WIN32}" > != "yes" && AC_MSG_ERROR([winscard.h is required for pcsc])]) > > + CFLAGS="${saved_CFLAGS}" > > + > > if test "${with_pcsc_provider}" = "detect"; then > > case "${host}" in > > *-*-darwin*) > > @@ -507,6 +517,7 @@ > > > DEFAULT_PCSC_PROVIDER="${with_pcsc_provider}" > > fi > > AC_DEFINE_UNQUOTED([DEFAULT_PCSC_PROVIDER], > ["${DEFAULT_PCSC_PROVIDER}"], [Default PC/SC provider]) > > + AC_DEFINE([ENABLE_PCSC], [1], [Define if PC/SC is to be enabled]) > > fi > > > > dnl AM_PATH_LIBASSUAN([MINIMUM-VERSION, > > @@ -545,7 +556,10 @@ > > OPTIONAL_OPENCT_CFLAGS="${OPENCT_CFLAGS}" > > OPTIONAL_OPENCT_LIBS="${OPENCT_LIBS}" > > fi > > -test "${enable_pcsc}" = "yes" && > OPENSC_FEATURES="${OPENSC_FEATURES} > pcsc(${DEFAULT_PCSC_PROVIDER})" > > +if test "${enable_pcsc}" = "yes"; then > > + OPENSC_FEATURES="${OPENSC_FEATURES} > pcsc(${DEFAULT_PCSC_PROVIDER})" > > + OPTIONAL_PCSC_CFLAGS="${PCSC_CFLAGS}" > > +fi > > test "${enable_nsplugin}" = "yes" && > OPENSC_FEATURES="${OPENSC_FEATURES} nsplugin" > > > > AC_DEFINE_UNQUOTED([OPENSC_ETC_PATH], > ["${full_sysconfdir}"], [etc path for libopensc]) > > @@ -579,6 +593,7 @@ > > AC_SUBST([OPTIONAL_OPENSSL_LIBS]) > > AC_SUBST([OPTIONAL_OPENCT_CFLAGS]) > > AC_SUBST([OPTIONAL_OPENCT_LIBS]) > > +AC_SUBST([OPTIONAL_PCSC_CFLAGS]) > > > > AM_CONDITIONAL([SVN_CHECKOUT], [test "${svn_checkout}" = "yes"]) > > AM_CONDITIONAL([ENABLE_MAN], [test "${enable_man}" = "yes"]) > > @@ -671,6 +686,7 @@ > > OPENSSL_LIBS: ${OPENSSL_LIBS} > > OPENCT_CFLAGS: ${OPENCT_CFLAGS} > > OPENCT_LIBS: ${OPENCT_LIBS} > > +PCSC_CFLAGS: ${PCSC_CFLAGS} > > LIBASSUAN_CFLAGS: ${LIBASSUAN_CFLAGS} > > LIBASSUAN_LIBS: ${LIBASSUAN_LIBS} > > > > > > Modified: trunk/src/libopensc/Makefile.am > > > =================================================================== > > --- trunk/src/libopensc/Makefile.am 2008-10-26 > 19:13:14 UTC (rev 3589) > > +++ trunk/src/libopensc/Makefile.am 2008-10-27 > 19:16:28 UTC (rev 3590) > > @@ -16,7 +16,7 @@ > > pkgconfig_DATA = libopensc.pc libpkcs15init.pc libscconf.pc > > > > AM_CFLAGS = $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_OPENCT_CFLAGS) \ > > - $(OPTIONAL_ZLIB_CFLAGS) $(LTLIB_CFLAGS) > > + $(OPTIONAL_PCSC_CFLAGS) $(OPTIONAL_ZLIB_CFLAGS) $(LTLIB_CFLAGS) > > INCLUDES = -I$(top_builddir)/src/include -I$(top_srcdir)/src/common > > > > libopensc_la_SOURCES = \ > > > > Modified: trunk/src/libopensc/internal-winscard.h > > > =================================================================== > > --- trunk/src/libopensc/internal-winscard.h > 2008-10-26 19:13:14 UTC (rev 3589) > > +++ trunk/src/libopensc/internal-winscard.h > 2008-10-27 19:16:28 UTC (rev 3590) > > @@ -3,19 +3,6 @@ > > > > /* Mostly copied from pcsc-lite, this is the minimum required */ > > > > -#ifndef _WIN32 > > -#ifndef BYTE > > -typedef unsigned char BYTE; > > -#endif > > -typedef const void *LPCVOID; > > -typedef void *LPVOID; > > -typedef unsigned long DWORD; > > -typedef long LONG; > > -typedef const char *LPCSTR; > > -typedef BYTE *LPBYTE; > > -typedef DWORD *LPDWORD; > > -typedef char *LPSTR; > > -#endif > > #if defined(HAVE_INTTYPES_H) > > #include <inttypes.h> > > #elif defined(HAVE_STDINT_H) > > @@ -28,7 +15,11 @@ > > #warning no uint32_t type available, please contact > [EMAIL PROTECTED] > > #endif > > > > -#ifndef _MSC_VER > > +#ifdef HAVE_WINSCARD_H > > +#include <winscard.h> > > +#else > > +/* mingw32 does not have winscard.h */ > > + > > #define MAX_ATR_SIZE 33 /**< Maximum ATR size */ > > > > #define SCARD_PROTOCOL_T0 0x0001 /**< T=0 active protocol. > */ > > @@ -64,7 +55,6 @@ > > #define SCARD_W_REMOVED_CARD 0x80100069 /**< The smart card has > been removed, so further communication is not possible. */ > > #endif > > > > -#define SCARD_CTL_CODE(code) (0x42000000 + (code)) > > > > typedef const BYTE *LPCBYTE; > > typedef long SCARDCONTEXT; /**< \p hContext returned by > SCardEstablishContext() */ > > @@ -92,8 +82,12 @@ > > } > > SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; > > > > -#endif /* MSC_VER */ > > +typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; > > +typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, > > + *LPSCARD_READERSTATE_A; > > > > +#endif /* HAVE_SCARD_H */ > > + > > #if defined(_WIN32) > > #define PCSC_API WINAPI > > #elif defined(USE_CYGWIN) > > @@ -102,10 +96,6 @@ > > #define PCSC_API > > #endif > > > > -typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; > > -typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, > > - *LPSCARD_READERSTATE_A; > > - > > typedef LONG (PCSC_API *SCardEstablishContext_t)(DWORD > dwScope, LPCVOID pvReserved1, > > LPCVOID pvReserved2, LPSCARDCONTEXT phContext); > > typedef LONG (PCSC_API > *SCardReleaseContext_t)(SCARDCONTEXT hContext); > > @@ -133,6 +123,10 @@ > > > > /* Copied from pcsc-lite reader.h */ > > > > +#ifndef SCARD_CTL_CODE > > +#define SCARD_CTL_CODE(code) (0x42000000 + (code)) > > +#endif > > + > > /** > > * TeleTrust Class 2 reader tags > > */ > > > > > > > > _______________________________________________ > > opensc-commits mailing list > > [EMAIL PROTECTED] > > > http://www.opensc-project.org/mailman/listinfo/opensc-commits > > > > -- > Martin Paljak > http://martin.paljak.pri.ee > +372.515.6495 > > > > > > _______________________________________________ > opensc-devel mailing list > opensc-devel@lists.opensc-project.org > http://www.opensc-project.org/mailman/listinfo/opensc-devel > > _______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel