From acabe8be6220a8da1b327766c7495bf16616a1c0 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Sat, 9 Feb 2013 23:44:10 +0100 Subject: [PATCH] updated windows build --- npa/win32/Makefile.am | 106 +++++++++++++++++++------------- npa/win32/build_fix_zlib.patch | 13 ---- npa/win32/build_npa.patch | 107 --------------------------------- 3 files changed, 65 insertions(+), 161 deletions(-) delete mode 100644 npa/win32/build_fix_zlib.patch delete mode 100644 npa/win32/build_npa.patch diff --git a/npa/win32/Makefile.am b/npa/win32/Makefile.am index adad01b..608271a 100644 --- a/npa/win32/Makefile.am +++ b/npa/win32/Makefile.am @@ -1,48 +1,72 @@ -EXTRA_DIST = build_fix_zlib.patch build_npa.patch +MINGW ?= i686-w64-mingw32 +WIN32_DIR ?= $(abs_top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_win32 + +OPENPACE=$(abs_builddir)/openpace +OPENPACE_CONFIGURE_AC=$(OPENPACE)/configure.ac +OPENPACE_CONFIGURE=$(OPENPACE)/configure +OPENPACE_MAKEFILE=$(OPENPACE)/Makefile +LIBEAC=$(WIN32_DIR)/bin/libeac-0.dll + +OPENSC=$(abs_builddir)/opensc +OPENSC_CONFIGURE_AC=$(OPENSC)/configure.ac +OPENSC_CONFIGURE=$(OPENSC)/configure +LIBOPENSC=$(WIN32_DIR)/bin/libopensc-3.dll + +NPA_TOOL=$(WIN32_DIR)/bin/npa-tool.exe + + + +$(OPENPACE_CONFIGURE_AC): + git clone git://openpace.git.sourceforge.net/gitroot/openpace/openpace $(OPENPACE) + +$(OPENPACE_CONFIGURE): $(OPENPACE_CONFIGURE_AC) + cd $(OPENPACE) && autoreconf --verbose --install --symlink + +$(OPENPACE_MAKEFILE): $(OPENPACE_CONFIGURE) + cd $(OPENPACE) && ./configure + +$(LIBEAC): $(OPENPACE_MAKEFILE) + make -C $(OPENPACE) win MINGW=$(MINGW) WIN32_DIR=$(WIN32_DIR) + + + +$(OPENSC_CONFIGURE_AC): + git clone git://github.com/OpenSC/OpenSC.git $(OPENSC) + +$(OPENSC_CONFIGURE): $(OPENSC_CONFIGURE_AC) + cd $(OPENSC) && autoreconf --verbose --install --symlink + +$(LIBOPENSC): $(OPENSC_CONFIGURE) $(LIBEAC) + cd $(OPENSC) && ./configure \ + --prefix=/ \ + --target=$(MINGW) \ + PKG_CONFIG_SYSROOT_DIR=$(WIN32_DIR) \ + PKG_CONFIG_LIBDIR=$(WIN32_DIR)/lib/pkgconfig \ + CFLAGS=-I$(MINGW_DIR)/include \ + LDFLAGS=-L$(MINGW_DIR)/lib + $(MAKE) -C $(OPENSC) install DESTDIR=$(WIN32_DIR) + + + +$(NPA_TOOL): $(LIBEAC) $(LIBOPENSC) + cd $(abs_top_builddir) \ + && export ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes \ + && ./configure \ + --prefix=/ \ + --host=$(MINGW) --target=$(MINGW) \ + PKG_CONFIG_SYSROOT_DIR=$(WIN32_DIR) \ + PKG_CONFIG_LIBDIR=$(WIN32_DIR)/lib/pkgconfig \ + CFLAGS=-I$(MINGW_DIR)/include \ + LDFLAGS="-L$(MINGW_DIR)/lib " \ + OPENSC_LIBS="-L$(WIN32_DIR)/lib -lopensc" + $(MAKE) -C $(abs_top_builddir) install DESTDIR=$(WIN32_DIR) + all-local: - echo "Use \`make win\` to cross compile for Windows" + @echo Use \`$(MAKE) win\` to cross compile for Windows - -OPENSC ?= $(abs_builddir)/opensc -$(OPENSC)/configure.ac: - git clone git://github.com/frankmorgner/OpenSC.git $(OPENSC) - true cp Makefile.am.opensc.libopensc $(OPENSC)/src/libopensc/Makefile.am - -OPENSC_TAR_GZ=$(OPENSC)/opensc-0.12.3-pre1.tar.gz -$(OPENSC_TAR_GZ): $(OPENSC)/configure.ac - cd $(OPENSC) && ./bootstrap && ./configure --disable-doc - make -C $(OPENSC) dist - -NPA_TAR_GZ=$(abs_top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz -$(NPA_TAR_GZ): - make -C $(abs_top_builddir) dist - -BUILD=$(abs_builddir)/build -$(BUILD)/build: $(OPENSC_TAR_GZ) $(NPA_TAR_GZ) - svn co -r123 http://www.opensc-project.org/svn/build/trunk $(BUILD) - patch -p1 -d $(BUILD) < build_fix_zlib.patch - patch -p1 -d $(BUILD) < build_npa.patch - mkdir -p $(BUILD)/sources - cp $(OPENSC_TAR_GZ) $(BUILD)/sources - cp $(NPA_TAR_GZ) $(BUILD)/sources - - -MINGW ?= i586-mingw32msvc -IMAGE=$(BUILD)/image/opensc -NPA_TOOL_EXE=$(IMAGE)/bin/npa-tool.exe -$(NPA_TOOL_EXE): $(BUILD)/build - cd $(BUILD) && \ - export ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes; \ - CHOST=$(MINGW) CBUILD=`gcc -dumpmachine` \ - ZLIB_VERSION="1.2.6" \ - ./build - - -WIN32_DIR=$(abs_top_builddir)/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)_win32 -win: $(NPA_TOOL_EXE) - mv $(IMAGE) $(WIN32_DIR) +win: $(NPA_TOOL) $(INSTALL) -d $(WIN32_DIR)/include/libopensc $(INSTALL_DATA) -t $(WIN32_DIR)/include/libopensc \ $(OPENSC)/src/libopensc/*.h diff --git a/npa/win32/build_fix_zlib.patch b/npa/win32/build_fix_zlib.patch deleted file mode 100644 index 6a901b8..0000000 --- a/npa/win32/build_fix_zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: build/build -=================================================================== ---- build.orig/build 2012-04-15 20:42:56.183646915 +0200 -+++ build/build 2012-04-15 20:43:06.951700312 +0200 -@@ -419,7 +419,7 @@ - OPENSC_COMPONENTS="pcsc" - export PKG_CONFIG="true" - export MAN2HTML="true" -- export ZLIB_LIBS="-L${OPENSC_ROOT}/lib -lzdll" -+ #export ZLIB_LIBS="-L${OPENSC_ROOT}/lib -lzdll" - export ICONV_CFLAGS="-I${OPENSC_ROOT}/include" - export ICONV_LIBS="-L${OPENSC_ROOT}/lib -liconv" - fi diff --git a/npa/win32/build_npa.patch b/npa/win32/build_npa.patch deleted file mode 100644 index aa663e2..0000000 --- a/npa/win32/build_npa.patch +++ /dev/null @@ -1,107 +0,0 @@ -Index: build/build -=================================================================== ---- build.orig/build 2012-04-15 21:55:56.517367834 +0200 -+++ build/build 2012-04-15 22:08:45.505181046 +0200 -@@ -92,12 +92,13 @@ - for url in \ - ${ZLIB_URL} ${LZO_URL} ${LIBTOOL_URL} ${ICONV_URL} \ - ${OPENSSL_URL} ${OPENCT_URL} ${OPENSC_URL} ${LIBP11_URL} \ -- ${ENGINE_PKCS11_URL} ${PKCS11_HELPER_URL} ${OPENVPN_URL}; \ -+ ${ENGINE_PKCS11_URL} ${PKCS11_HELPER_URL} ${OPENVPN_URL} \ -+ ${NPA_URL}; \ - do - download1 "${url}" - done - -- if [ "$(ls "${SOURCESROOT}" | wc -l | sed 's/[ \t]//g')" != 11 ]; then -+ if [ "$(ls "${SOURCESROOT}" | wc -l | sed 's/[ \t]//g')" != 12 ]; then - die "sources is unclean." - fi - } -@@ -201,6 +202,7 @@ - zlib-dynamic ${ZLIB_CFLAGS} \ - no-capieng \ - --openssldir=/etc/ssl \ -+ experimental-pace \ - ${EXTRA_OPENSSL_CONFIG} \ - || die "Configure openssl" - [ -n "${BUILD_FOR_WINDOWS}" ] && perl util/mkdef.pl crypto ssl NT update -@@ -244,7 +246,24 @@ - CFLAGS="${CFLAGS} --include=cardmod-mingw-compat.h -I${SCRIPTROOT}/include" \ - --enable-openssl --enable-zlib ${extra_opensc} --enable-doc \ - || die "Configure opensc" -- ${MAKE} ${MAKEOPTS} ${MAKE_AUTOCONF_INSTALL_TARGET} DESTDIR="${OPENSC_ROOT}" || die "make opensc" -+ ${MAKE} ${MAKEOPTS} ${MAKE_AUTOCONF_INSTALL_TARGET} DESTDIR="${OPENSC_ROOT}" \ -+ || test -x ${OPENSC_ROOT}/bin/libopensc-3.dll || die "make opensc" -+ -+ fixup_la -+ -+ cd "${SCRIPTROOT}" -+ restore_la -+} -+ -+build_npa() { -+ fixup_la -+ -+ echo "Build npa" -+ cd "${BUILDROOT}/npa"* || die "cd npa" -+ ./configure ${CONFIGOPTS} ${EXTRA_NPA_CONFIG} \ -+ CFLAGS="${CFLAGS} -I${SCRIPTROOT}/include" LIBS="${LIBS} -lws2_32" \ -+ || die "Configure npa" -+ ${MAKE} ${MAKEOPTS} ${MAKE_AUTOCONF_INSTALL_TARGET} DESTDIR="${OPENSC_ROOT}" || die "make npa" - - fixup_la - -@@ -410,6 +429,8 @@ - export LZO_LIBS="-L${OPENVPN_ROOT}/lib -llzo2" - export PKCS11_HELPER_CFLAGS="-I${OPENVPN_ROOT}/include" - export PKCS11_HELPER_LIBS="-L${OPENVPN_ROOT}/lib -lpkcs11-helper" -+export OPENSC_CFLAGS="-I${OPENSC_ROOT}/include" -+export OPENSC_LIBS="-L${OPENSC_ROOT}/lib -lopensc" - - if [ -n "${BUILD_FOR_WINDOWS}" ]; then - CONFIGOPTS=" \ -@@ -430,6 +451,7 @@ - fixup_win64_libtool - build_dep - build_opensc -+build_npa - build_engine_pkcs11 - build_openvpn - copy_docs -Index: build/build.vars -=================================================================== ---- build.orig/build.vars 2012-04-15 21:55:32.361248035 +0200 -+++ build/build.vars 2012-04-15 21:56:04.533407557 +0200 -@@ -4,7 +4,7 @@ - ZLIB_VERSION="${ZLIB_VERSION:-1.2.5}" - LIBTOOL_VERSION="${LIBTOOL_VERSION:-2.4}" - ICONV_VERSION="${ICONV_VERSION:-1.14}" --OPENSSL_VERSION="${OPENSSL_VERSION:-1.0.0e}" -+OPENSSL_VERSION="${OPENSSL_VERSION:-1.0.1_with_openpace-0.7}" - OPENCT_VERSION="${OPENCT_VERSION:-0.6.20}" - OPENSC_VERSION="${OPENSC_VERSION:-0.12.2}" - LIBP11_VERSION="${LIBP11_VERSION:-0.2.8}" -@@ -12,12 +12,13 @@ - PKCS11_HELPER_VERSION="${PKCS11_HELPER_VERSION:-1.09}" - LZO_VERSION="${LZO_VERSION:-2.05}" - OPENVPN_VERSION="${OPENVPN_VERSION:-2.2.1}" -+NPA_VERSION="${NPA_VERSION:-0.4}" - OPENSC_COMPONENTS="openct" - - ZLIB_URL="${ZLIB_URL:-http://www.zlib.net/zlib-${ZLIB_VERSION}.tar.gz}" - LIBTOOL_URL="${LIBTOOL_URL:-http://ftp.gnu.org/gnu/libtool/libtool-${LIBTOOL_VERSION}.tar.gz}" - ICONV_URL="${ICONV_URL:-http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz}" --OPENSSL_URL="${OPENSSL_URL:-http://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz}" -+OPENSSL_URL="${OPENSSL_URL:-http://www2.informatik.hu-berlin.de/~morgner/openssl-${OPENSSL_VERSION}.tar.gz}" - OPENCT_URL="${OPENCT_URL:-http://www.opensc-project.org/files/openct/openct-${OPENCT_VERSION}.tar.gz}" - OPENSC_URL="${OPENSC_URL:-http://www.opensc-project.org/files/opensc/opensc-${OPENSC_VERSION}.tar.gz}" - LIBP11_URL="${LIBP11_URL:-http://www.opensc-project.org/files/libp11/libp11-${LIBP11_VERSION}.tar.gz}" -@@ -25,6 +26,7 @@ - PKCS11_HELPER_URL="${PKCS11_HELPER_URL:-http://www.opensc-project.org/files/pkcs11-helper/pkcs11-helper-${PKCS11_HELPER_VERSION}.tar.bz2}" - LZO_URL="${LZO_URL:-http://www.oberhumer.com/opensource/lzo/download/lzo-${LZO_VERSION}.tar.gz}" - OPENVPN_URL="${OPENVPN_URL:-http://swupdate.openvpn.net/community/releases/openvpn-${OPENVPN_VERSION}.tar.gz}" -+NPA_URL="${NPA_URL:-http://downloads.sourceforge.net/project/vsmartcard/npa/npa-${NPA_VERSION}.tar.gz}" - - #CHOST - #CTARGET