Changeset 3405 for trunk

Show
Ignore:
Timestamp:
03/06/08 16:06:59 (10 months ago)
Author:
alonbl
Message:

Complete rewrite of OpenSC build system.

1. Build system now supports MinGW (Windows) compilation using msys and cross compilation.
2. Ability to explicitly disable and enable dependencies of the package.
3. openct, pcsc and nsplugins features are disabled by default.
4. Modified pcsc driver to use pcsc dynamically, no compile time dependency is required.
5. --enable-pcsc-lite configuration option renamed to --enable-pcsc.
6. Install opensc.conf file (as opensc.conf.new if opensc.conf exists).
7. Add--enable-doc configuration option, allow installing documentation into target.
8. Add --disable-man configuration option, allow msys mingw32 users to

build from svn without extra dependencies.

9. Add export files to each library in order to export only required symbols.

Windows native build may use these files instead of scanning objects' symbols.

10. Add opensc-tool --info to display some general information about the build.
11. Create compatibility library to be linked against library instread of recompiling the

same source files in different places.

12. Add different win32 version resource to each class of outputs.
13. Make xsl-stylesheets location selectable.
14. Some win32 fixups.
15. Some warning fixups.
16. Many other autoconf/automake cleanups.

Alon Bar-Lev

svn diff -r 3315:3399 https://www.opensc-project.org/svn/opensc/branches/alonbl/mingw

_M .
D configure.in
_M src
_M src/openssh
M src/openssh/Makefile.am
_M src/tools
M src/tools/rutoken-tool.c
M src/tools/opensc-tool.c
M src/tools/cardos-info.c
M src/tools/pkcs15-crypt.c
M src/tools/pkcs15-init.c
M src/tools/piv-tool.c
M src/tools/netkey-tool.c
M src/tools/eidenv.c
M src/tools/cryptoflex-tool.c
M src/tools/util.c
M src/tools/pkcs11-tool.c
M src/tools/pkcs15-tool.c
M src/tools/util.h
M src/tools/opensc-explorer.c
M src/tools/Makefile.am
_M src/pkcs11
M src/pkcs11/pkcs11-global.c
M src/pkcs11/framework-pkcs15.c
M src/pkcs11/mechanism.c
M src/pkcs11/pkcs11-display.c
M src/pkcs11/pkcs11-object.c
A src/pkcs11/opensc-pkcs11.exports
M src/pkcs11/sc-pkcs11.h
M src/pkcs11/pkcs11-spy.c
M src/pkcs11/openssl.c
M src/pkcs11/Makefile.am
A src/pkcs11/pkcs11-spy.exports
_M src/tests
_M src/tests/regression
M src/tests/regression/Makefile.am
M src/tests/sc-test.c
M src/tests/pintest.c
M src/tests/Makefile.am
_M src/include
_M src/include/opensc
M src/include/opensc/Makefile.am
A src/include/opensc/svnignore
M src/include/Makefile.am
_M src/signer
_M src/signer/npinclude
M src/signer/npinclude/Makefile.am
M src/signer/Makefile.am
A src/signer/signer.exports
_M src/common
A src/common/compat_dummy.c
D src/common/getopt.txt
D src/common/strlcpy.c
D src/common/LICENSE
A src/common/compat_getopt.txt
A src/common/compat_strlcpy.c
A src/common/LICENSE.compat_getopt
A src/common/compat_getopt.c
D src/common/strlcpy.h
D src/common/ChangeLog
D src/common/getpass.c
D src/common/my_getopt.c
A src/common/compat_strlcpy.h
A src/common/compat_getpass.c
A src/common/compat_getopt.h
A src/common/ChangeLog.compat_getopt
D src/common/README.strlcpy
D src/common/my_getopt.h
A src/common/compat_getpass.h
A src/common/README.compat_strlcpy
D src/common/strlcpy.3
A src/common/README.compat_getopt
D src/common/getopt.3
D src/common/README.my_getopt
A src/common/compat_strlcpy.3
A src/common/compat_getopt.3
M src/common/Makefile.am
M src/Makefile.am
_M src/pkcs15init
M src/pkcs15init/pkcs15-oberthur.c
M src/pkcs15init/profile.c
M src/pkcs15init/pkcs15-lib.c
M src/pkcs15init/pkcs15-rutoken.c
A src/pkcs15init/pkcs15init.exports
M src/pkcs15init/pkcs15-gpk.c
M src/pkcs15init/Makefile.am
_M src/scconf
M src/scconf/Makefile.am
M src/scconf/parse.c
A src/scconf/scconf.exports
_M src/libopensc
M src/libopensc/card-rutoken.c
M src/libopensc/compression.c
M src/libopensc/sc.c
M src/libopensc/card-piv.c
M src/libopensc/pkcs15-openpgp.c
M src/libopensc/pkcs15-postecert.c
M src/libopensc/pkcs15-tcos.c
M src/libopensc/opensc-config.in
M src/libopensc/reader-pcsc.c
A src/libopensc/internal-winscard.h
M src/libopensc/ctx.c
A src/libopensc/libopensc.exports
M src/libopensc/pkcs15-piv.c
M src/libopensc/pkcs15-infocamere.c
M src/libopensc/internal.h
M src/libopensc/pkcs15-actalis.c
M src/libopensc/pkcs15-starcert.c
M src/libopensc/card-oberthur.c
M src/libopensc/pkcs15-atrust-acos.c
M src/libopensc/p15card-helper.c
D src/libopensc/part10.h
M src/libopensc/ui.c
M src/libopensc/card-gpk.c
M src/libopensc/pkcs15-wrap.c
M src/libopensc/pkcs15-gemsafeGPK.c
M src/libopensc/log.c
M src/libopensc/pkcs15-esteid.c
M src/libopensc/pkcs15-prkey-rutoken.c
M src/libopensc/log.h
M src/libopensc/Makefile.am
M src/libopensc/reader-openct.c
_M aclocal
M aclocal/Makefile.am
_M win32
M win32/Makefile.am
A win32/versioninfo.rc.in
A win32/ltrc.inc
A configure.ac
_M doc
_M doc/tools
M doc/tools/pkcs15-profile.xml
D doc/changelog.sh
D doc/export-wiki.xsl
_M doc/api
_M doc/api/file
M doc/api/man.xsl
_M doc/api/asn1
_M doc/api/apps
_M doc/api/init
_M doc/api/types
_M doc/api/card
M doc/api/html.xsl
_M doc/api/misc
_M doc/api/util
M doc/Makefile.am
D doc/export-wiki.sh
AM doc/nonpersistent
A doc/nonpersistent/export-wiki.xsl
A doc/nonpersistent/Makefile.am
A doc/nonpersistent/export-wiki.sh
A doc/nonpersistent/svn2cl.xsl
D doc/generate-man.sh
D doc/svn2cl.xsl
M Makefile.am
A svnignore
_M etc
M etc/opensc.conf.in
M etc/Makefile.am
D man
_M solaris
M solaris/Makefile

