From c5b2b021be642e7d0f7363e5771d8c7426455ac1 Mon Sep 17 00:00:00 2001 From: dengert Date: Fri, 18 Feb 2011 20:48:22 +0000 Subject: [PATCH] opensc-cardmod.dll can now by built as "static" using the VS. The dll will contain all of OpenSC, OpenSSL and zlib in a single dll, and thus can reside anywere. Without this, winlogin would require it to reside in system32. git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5212 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/Makefile.mak | 2 +- src/cardmod/Makefile.mak | 10 ++++++---- win32/Make.rules.mak | 8 ++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Makefile.mak b/src/Makefile.mak index 1b3904b7..f56c983d 100644 --- a/src/Makefile.mak +++ b/src/Makefile.mak @@ -4,7 +4,7 @@ TOPDIR = .. SUBDIRS = common scconf pkcs15init libopensc pkcs11 tools tests -!IF "$(MINIDRIVER_DEF)" == "/DENABLE_MINIDRIVER" +!IF "$(MINIDRIVER_DEF)" == "/DENABLE_CARDMOD" SUBDIRS = $(SUBDIRS) cardmod !ENDIF diff --git a/src/cardmod/Makefile.mak b/src/cardmod/Makefile.mak index 301c2f5b..3b7fea35 100644 --- a/src/cardmod/Makefile.mak +++ b/src/cardmod/Makefile.mak @@ -3,11 +3,13 @@ TOPDIR = ..\.. TARGET = opensc-cardmod.dll OBJECTS = cardmod.obj +!INCLUDE $(TOPDIR)\win32\Make.rules.mak + all: $(TARGET) $(TARGET): $(OBJECTS) - link /dll /nologo /machine:ix86 /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc.lib gdi32.lib advapi32.lib winscard.lib Crypt32.lib User32.lib + echo LIBRARY $* > $*.def + echo EXPORTS >> $*.def + type cardmod.exports >> $*.def + link /dll $(LINKFLAGS) /def:$*.def /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc_a.lib $(ZLIB_LIB) $(OPENSSL_LIB) ..\common\libscdl.lib ws2_32.lib gdi32.lib advapi32.lib winscard.lib Crypt32.lib User32.lib if EXIST $(TARGET).manifest mt -manifest $(TARGET).manifest -outputresource:$(TARGET);2 - -!INCLUDE $(TOPDIR)\win32\Make.rules.mak - diff --git a/win32/Make.rules.mak b/win32/Make.rules.mak index ed223d6e..d7a1ae04 100644 --- a/win32/Make.rules.mak +++ b/win32/Make.rules.mak @@ -4,8 +4,8 @@ OPENSC_FEATURES = pcsc #Uncomment to use 'static' linking mode LINK_MODE = STATIC -#Include support of minidriver 'cardmon' -MINIDRIVER_DEF = /DENABLE_MINIDRIVER +#Include support of minidriver 'cardmod' +MINIDRIVER_DEF = /DENABLE_CARDMOD #Build MSI with the Windows Installer XML (WIX), minimal WIX version 3.6 @@ -60,12 +60,12 @@ CNGSDK_INCL_DIR = "/IC:\Program Files\Microsoft CNG Development Kit\Include" ALL_INCLUDES = /I$(TOPDIR)\win32 /I$(TOPDIR)\src $(OPENSSL_INCL_DIR) $(ZLIB_INCL_DIR) $(LIBLTDL_INCL) $(INTTYPES_INCL_DIR) $(CNGSDK_INCL_DIR) !IF "$(LINK_MODE)" != "STATIC" -COPTS = /D_CRT_SECURE_NO_DEPRECATE /Zi /MD /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0400 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" +COPTS = /D_CRT_SECURE_NO_DEPRECATE /Zi /MD /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" LINKFLAGS = /DEBUG /NOLOGO /INCREMENTAL:NO /MACHINE:IX86 !ENDIF !IF "$(LINK_MODE)" == "STATIC" -COPTS = /D_CRT_SECURE_NO_DEPRECATE /MT /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0400 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" +COPTS = /D_CRT_SECURE_NO_DEPRECATE /MT /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:IX86 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD !ENDIF