From 9b063ebdb6f9a7451c14486f454d0e639c06c022 Mon Sep 17 00:00:00 2001 From: frankmorgner Date: Sat, 5 Nov 2011 12:56:11 +0000 Subject: [PATCH] modifying opensc to get all library functions exported git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@621 96b47cad-a561-4643-ad3b-153ac7d7599c --- npa/Makefile.am | 16 +++++++--- npa/Makefile.am.opensc | 70 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 npa/Makefile.am.opensc diff --git a/npa/Makefile.am b/npa/Makefile.am index e378ef4..119b07f 100644 --- a/npa/Makefile.am +++ b/npa/Makefile.am @@ -15,11 +15,17 @@ do_subst = sed \ -e 's,[@]OPENSC_LIBS[@],$(OPENSC_LIBS),g' \ -e 's,[@]top_srcdir[@],$(top_srcdir),g' +do_export = sed -e 's,-export-symbols "[$$](srcdir)/libopensc.exports",,g' \ + -e 's,libopensc.exports,,g' \ + < src/libopensc/Makefile.am \ + > src/libopensc/Makefile.am +do_export = cp $(shell pwd)/Makefile.am.opensc src/libopensc/Makefile.am + win-opensc: cd $(top_srcdir)/src/opensc && \ ./bootstrap && \ ./configure --disable-doc && \ - env OPENSSL_VERSION="1.0.0e" OPENSSL_URL="https://www2.informatik.hu-berlin.de/~morgner/files/openssl-1.0.0e.tar.gz" EXTRA_OPENSSL_CONFIG="experimental-pace" win32/installer_from_build.sh + EXTRA_OPENSC_CONFIG="`$(do_export)`" OPENSSL_VERSION="1.0.0e" OPENSSL_URL="https://www2.informatik.hu-berlin.de/~morgner/files/openssl-1.0.0e.tar.gz" EXTRA_OPENSSL_CONFIG="experimental-pace" win32/installer_from_build.sh win: ./configure \ @@ -28,10 +34,10 @@ win: --host=i586-mingw32msvc \ --build=i686-pc-linux-gnu \ --program-prefix='' \ - OPENSSL_CFLAGS="-I`pwd`/src/opensc/win32/build/image/opensc/include" \ - OPENSSL_LIBS="-L`pwd`/src/opensc/win32/build/image/opensc/lib -lcrypto" \ - OPENSC_LIBS="`pwd`/src/opensc/win32/build/image/opensc/lib/libopensc.dll.a" - make install DESTDIR=`pwd`/src/opensc/win32/build/image/opensc + OPENSSL_CFLAGS="-I$(srcdir)/src/opensc/win32/build/image/opensc/include" \ + OPENSSL_LIBS="$(srcdir)/src/opensc/win32/build/image/opensc/lib/libcrypto.dll.a -lws2_32 -lgdi32 -lcrypt32" \ + OPENSC_LIBS="$(srcdir)/src/opensc/win32/build/image/opensc/lib/libopensc.dll.a" + make install DESTDIR=$(srcdir)/src/opensc/win32/build/image/opensc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libnpa.pc diff --git a/npa/Makefile.am.opensc b/npa/Makefile.am.opensc new file mode 100644 index 0000000..599a0e1 --- /dev/null +++ b/npa/Makefile.am.opensc @@ -0,0 +1,70 @@ +include $(top_srcdir)/win32/ltrc.inc + +MAINTAINERCLEANFILES = $(srcdir)/Makefile.in + +EXTRA_DIST = Makefile.mak + +lib_LTLIBRARIES = libopensc.la +noinst_HEADERS = cards.h ctbcs.h internal.h esteid.h muscle.h muscle-filesystem.h \ + internal-winscard.h p15card-helper.h \ + opensc.h pkcs15.h \ + cardctl.h asn1.h log.h \ + errors.h types.h compression.h itacns.h iso7816.h \ + authentic.h iasecc.h iasecc-sdo.h + +AM_CPPFLAGS = -DOPENSC_CONF_PATH=\"$(sysconfdir)/opensc.conf\" +AM_CFLAGS = $(OPTIONAL_OPENSSL_CFLAGS) $(OPTIONAL_OPENCT_CFLAGS) \ + $(OPTIONAL_PCSC_CFLAGS) $(OPTIONAL_ZLIB_CFLAGS) \ + $(LTLIB_CFLAGS) +INCLUDES = -I$(top_srcdir)/src + +libopensc_la_SOURCES = \ + sc.c ctx.c log.c errors.c \ + asn1.c base64.c sec.c card.c iso7816.c dir.c ef-atr.c padding.c apdu.c \ + \ + pkcs15.c pkcs15-cert.c pkcs15-data.c pkcs15-pin.c \ + pkcs15-prkey.c pkcs15-pubkey.c pkcs15-sec.c \ + pkcs15-wrap.c pkcs15-algo.c pkcs15-cache.c pkcs15-syn.c \ + pkcs15-gemsafeV1.c \ + \ + muscle.c muscle-filesystem.c \ + \ + ctbcs.c reader-ctapi.c reader-pcsc.c reader-openct.c \ + \ + card-setcos.c card-miocos.c card-flex.c card-gpk.c \ + card-cardos.c card-tcos.c card-default.c \ + card-mcrd.c card-starcos.c card-openpgp.c card-jcop.c \ + card-oberthur.c card-belpic.c card-atrust-acos.c card-entersafe.c \ + card-incrypto34.c card-piv.c card-muscle.c card-acos5.c \ + card-asepcos.c card-akis.c card-gemsafeV1.c card-rutoken.c \ + card-rtecp.c card-westcos.c card-myeid.c card-ias.c \ + card-javacard.c card-itacns.c card-authentic.c \ + card-iasecc.c iasecc-sdo.c \ + \ + pkcs15-openpgp.c pkcs15-infocamere.c pkcs15-starcert.c \ + pkcs15-tcos.c pkcs15-esteid.c pkcs15-postecert.c pkcs15-gemsafeGPK.c \ + pkcs15-actalis.c pkcs15-atrust-acos.c pkcs15-tccardos.c pkcs15-piv.c \ + pkcs15-esinit.c pkcs15-westcos.c pkcs15-pteid.c pkcs15-oberthur.c \ + pkcs15-itacns.c \ + compression.c p15card-helper.c +if WIN32 +libopensc_la_SOURCES += $(top_builddir)/win32/versioninfo.rc +endif +libopensc_la_LIBADD = $(OPTIONAL_OPENSSL_LIBS) $(OPTIONAL_OPENCT_LIBS) \ + $(OPTIONAL_ZLIB_LIBS) $(LTLIB_LIBS) \ + $(top_builddir)/src/pkcs15init/libpkcs15init.la \ + $(top_builddir)/src/scconf/libscconf.la \ + $(top_builddir)/src/common/libcompat.la +if WIN32 +libopensc_la_LIBADD += -lws2_32 +endif +libopensc_la_LDFLAGS = $(AM_LDFLAGS) \ + -version-info @OPENSC_LT_CURRENT@:@OPENSC_LT_REVISION@:@OPENSC_LT_AGE@ \ + -no-undefined + +if WIN32 +# def file required for MS users to build library +mylibdir=$(libdir) +mylib_DATA=.libs/@WIN_LIBPREFIX@opensc-@OPENSC_LT_OLDEST@.dll.def +.libs/@WIN_LIBPREFIX@opensc-@OPENSC_LT_OLDEST@.dll.def: libopensc.la +endif