Check-in [fea904e63c]
Overview
Comment:Updated to include PCSC header "winstype.h"

Updated PCSC header inclusion to be more robust

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: fea904e63c14bec0e9b95f8889000e5ff8297de6
User & Date: rkeene on 2010-07-11 06:32:09
Other Links: manifest | tags
Context
2010-07-11
06:53
Added support for Mac OS X headers and libraries check-in: 48bd3742a7 user: rkeene tags: trunk
06:32
Updated to include PCSC header "winstype.h"

Updated PCSC header inclusion to be more robust check-in: fea904e63c user: rkeene tags: trunk

2010-06-23
22:13
CACKey 0.5.13

Updated debugging messages check-in: b09d33f9bc user: rkeene tags: 0.5.13, trunk

Changes

Modified aclocal/dc_pcsc.m4 from [9403cfa6bd] to [a54fda935e].

1
2
3
4
5




6
7
8
9
10
11
12
13
14





15
16
17
18
19

20
21

22
23
24
25
26
27












28
29

30

31
32

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

28


29

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

53
54
55
56
57
58
59
60
61
62







63
64
65
66
67
68
69





+
+
+
+









+
+
+
+
+




-
+
-
-
+
-





+
+
+
+
+
+
+
+
+
+
+
+


+

+

-
+









-
-
-
-
-
-
-







AC_DEFUN(DC_PCSC_HEADERS, [
	SAVE_CFLAGS="${CFLAGS}"
	SAVE_CPPFLAGS="${CPPFLAGS}"
	ADD_CFLAGS=""
	ADD_CPPFLAGS=""

	found_pcsclite=0
	found_winscard=0
	found_wintypes=0

	for headerpath in /usr/include /usr/local/include /usr/cac/include; do
		for subdir in smartcard PCSC pcsc pcsclite ""; do
			headerdir="${headerpath}/${subdir}"
			CFLAGS="${SAVE_CFLAGS} -I${headerdir}"
			CPPFLAGS="${SAVE_CPPFLAGS} -I${headerdir}"

			unset ac_cv_header_pcsclite_h
			unset ac_cv_header_winscard_h
			unset ac_cv_header_wintypes_h

			just_found_pcsclite=0
			just_found_winscard=0
			just_found_wintypes=0

			AC_CHECK_HEADER(pcsclite.h, [
				AC_DEFINE(HAVE_PCSCLITE_H, [1], [Define if you have the PCSC-Lite header file (you should)])

				ADD_CFLAGS=" -I${headerdir}"
				found_pcsclite=1
				ADD_CPPFLAGS=" -I${headerdir}"

				just_found_pcsclite=1
				break
			])

			AC_CHECK_HEADER(winscard.h, [
				AC_DEFINE(HAVE_WINSCARD_H, [1], [Define if you have the PCSC-Lite header file (you should)])

				found_winscard=1
				just_found_winscard=1
			])

			AC_CHECK_HEADER(wintypes.h, [
				AC_DEFINE(HAVE_WINTYPES_H, [1], [Define if you have the PCSC-Lite header file (you should)])

				found_wintypes=1
				just_found_wintypes=1
			])

			if test "${just_found_pcsclite}" = 1 -a "${just_found_winscard}" = 1 -a "${just_found_wintypes}" = 1; then
				ADD_CFLAGS=" -I${headerdir}"
				ADD_CPPFLAGS=" -I${headerdir}"
			fi

			if test "${found_pcsclite}" = 1 -a "${found_winscard}" = 1 -a "${found_wintypes}" = 1; then
				break
			])
			fi
		done

		if test -n "${ADD_CFLAGS}" -o -n "${ADD_CPPFLAGS}"; then
			break
		fi
	done

	CFLAGS="${SAVE_CFLAGS}${ADD_CFLAGS}"
	CPPFLAGS="${SAVE_CPPFLAGS}${ADD_CPPFLAGS}"

	unset ac_cv_header_winscard_h
	AC_CHECK_HEADER(winscard.h, [
		AC_DEFINE(HAVE_WINSCARD_H, [1], [Define if you have the PCSC-Lite header file (you should)])
	], [
		AC_MSG_WARN([unable to find winscard.h from PC/SC, compilation will likely fail.])
	])
])

AC_DEFUN(DC_PCSC_LIBS, [
	foundlib="0"
	for lib in pcsclite pcsc-lite pcsc; do
		AC_CHECK_LIB(${lib}, SCardEstablishContext, [
			LIBS="${LIBS} -l${lib}"

Modified cackey.c from [c6e4c2b8b9] to [ecdd31141d].

1
2
3
4



5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
12
13
14




+
+
+







#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifdef HAVE_WINTYPES_H
#  include <wintypes.h>
#endif
#ifdef HAVE_PCSCLITE_H
#  include <pcsclite.h>
#endif
#ifdef HAVE_WINSCARD_H
#  include <winscard.h>
#endif
#ifdef HAVE_STDINT_H

Modified configure.ac from [f647f6952a] to [7238af48e2].

79
80
81
82
83
84
85



86
87
88
89
90
91
92
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95







+
+
+







dnl Check for ZLIB libraries
AC_CHECK_LIB(z, uncompress)

dnl Verify that a basic program will compile
AC_MSG_CHECKING([if basic PC/SC program works])
AC_LINK_IFELSE(
	AC_LANG_PROGRAM([[
#ifdef HAVE_WINTYPES_H
#  include <wintypes.h>
#endif
#ifdef HAVE_PCSCLITE_H
#  include <pcsclite.h>
#endif
#ifdef HAVE_WINSCARD_H
#  include <winscard.h>
#endif
#ifdef HAVE_STDINT_H