blob: f151c9789de637f1796e3f150e2dcfe8f465e4c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# This file is part of mingw-cross-env.
# See doc/index.html for further information.
# gSOAP
PKG := gsoap
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.8.3
$(PKG)_CHECKSUM := 55677239751253b48f448eb30a7585df97cba486
$(PKG)_SUBDIR := gsoap-$(call SHORT_PKG_VERSION,$(PKG))
$(PKG)_FILE := gsoap_$($(PKG)_VERSION).zip
$(PKG)_WEBSITE := http://gsoap2.sourceforge.net/
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/gsoap2/gSOAP/$($(PKG)_FILE)
$(PKG)_DEPS := gcc gnutls
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
# Parallel bulds can fail
$(MAKE) -C '$(1)'/gsoap -j 1
# 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
# wine confuses the cross-compiling detection, so set it explicitly
$(SED) -i 's,cross_compiling=no,cross_compiling=yes,' '$(1)/configure'
# fix hard-coded gnutls dependencies
$(SED) -i "s/-lgnutls -lgcrypt -lgpg-error -lz/`'$(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)' \
--enable-gnutls
# Building for mingw requires native soapcpp2
ln -sf '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)/gsoap/src/soapcpp2'
# Parallel bulds can fail
$(MAKE) -C '$(1)' -j 1 AR='$(TARGET)-ar'
$(MAKE) -C '$(1)' -j 1 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 mingw-cross-env.
$(INSTALL) -m644 '$(1)/gsoap/'*.c '$(1)/gsoap/'*.cpp '$(PREFIX)/$(TARGET)/share/gsoap'
endef
|