Changeset 3464

Show
Ignore:
Timestamp:
04/07/08 21:42:43 (6 months ago)
Author:
alonbl
Message:

Attached are the latest mode to OpenSC svn 3462 to use the Makefile.mak
files to build on Windows.

I got rutoken to compile, and took out the #ifdef's I had in last week.
The rutoken programmer declared some variables in the middle of a block
rather then having all the declare statements at the beginning of a block
as is normally done in C. The Microsoft compile treats this as an error.
(Actual many errors.)

The makedef.pl is no longer needed, as the exports files can be used.
Note that in the original Makefile.mak files only opensc.def and
pkcs15init.def were created.

winconfig.h has a number of changes. As discussed last week this could
be created by autoconf. I also noted that the Active State Perl that
was required for the makedef.pl has a psed command that could be used
like sed to update winconfig.h. I did not attempt to do this.

win32/Make.rules.mak - Use ENABLE_OPENSSL and ENABLE_ZLIB

src/tools/Makefile.mak - add the rutoken.tool.exe

src/tools/eidenv.c - use PACKAGE_VERSION

src/pkcs11/Makefile.mak - reorder the objest to match the list in the

Makefile.am. Makes it easier to read.

src/include/winconfig.h - The windows version of the config.h

Changes based on discussions on the list last week.

src/common/Makefile.mak - renamed modules.

src/pkcs15init/Makefile.mak - reordered, and added back the rutoken modules

replaced the use of makdef.pl to sue the exports file.

src/scconf/Makefile.mak - reordered objects.

src/libopensc/card-rutoken.c -

error. Moved the declares to the beginning of blocks.

src/libopensc/Makefile.mak - reorder names, and add rutoken.

Use the libopensc.exports file.

src/libopensc/pkcs15-prkey-rutoken.c - more moving of declare statements.

By Douglas E. Engert

http://www.opensc-project.org/pipermail/opensc-devel/2008-April/011011.html

