view src/gsoap.mk @ 2661:3567da505594

json-c update to version 0.10, using github downloads. Squashed commit of the following: commit a93e1e80e4a6b668009bd024923e387f71eff7a3 Author: Thomas Mayer <thomas@residuum.org> Date: Tue Jul 17 23:16:59 2012 +0200 Patches for: - missing file - remove check for rpl_* functions commit ad94ec0c30381acb9ac25db96182a1308b9fbd3c Author: Thomas Mayer <thomas@residuum.org> Date: Tue Jul 17 19:08:40 2012 +0200 Fixed indentation commit 78b51e08e5174454495b8df547c4bccdc06bef73 Author: Thomas Mayer <thomas@residuum.org> Date: Tue Jul 17 01:13:08 2012 +0200 json-c compiles correctly (finally). commit 0c4bb3a6b4b6db1ac6a6d098ce55041db55bc8ab Author: Thomas Mayer <thomas@residuum.org> Date: Fri Jul 13 22:16:41 2012 +0200 Changes to json-c files according to current MXE standards. commit a533fe5439d56de76c2d3b9d634c597cba94ff52 Author: Thomas Mayer <thomas@residuum.org> Date: Thu Jul 12 22:27:54 2012 +0200 Update to json-c 0.10, and use github repository.
author Thomas Mayer <thomas@residuum.org>
date Tue, 17 Jul 2012 23:18:18 +0200
parents 88eccc6528ba
children 6e2ca683bcbe
line wrap: on
line source

# This file is part of MXE.
# See index.html for further information.

PKG             := gsoap
$(PKG)_IGNORE   :=
$(PKG)_CHECKSUM := 61ac88f1fd3f5f3a93358577c634302760d31640
$(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

define $(PKG)_UPDATE
    $(WGET) -q -O- 'http://sourceforge.net/projects/gsoap2/files/gSOAP/' | \
    $(SED) -n 's,.*gsoap_\([0-9][^>]*\)\.zip.*,\1,p' | \
    head -1
endef

define $(PKG)_BUILD
    # Native build to get tools wsdl2h and soapcpp2
    cd '$(1)' && ./configure

    # Work around parallel build problem
    $(MAKE) -C '$(1)'/gsoap/src -j '$(JOBS)' soapcpp2_yacc.h
    $(MAKE) -C '$(1)'/gsoap -j '$(JOBS)'

    # 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'

    # Build for mingw. Static by default.
    # Prevent undefined reference to _rpl_malloc.
    # http://groups.google.com/group/ikarus-users/browse_thread/thread/fd1d101eac32633f
    cd '$(1)' && ac_cv_func_malloc_0_nonnull=yes ./configure \
        --prefix='$(PREFIX)/$(TARGET)' \
        --host='$(TARGET)' \
        --build="`config.guess`" \
        --enable-gnutls \
        CPPFLAGS='-DWITH_NTLM'

    # Building for mingw requires native soapcpp2
    ln -sf '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)/gsoap/src/soapcpp2'

    # 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'

    $(MAKE) -C '$(1)' -j '$(JOBS)' install
    # 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.
    # But we bend to tradition and install these sources into MXE.
    $(INSTALL) -m644 '$(1)/gsoap/'*.c '$(1)/gsoap/'*.cpp '$(PREFIX)/$(TARGET)/share/gsoap'
endef