updated windows build

This commit is contained in:
Frank Morgner
2013-02-09 23:44:10 +01:00
parent a0b37e1296
commit acabe8be62
3 changed files with 65 additions and 161 deletions

View File

@@ -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