Location:
trunk
Files:
1 removed
10 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/common/Makefile.mak

    r3003 r3464  
    11TOPDIR = ..\.. 
    22 
    3 HEADERS = my_getopt.h strlcpy.h 
     3HEADERS = compat_getpass.h compat_getopt.h compat_strlcpy.h 
    44HEADERSDIR = $(TOPDIR)\src\include 
    55TARGET = common.lib 
    6 OBJECTS = getpass.obj my_getopt.obj strlcpy.obj 
     6OBJECTS = compat_getpass.obj compat_getopt.obj compat_strlcpy.obj 
    77 
    88all: install-headers $(TARGET) 
  • trunk/src/include/winconfig.h

    r3255 r3464  
    44#include <stdio.h> 
    55#include <windows.h> 
     6#include <winscard.h> 
    67#include <sys/timeb.h> 
     8#include <sys/stat.h> 
    79 
    810#ifndef strcasecmp 
     
    6567#endif 
    6668 
     69#ifndef S_IRUSR  
     70#define S_IRUSR S_IREAD 
     71#endif 
     72 
     73#ifndef S_IWUSR  
     74#define S_IWUSR S_IWRITE 
     75#endif 
     76 
    6777#define HAVE_IO_H 
    68 #define HAVE_GETPASS 
    69 #define HAVE_PCSC 
     78#define ENABLE_PCSC 
     79#define DEFAULT_PCSC_PROVIDER "winscard.dll" 
    7080 
    7181#define PATH_MAX _MAX_PATH 
    7282 
    73 #ifndef VERSION 
    74 #define VERSION "0.11.4" 
     83#ifndef PACKAGE_VERSION 
     84#define PACKAGE_VERSION "0.11.4.2" 
    7585#endif 
    7686 
    77 /* src/common/getpass.c */ 
    78 extern char *getpass(const char *prompt); 
     87#ifndef PACKAGE_NAME 
     88#define PACKAGE_NAME "opensc" 
     89#endif 
     90 
     91#ifndef OPENSC_FEATURES 
     92#define OPENSC_FEATURES "" 
     93#endif 
    7994 
    8095#endif 
  • trunk/src/libopensc/Makefile.mak

    r3265 r3464  
    55 
    66HEADERS                 = \ 
    7         opensc.h pkcs15.h emv.h \ 
    8         cardctl.h cards.h asn1.h \ 
    9         log.h ui.h errors.h types.h 
     7        asn1.h cardctl.h cards.h emv.h errors.h \ 
     8        log.h opensc.h pkcs15.h rutoken.h types.h ui.h 
    109 
    1110HEADERSDIR              = $(TOPDIR)\src\include\opensc 
     
    1312OBJECTS                 = \ 
    1413        sc.obj ctx.obj ui.obj log.obj errors.obj \ 
    15         asn1.obj base64.obj sec.obj card.obj iso7816.obj dir.obj padding.obj \ 
    16         apdu.obj \ 
     14        asn1.obj base64.obj sec.obj card.obj iso7816.obj dir.obj padding.obj apdu.obj \ 
    1715        \ 
    1816        pkcs15.obj pkcs15-cert.obj pkcs15-data.obj pkcs15-pin.obj \ 
    1917        pkcs15-prkey.obj pkcs15-pubkey.obj pkcs15-sec.obj \ 
    2018        pkcs15-wrap.obj pkcs15-algo.obj pkcs15-cache.obj pkcs15-syn.obj \ 
     19        pkcs15-gemsafeV1.obj \ 
    2120        \ 
    22         emv.obj \ 
     21        emv.obj muscle.obj muscle-filesystem.obj \ 
    2322        \ 
    24         ctbcs.obj reader-ctapi.obj reader-pcsc.obj \ 
     23        ctbcs.obj reader-ctapi.obj reader-pcsc.obj reader-openct.obj \ 
    2524        \ 
    2625        card-setcos.obj card-miocos.obj card-flex.obj card-gpk.obj \ 
    2726        card-cardos.obj card-tcos.obj card-emv.obj card-default.obj \ 
    2827        card-mcrd.obj card-starcos.obj card-openpgp.obj card-jcop.obj \ 
    29         card-oberthur.obj card-belpic.obj card-atrust-acos.obj card-akis.obj \ 
    30         card-incrypto34.obj card-piv.obj card-acos5.obj card-asepcos.obj \ 
    31         muscle.obj card-muscle.obj muscle-filesystem.obj \ 
    32         compression.obj p15card-helper.obj \ 
     28        card-oberthur.obj card-belpic.obj card-atrust-acos.obj \ 
     29        card-incrypto34.obj card-piv.obj card-muscle.obj card-acos5.obj \ 
     30        card-asepcos.obj card-akis.obj card-gemsafeV1.obj card-rutoken.obj \ 
    3331        \ 
    3432        pkcs15-openpgp.obj pkcs15-infocamere.obj pkcs15-starcert.obj \ 
    35         pkcs15-tcos.obj pkcs15-esteid.obj pkcs15-postecert.obj \ 
    36         pkcs15-gemsafe.obj pkcs15-actalis.obj pkcs15-atrust-acos.obj \ 
    37         pkcs15-tccardos.obj pkcs15-piv.obj\ 
    38         \ 
     33        pkcs15-tcos.obj pkcs15-esteid.obj pkcs15-postecert.obj pkcs15-gemsafeGPK.obj \ 
     34        pkcs15-actalis.obj pkcs15-atrust-acos.obj pkcs15-tccardos.obj pkcs15-piv.obj \ 
     35        pkcs15-rutoken.obj pkcs15-prkey-rutoken.obj \ 
     36        compression.obj p15card-helper.obj \ 
    3937        $(TOPDIR)\win32\version.res 
    4038 
     
    4442 
    4543opensc.dll: $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib 
    46         perl $(TOPDIR)\win32\makedef.pl $*.def $* $(OBJECTS) 
     44        echo LIBRARY $* > $*.def 
     45        echo EXPORTS >> $*.def 
     46        type lib$*.exports >> $*.def 
    4747        link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:opensc.dll $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib winscard.lib $(OPENSSL_LIB) $(ZLIB_LIB) gdi32.lib $(LIBLTDL_LIB) advapi32.lib ws2_32.lib 
    4848        if EXIST opensc.dll.manifest mt -manifest opensc.dll.manifest -outputresource:opensc.dll;2 
  • trunk/src/pkcs11/Makefile.mak

    r3145 r3464  
    11TOPDIR = ..\.. 
    22 
    3 HEADERS                 = pkcs11.h 
     3HEADERS                 = pkcs11-opensc.h pkcs11.h sc-pkcs11.h 
    44 
    55HEADERSDIR              = $(TOPDIR)\src\include\opensc 
     
    1111 
    1212OBJECTS                 = pkcs11-global.obj pkcs11-session.obj pkcs11-object.obj misc.obj slot.obj \ 
    13                           secretkey.obj framework-pkcs15.obj framework-pkcs15init.obj mechanism.obj \ 
    14                           openssl.obj debug.obj $(TOPDIR)\win32\version.res 
     13                          mechanism.obj openssl.obj secretkey.obj framework-pkcs15.obj \ 
     14                          framework-pkcs15init.obj debug.obj \ 
     15                          $(TOPDIR)\win32\version.res 
    1516OBJECTS2                = libpkcs11.obj 
    1617OBJECTS3                = pkcs11-spy.obj pkcs11-display.obj libpkcs11.obj 
  • trunk/src/pkcs15init/Makefile.mak

    r3200 r3464  
    33TARGET = pkcs15init.dll 
    44 
    5 HEADERS = pkcs15-init.h keycache.h 
     5HEADERS = pkcs15-init.h profile.h keycache.h 
    66HEADERSDIR = $(TOPDIR)\src\include\opensc 
    77 
    8 OBJECTS = profile.obj pkcs15-lib.obj keycache.obj \ 
    9           pkcs15-miocos.obj pkcs15-gpk.obj pkcs15-cflex.obj \ 
     8OBJECTS = pkcs15-lib.obj profile.obj keycache.obj \ 
     9          pkcs15-gpk.obj pkcs15-miocos.obj pkcs15-cflex.obj \ 
    1010          pkcs15-cardos.obj pkcs15-jcop.obj pkcs15-starcos.obj \ 
    1111          pkcs15-oberthur.obj pkcs15-setcos.obj pkcs15-incrypto34.obj \ 
    12           pkcs15-muscle.obj pkcs15-asepcos.obj 
     12          pkcs15-muscle.obj pkcs15-asepcos.obj pkcs15-rutoken.obj 
    1313 
    1414all: install-headers $(TARGET) 
     
    1717 
    1818$(TARGET): $(OBJECTS) 
    19         perl $(TOPDIR)\win32\makedef.pl $*.def $* $(OBJECTS) 
     19        echo LIBRARY $* > $*.def 
     20        echo EXPORTS >> $*.def 
     21        type $*.exports >> $*.def 
    2022        link $(LINKFLAGS) /dll /def:$*.def /implib:$*.lib /out:$(TARGET) $(OBJECTS) ..\scconf\scconf.lib ..\common\common.lib ..\libopensc\opensc.lib winscard.lib $(OPENSSL_LIB) gdi32.lib $(LIBLTDL_LIB) 
    2123        if EXIST $(TARGET).manifest mt -manifest $(TARGET).manifest -outputresource:$(TARGET);2 
  • trunk/src/scconf/Makefile.mak

    r3020 r3464  
    44HEADERS = scconf.h 
    55HEADERSDIR = $(TOPDIR)\src\include\opensc 
    6 OBJECTS = parse.obj scconf.obj write.obj sclex.obj 
     6OBJECTS = scconf.obj parse.obj write.obj sclex.obj 
    77 
    88.SUFFIXES : .l 
  • trunk/src/tools/Makefile.mak

    r3005 r3464  
    55 
    66TARGETS = opensc-tool.exe opensc-explorer.exe pkcs15-tool.exe pkcs15-crypt.exe \ 
    7                 piv-tool.exe pkcs11-tool.exe cardos-info.exe eidenv.exe \ 
     7                pkcs11-tool.exe cardos-info.exe eidenv.exe rutoken-tool.exe \ 
    88                $(PROGRAMS_OPENSSL) 
    99 
  • trunk/src/tools/eidenv.c

    r3405 r3464  
    8181{ 
    8282        fprintf(stderr, 
    83                 "eidenv - EstEID utility version " VERSION "\n" 
     83                "eidenv - EstEID utility version " PACKAGE_VERSION "\n" 
    8484                "\n" 
    8585                "Copyright (c) 2004 Martin Paljak <martin@paljak.pri.ee>\n" 
  • trunk/win32/Make.rules.mak

    r3265 r3464  
    1515# - set the OPENSSL_INCL_DIR below to your openssl include directory, preceded by "/I" 
    1616# - set the OPENSSL_LIB below to your openssl lib file 
    17 #OPENSSL_DEF = /DHAVE_OPENSSL 
    18 !IF "$(OPENSSL_DEF)" == "/DHAVE_OPENSSL" 
     17#OPENSSL_DEF = /DENABLE_OPENSSL 
     18!IF "$(OPENSSL_DEF)" == "/DENABLE_OPENSSL" 
    1919OPENSSL_INCL_DIR = /IC:\openssl\include 
    2020OPENSSL_LIB = C:\openssl\out32dll\libeay32.lib 
     
    2727# - set the ZLIB_INCL_DIR below to the zlib include lib proceeded by "/I" 
    2828# - set the ZLIB_LIB  below to your zlib lib file 
    29 #ZLIB_DEF = /DHAVE_ZLIB_H 
    30 !IF "$(ZLIB_DEF)" == "/DHAVE_ZLIB_H" 
     29#ZLIB_DEF = /DENABLE_ZLIB 
     30!IF "$(ZLIB_DEF)" == "/DENABLE_ZLIB" 
    3131ZLIB_INCL_DIR = /IC:\ZLIB\INCLUDE 
    3232ZLIB_LIB = C:\ZLIB\LIB\zlib.lib  
     
    3434 
    3535 
    36 COPTS = /D_CRT_SECURE_NO_DEPRECATE /Zi /MD /nologo /DHAVE_CONFIG_H /I$(TOPDIR)\src\include /I$(TOPDIR)\src\include\opensc /I$(TOPDIR)\src\common $(OPENSSL_INCL_DIR) $(ZLIB_INCL_DIR) $(LIBLTDL_INCL) /D_WIN32_WINNT=0x0400 $(OPENSSL_DEF) $(ZLIB_DEF) 
     36COPTS = /D_CRT_SECURE_NO_DEPRECATE /Zi /MD /nologo /DHAVE_CONFIG_H /I$(TOPDIR)\src\include /I$(TOPDIR)\src\include\opensc /I$(TOPDIR)\src\common $(OPENSSL_INCL_DIR) $(ZLIB_INCL_DIR) $(LIBLTDL_INCL) /D_WIN32_WINNT=0x0400 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) 
    3737LINKFLAGS = /DEBUG /NOLOGO /INCREMENTAL:NO /MACHINE:IX86 
    3838 
  • trunk/win32/Makefile.am

    r3450 r3464  
    22EXTRA_DIST = Make.rules.mak Makefile.mak 
    33 
    4 dist_noinst_SCRIPTS = makedef.pl 
    54dist_noinst_DATA = version.rc versioninfo.rc