mxe/src/gsoap.mk

62 lines
2.3 KiB
Makefile
Raw Normal View History

2012-03-28 14:46:58 +01:00
# This file is part of MXE.
2012-03-29 11:14:15 +01:00
# See index.html for further information.
2010-01-22 23:48:09 +00:00
PKG := gsoap
$(PKG)_IGNORE :=
2013-12-04 06:35:31 +00:00
$(PKG)_VERSION := 2.8.17
2013-12-29 01:05:01 +00:00
$(PKG)_CHECKSUM := d6c483ea2eabade138d71d005300be909be9a274
$(PKG)_SUBDIR := gsoap-$(call SHORT_PKG_VERSION,$(PKG))
$(PKG)_FILE := gsoap_$($(PKG)_VERSION).zip
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/gsoap2/gSOAP/$($(PKG)_FILE)
$(PKG)_DEPS := gcc gnutls libgcrypt libntlm
2010-01-22 23:48:09 +00:00
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://sourceforge.net/projects/gsoap2/files/gSOAP/' | \
$(SED) -n 's,.*gsoap_\([0-9][^>]*\)\.zip.*,\1,p' | \
head -1
2010-01-22 23:48:09 +00:00
endef
define $(PKG)_BUILD
2012-08-20 12:27:23 +01:00
# avoid reconfiguration
cd '$(1)' && touch configure config.h.in
2010-01-22 23:48:09 +00:00
# Native build to get tools wsdl2h and soapcpp2
cd '$(1)' && ./configure
2010-01-22 23:48:09 +00:00
# Work around parallel build problem
$(MAKE) -C '$(1)'/gsoap/src -j '$(JOBS)' soapcpp2_yacc.h
$(MAKE) -C '$(1)'/gsoap -j '$(JOBS)'
2010-01-22 23:48:09 +00:00
# Install the native tools manually
$(INSTALL) -m755 '$(1)'/gsoap/wsdl/wsdl2h '$(PREFIX)/bin/$(TARGET)-wsdl2h'
$(INSTALL) -m755 '$(1)'/gsoap/src/soapcpp2 '$(PREFIX)/bin/$(TARGET)-soapcpp2'
$(MAKE) -C '$(1)' -j '$(JOBS)' clean
# fix hard-coded gnutls dependencies
$(SED) -i "s/-lgnutls/`'$(TARGET)-pkg-config' --libs-only-l gnutls`/g;" '$(1)/configure'
2011-05-20 12:25:02 +01:00
2010-01-22 23:48:09 +00:00
# Build for mingw. Static by default.
# Prevent undefined reference to _rpl_malloc.
# http://groups.google.com/group/ikarus-users/browse_thread/thread/fd1d101eac32633f
2010-01-23 19:18:11 +00:00
cd '$(1)' && ac_cv_func_malloc_0_nonnull=yes ./configure \
2010-02-05 03:38:03 +00:00
--prefix='$(PREFIX)/$(TARGET)' \
--host='$(TARGET)' \
--build="`config.guess`" \
--enable-gnutls \
CPPFLAGS='-DWITH_NTLM'
2010-01-23 19:18:11 +00:00
2010-01-22 23:48:09 +00:00
# Building for mingw requires native soapcpp2
ln -sf '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)/gsoap/src/soapcpp2'
2010-01-22 23:48:09 +00:00
# Work around parallel build problem
$(MAKE) -C '$(1)'/gsoap/src -j '$(JOBS)' soapcpp2_yacc.h AR='$(TARGET)-ar'
$(MAKE) -C '$(1)' -j '$(JOBS)' AR='$(TARGET)-ar'
2010-01-22 23:48:09 +00:00
$(MAKE) -C '$(1)' -j '$(JOBS)' install
2010-01-22 23:48:09 +00:00
# Apparently there is a tradition of compiling gsoap source files into applications.
# Since we linked dom.cpp and dom.c into the libraries, this should not be necessary.
2012-03-28 14:46:58 +01:00
# But we bend to tradition and install these sources into MXE.
2010-01-22 23:48:09 +00:00
$(INSTALL) -m644 '$(1)/gsoap/'*.c '$(1)/gsoap/'*.cpp '$(PREFIX)/$(TARGET)/share/gsoap'
endef