Location:
trunk
Files:
20 removed
111 modified
31 copied

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
         1Makefile 
         2Makefile.in 
         3core 
         4archive 
         5acinclude.m4 
         6aclocal.m4 
         7autom4te.cache 
         8compile 
         9confdefs.h 
         10config.* 
         11configure 
         12conftest 
         13conftest.c 
         14depcomp 
         15install-sh 
         16libtool 
         17libtool.m4 
         18ltmain.sh 
         19missing 
         20mkinstalldirs 
         21so_locations 
         22stamp-h* 
         23 
        124.deps 
        225.libs 
         
        1942*.rej 
        2043*.u 
         44*.rc 
         45*.pc 
        2146*~ 
        22 Makefile 
        23 Makefile.in 
        24 core 
        25 gmon.out 
        26 archive 
        27 acinclude.m4 
        28 aclocal.m4 
        29 autom4te.cache 
        30 compile 
        31 confdefs.h 
        32 config.cache 
        33 config.guess 
        34 config.h 
        35 config.h.in 
        36 config.log 
        37 config.status 
        38 config.sub 
        39 configure 
        40 conftest 
        41 conftest.c 
        42 depcomp 
        43 install-sh 
        44 libtool 
        45 libtool.m4 
        46 ltmain.sh 
        47 missing 
        48 mkinstalldirs 
        49 so_locations 
        50 stamp-h* 
         47*.gz 
         48*.bz2 
         49*.[0-9] 
         50*.html 
         51*.gif 
         52*.css 
         53*.out 
         54 
         55ChangeLog 
         56opensc.conf 
         57xsl-stylesheets 
         58opensc-config 
         59test-conf 
         60pkcs15-tool 
         61pkcs15-crypt 
         62pkcs15-init 
         63piv-tool 
         64eidenv 
         65opensc-explorer 
         66opensc-tool 
         67rutoken-tool 
         68cardos-info 
         69cryptoflex-tool 
         70netkey-tool 
         71pkcs11-tool 
         72pintest 
         73p15dump 
         74prngtest 
         75base64 
         76lottery 
         77 
  • trunk/Makefile.am

    r3268 r3405  
    11# Process this file with automake to create Makefile.in 
    2  
    3 SUBDIRS = . aclocal etc man src win32 
    4 DIST_SUBDIRS = . aclocal doc etc man src win32 
    5  
    6 EXTRA_DIST = README \ 
    7         bootstrap Makefile.mak depcomp \ 
    8         solaris/Makefile solaris/README solaris/checkinstall.in \ 
    9         solaris/opensc.conf-dist solaris/pkginfo.in solaris/proto 
    10  
    11 MAINTAINERCLEANFILES = \ 
    12         Makefile.in config.h.in configure \ 
    13         install-sh ltmain.sh missing mkinstalldirs \ 
    14         compile depcomp config.log config.status \ 
    15         config.guess config.sub acinclude.m4 aclocal.m4 
    16  
    17 DEPCLEANFILES = config.log configure 
    182 
    193AUTOMAKE_OPTIONS = foreign 1.5 
    204ACLOCAL_AMFLAGS = -I aclocal 
     5 
     6MAINTAINERCLEANFILES = \ 
     7        Makefile.in config.h.in config.h.in~ configure \ 
     8        install-sh ltmain.sh missing mkinstalldirs \ 
     9        compile depcomp config.log config.status \ 
     10        config.guess config.sub acinclude.m4 aclocal.m4 \ 
     11        packaged 
     12EXTRA_DIST = Makefile.mak svnignore 
     13 
     14SUBDIRS = aclocal etc src win32 doc 
     15 
     16dist_noinst_SCRIPTS = bootstrap 
     17dist_noinst_DATA = README \ 
     18        solaris/Makefile solaris/README solaris/checkinstall.in \ 
     19        solaris/opensc.conf-dist solaris/pkginfo.in solaris/proto 
     20dist_doc_DATA = NEWS 
     21 
     22# Allow detection of packaged tarball 
     23dist-hook: 
     24        echo > "$(distdir)/packaged" 
    2125 
    2226distcheck-hook: 
  • trunk/aclocal

    • Property svn:ignore
      •  

        old new  
         1Makefile 
         2Makefile.in 
         3core 
         4archive 
         5acinclude.m4 
         6aclocal.m4 
         7autom4te.cache 
         8compile 
         9confdefs.h 
         10config.* 
         11configure 
         12conftest 
         13conftest.c 
         14depcomp 
         15install-sh 
         16libtool 
         17libtool.m4 
         18ltmain.sh 
         19missing 
         20mkinstalldirs 
         21so_locations 
         22stamp-h* 
         23 
        124.deps 
        225.libs 
         
        1942*.rej 
        2043*.u 
         44*.rc 
         45*.pc 
        2146*~ 
        22 Makefile 
        23 Makefile.in 
        24 core 
        25 gmon.out 
         47*.gz 
         48*.bz2 
         49*.[0-9] 
         50*.html 
         51*.gif 
         52*.css 
         53*.out 
         54 
         55ChangeLog 
         56opensc.conf 
         57xsl-stylesheets 
         58opensc-config 
         59test-conf 
         60pkcs15-tool 
         61pkcs15-crypt 
         62pkcs15-init 
         63piv-tool 
         64eidenv 
         65opensc-explorer 
         66opensc-tool 
         67rutoken-tool 
         68cardos-info 
         69cryptoflex-tool 
         70netkey-tool 
         71pkcs11-tool 
         72pintest 
         73p15dump 
         74prngtest 
         75base64 
         76lottery 
         77 
  • trunk/aclocal/Makefile.am

    r3246 r3405  
    22 
    33MAINTAINERCLEANFILES = Makefile.in 
    4  
    54EXTRA_DIST = acx_pthread.m4 libassuan.m4 
  • trunk/configure.ac

    r3399 r3405  
    158158AC_ARG_ENABLE( 
    159159        [man], 
    160         [AC_HELP_STRING([--enable-man], [enable installation of manuals. [[default=enabled for none Windows]]])], 
     160        [AC_HELP_STRING([--disable-man], [disable installation of manuals. [[default=enabled for none Windows]]])], 
    161161        , 
    162162        [ 
  • trunk/doc

    • Property svn:ignore
      •  

        old new  
        1 html 
        2 man 
         1Makefile 
         2Makefile.in 
         3core 
         4archive 
         5acinclude.m4 
         6aclocal.m4 
         7autom4te.cache 
         8compile 
         9confdefs.h 
         10config.* 
         11configure 
         12conftest 
         13conftest.c 
         14depcomp 
         15install-sh 
         16libtool 
         17libtool.m4 
         18ltmain.sh 
         19missing 
         20mkinstalldirs 
         21so_locations 
         22stamp-h* 
         23 
         24.deps 
         25.libs 
         26.#*# 
         27.*.bak 
         28.*.orig 
         29.*.rej 
         30.*~ 
         31#*# 
         32*.bak 
         33*.d 
         34*.def 
         35*.dll 
         36*.exe 
         37*.la 
         38*.lib 
         39*.lo 
         40*.orig 
         41*.pdb 
         42*.rej 
         43*.u 
         44*.rc 
         45*.pc 
         46*~ 
         47*.gz 
         48*.bz2 
         49*.[0-9] 
         50*.html 
         51*.gif 
         52*.css 
         53*.out 
         54 
         55ChangeLog 
         56opensc.conf 
         57xsl-stylesheets 
         58opensc-config 
         59test-conf 
         60pkcs15-tool 
         61pkcs15-crypt 
         62pkcs15-init 
         63piv-tool 
         64eidenv 
         65opensc-explorer 
         66opensc-tool 
         67rutoken-tool 
         68cardos-info 
         69cryptoflex-tool 
         70netkey-tool 
         71pkcs11-tool 
         72pintest 
         73p15dump 
         74prngtest 
         75base64 
         76lottery 
         77 
  • trunk/doc/Makefile.am

    r3269 r3405  
    11# Process this file with automake to create Makefile.in 
    22 
    3 SUBDIRS = .  
     3MAINTAINERCLEANFILES = Makefile.in 
    44 
    5 MAINTAINERCLEANFILES = Makefile.in $(HTML) $(TMP) ChangeLog 
     5wikidir=$(htmldir)/wiki 
    66 
    7 EXTRA_DIST = README ChangeLog $(HTML) $(XML) index.html \ 
    8                 export-wiki.sh export-wiki.xsl \ 
    9                 generate-man.sh changelog.sh svn2cl.xsl  
     7if ENABLE_DOC 
     8SUBDIRS = nonpersistent 
     9endif 
     10DIST_SUBDIRS = nonpersistent 
    1011 
    11 TMP= $(shell ls $(srcdir)/*.tmp) 
    12 HTML= $(shell ls $(srcdir)/*.html $(srcdir)/*.css $(srcdir)/*.gif $(srcdir)/html/*) 
    13 XML = $(shell ls $(srcdir)/tools/*.xml $(srcdir)/api/*.xml $(srcdir)/api/*/*.xml $(srcdir)/api/api.css $(srcdir)/api/*.xsl) 
     12dist_noinst_DATA = tools/*.xml api/*.xml api/*/*.xml api/api.css api/*.xsl 
     13if ENABLE_DOC 
     14dist_html_DATA = html.out/* 
     15else 
     16dist_noinst_DATA += html.out/* 
     17endif 
     18dist_doc_DATA = README 
     19if WIN32 
     20dist_noinst_DATA += man.out/*.1 man.out/*.3 man.out/*.5 
     21else 
     22dist_man1_MANS = man.out/*.1 
     23dist_man3_MANS = man.out/*.3 
     24dist_man5_MANS = man.out/*.5 
     25endif 
    1426 
    15 index.html: 
    16         sh $(srcdir)/export-wiki.sh $(srcdir) 
    17         sh $(srcdir)/generate-man.sh $(srcdir) 
     27if SVN_CHECKOUT 
     28if ENABLE_MAN 
    1829 
    19 ChangeLog: 
    20         sh $(srcdir)/changelog.sh $(srcdir) 
     30html.out/*:     api/xsl-stylesheets 
     31        test -n "$(XSLTPROC)" 
     32        -rm -fr html.tmp 
     33        $(MKDIR_P) html.tmp 
     34        $(XSLTPROC) --nonet --xinclude -o "html.out/api.html" "$(srcdir)/api/html.xsl" "$(srcdir)/api/api.xml" 
     35        $(XSLTPROC) --nonet --xinclude -o "html.out/tools.html" "$(srcdir)/api/html.xsl" "$(srcdir)/tools/tools.xml" 
     36        mv html.tmp html.out 
     37 
     38man.out/*.1:    api/xsl-stylesheets 
     39        test -n "$(XSLTPROC)" 
     40        -rm -fr man.tmp 
     41        $(MKDIR_P) man.tmp 
     42        $(XSLTPROC) --nonet --xinclude -o "man.out/" "$(srcdir)/api/man.xsl" "$(srcdir)/api/api.xml" 
     43        $(XSLTPROC) --nonet --xinclude -o "man.out/" "$(srcdir)/api/man.xsl" "$(srcdir)/tools/tools.xml" 
     44        mv man.tmp man.out 
     45 
     46man.out/*.3 man.out/*.5:        man.out/*.1 
     47 
     48api/xsl-stylesheets: 
     49        $(LN_S) "$(xslstylesheetsdir)" api/xsl-stylesheets 
     50 
     51else 
     52 
     53html.out/*: 
     54man.out/*.1: 
     55man.out/*.3 man.out/*.5:        man.out/*.1 
     56 
     57endif 
     58endif 
    2159 
    2260maintainer-clean-local: