2016-08-22 20:52:34 +01:00
|
|
|
# This file is part of MXE. See LICENSE.md for licensing information.
|
2010-01-22 23:48:09 +00:00
|
|
|
|
|
|
|
PKG := gsoap
|
2017-03-05 03:41:39 +00:00
|
|
|
$(PKG)_WEBSITE := https://www.genivia.com/dev.html
|
2016-12-18 05:43:56 +00:00
|
|
|
$(PKG)_DESCR := gSOAP
|
2010-01-22 23:48:09 +00:00
|
|
|
$(PKG)_IGNORE :=
|
2020-08-24 08:56:13 +01:00
|
|
|
$(PKG)_VERSION := 2.8.106
|
|
|
|
$(PKG)_CHECKSUM := 4e74838baf5437e95ae17aa3efb48bd0621f483bff4424f6255fcf327ff80765
|
2010-01-23 21:05:20 +00:00
|
|
|
$(PKG)_SUBDIR := gsoap-$(call SHORT_PKG_VERSION,$(PKG))
|
2010-04-11 15:37:51 +01:00
|
|
|
$(PKG)_FILE := gsoap_$($(PKG)_VERSION).zip
|
2017-03-05 03:41:39 +00:00
|
|
|
$(PKG)_URL := https://$(SOURCEFORGE_MIRROR)/project/gsoap2/gsoap-$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE)
|
2017-11-25 13:36:07 +00:00
|
|
|
$(PKG)_DEPS := cc libgcrypt libntlm openssl
|
2010-01-22 23:48:09 +00:00
|
|
|
|
|
|
|
define $(PKG)_UPDATE
|
2017-03-04 10:33:47 +00:00
|
|
|
$(WGET) -q -O- 'https://sourceforge.net/projects/gsoap2/files/gsoap-2.8/' | \
|
2010-12-02 19:31:45 +00:00
|
|
|
$(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
|
2017-02-01 01:49:47 +00:00
|
|
|
cd '$(1)' && ./configure \
|
|
|
|
--disable-ssl
|
2010-01-22 23:48:09 +00:00
|
|
|
|
2011-12-14 09:17:26 +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
|
|
|
|
|
2011-08-19 13:18:25 +01:00
|
|
|
# fix hard-coded gnutls dependencies
|
2011-10-28 15:25:56 +01:00
|
|
|
$(SED) -i "s/-lgnutls/`'$(TARGET)-pkg-config' --libs-only-l gnutls`/g;" '$(1)/configure'
|
2015-04-23 12:01:42 +01:00
|
|
|
$(SED) -i "s^-lgpg-error^`'$(TARGET)-gpg-error-config' --libs`^g;" '$(1)/configure'
|
2011-05-20 12:25:02 +01:00
|
|
|
|
2015-06-18 22:09:57 +01:00
|
|
|
# fix hard-coded openssl dependencies
|
|
|
|
$(SED) -i "s^-lssl -lcrypto^`'$(TARGET)-pkg-config' --libs-only-l openssl`^g;" '$(1)/configure'
|
|
|
|
|
2014-10-20 21:38:10 +01:00
|
|
|
# the cross build will need soapcpp2, not soapcpp2.exe
|
|
|
|
$(SED) -i "s,^\(SOAP = \$$(top_builddir)/gsoap/src/soapcpp2\)\$$(EXEEXT)$$,\1,;" '$(1)/gsoap/wsdl/Makefile.in'
|
|
|
|
|
2010-01-22 23:48:09 +00:00
|
|
|
# Build for mingw. Static by default.
|
|
|
|
# Prevent undefined reference to _rpl_malloc.
|
2017-03-05 03:41:39 +00:00
|
|
|
# https://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)' \
|
2010-09-20 11:00:00 +01:00
|
|
|
--host='$(TARGET)' \
|
2011-11-28 08:51:56 +00:00
|
|
|
--build="`config.guess`" \
|
2019-07-04 13:30:57 +01:00
|
|
|
CPPFLAGS='-DWITH_NTLM -D_WIN32_WINNT=0x0601 -DWINVER=0x0601'
|
2010-01-23 19:18:11 +00:00
|
|
|
|
2010-01-22 23:48:09 +00:00
|
|
|
# Building for mingw requires native soapcpp2
|
2011-08-15 11:40:35 +01:00
|
|
|
ln -sf '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)/gsoap/src/soapcpp2'
|
2010-01-22 23:48:09 +00:00
|
|
|
|
2011-12-14 09:17:26 +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
|
|
|
|
2011-12-14 09:17:26 +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
|
2014-04-06 14:18:15 +01:00
|
|
|
|
|
|
|
$(PKG)_BUILD_SHARED =
|