From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from ptx.hi.pengutronix.de ([2001:6f8:1178:2:5054:ff:fec0:8e10] ident=Debian-exim) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1UiMad-0001tj-K3 for ptxdist@pengutronix.de; Fri, 31 May 2013 12:29:43 +0200 Received: from mol by ptx.hi.pengutronix.de with local (Exim 4.72) (envelope-from ) id 1UiMab-0004kr-Eo for ptxdist@pengutronix.de; Fri, 31 May 2013 12:29:41 +0200 Date: Fri, 31 May 2013 12:29:41 +0200 From: Michael Olbrich Message-ID: <20130531102941.GH5243@pengutronix.de> References: <1369223088.16896.18.camel@fqgym4j> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1369223088.16896.18.camel@fqgym4j> Subject: Re: [ptxdist] [PATCH v2] Add gSOAP 2.8.12, C/C++ SOAP library Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de On Wed, May 22, 2013 at 01:44:48PM +0200, Joris Dobbelsteen wrote: > Add gSOAP 2.8.12, C/C++ SOAP library. > - Includes patch to support cross-compile, using host code generators instead of just compiled ones. > - soapccp2/wsdl2h code generators as host tools > > Updated dependencies as well. This creates a few header files and static libraries, plus a code generator, so there is no package for the target system. > > Signed-off-by: Joris Dobbelsteen > --- > ...Add-cross-compile-support-for-gsoap-tools.patch | 72 ++++++++++++++++++++ > patches/gsoap-2.8/autogen.sh | 18 +++++ > patches/gsoap-2.8/series | 4 ++ > rules/gsoap.in | 20 ++++++ > rules/gsoap.make | 51 ++++++++++++++ > rules/host-gsoap.in | 7 ++ > rules/host-gsoap.make | 31 +++++++++ > 7 files changed, 203 insertions(+) > create mode 100644 patches/gsoap-2.8/0001-Add-cross-compile-support-for-gsoap-tools.patch > create mode 100755 patches/gsoap-2.8/autogen.sh > create mode 100644 patches/gsoap-2.8/series > create mode 100644 rules/gsoap.in > create mode 100644 rules/gsoap.make > create mode 100644 rules/host-gsoap.in > create mode 100644 rules/host-gsoap.make > > diff --git a/patches/gsoap-2.8/0001-Add-cross-compile-support-for-gsoap-tools.patch b/patches/gsoap-2.8/0001-Add-cross-compile-support-for-gsoap-tools.patch > new file mode 100644 > index 0000000..3642321 > --- /dev/null > +++ b/patches/gsoap-2.8/0001-Add-cross-compile-support-for-gsoap-tools.patch > @@ -0,0 +1,72 @@ > +From: unknown author > +Date: Wed, 22 May 2013 11:20:35 +0200 > +Subject: [PATCH] Add cross-compile support for gsoap tools > + > +--- > + configure.in | 12 ++++++++++++ > + gsoap/samples/autotest/Makefile.am | 2 -- > + gsoap/samples/databinding/Makefile.am | 2 -- > + gsoap/wsdl/Makefile.am | 1 - > + 4 files changed, 12 insertions(+), 5 deletions(-) > + > +diff --git a/configure.in b/configure.in > +index 60a6eb2..602c3fd 100644 > +--- a/configure.in > ++++ b/configure.in > +@@ -86,6 +86,18 @@ case "${host}" in > + *) platform=UNKNOWN ;; > + esac > + > ++if test "$cross_compiling" = yes; then > ++ # cross-compiling > ++ AC_PATH_PROG([SOAP],[soapcpp2]) > ++ AC_PATH_PROG([WSDL],[wsdl2h]) > ++else > ++ # regular compile > ++ SOAP="\$(top_srcdir)/gsoap/src/soapcpp2" > ++ WSDL="\$(top_srcdir)/gsoap/wsdl/wsdl2h" > ++fi > ++AC_SUBST(SOAP) > ++AC_SUBST(WSDL) > ++ > + AC_SUBST(SAMPLE_EXTRA_LIBS) > + AC_SUBST(platform) > + > +diff --git a/gsoap/samples/autotest/Makefile.am b/gsoap/samples/autotest/Makefile.am > +index 35641a2..0d3e85e 100644 > +--- a/gsoap/samples/autotest/Makefile.am > ++++ b/gsoap/samples/autotest/Makefile.am > +@@ -7,8 +7,6 @@ AUTOMAKE_OPTIONS = foreign 1.4 > + > + INCLUDES=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin > + AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir) > +-SOAP=$(top_srcdir)/gsoap/src/soapcpp2 > +-WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h > + WSDL_FLAGS=-P -t $(srcdir)/typemap.dat > + SOAP_FLAGS=-SL -T -I$(top_srcdir)/gsoap/import > + WSDLINPUT=$(srcdir)/examples.wsdl > +diff --git a/gsoap/samples/databinding/Makefile.am b/gsoap/samples/databinding/Makefile.am > +index beac10a..68ed194 100644 > +--- a/gsoap/samples/databinding/Makefile.am > ++++ b/gsoap/samples/databinding/Makefile.am > +@@ -7,8 +7,6 @@ AUTOMAKE_OPTIONS = foreign 1.4 > + > + INCLUDES=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin > + AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir) > +-SOAP=$(top_srcdir)/gsoap/src/soapcpp2 > +-WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h > + WSDL_FLAGS=-g -t $(srcdir)/addresstypemap.dat > + SOAP_FLAGS=-0 -CS -p address -I$(top_srcdir)/gsoap/import > + WSDLINPUT=$(srcdir)/address.xsd > +diff --git a/gsoap/wsdl/Makefile.am b/gsoap/wsdl/Makefile.am > +index d431760..2ec66f9 100644 > +--- a/gsoap/wsdl/Makefile.am > ++++ b/gsoap/wsdl/Makefile.am > +@@ -9,7 +9,6 @@ AUTOMAKE_OPTIONS = foreign 1.4 > + # AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir) > + AM_LDFLAGS=-L$(srcdir) > + AM_CPPFLAGS=-I$(top_srcdir)/gsoap > +-SOAP=$(top_builddir)/gsoap/src/soapcpp2 > + SOAP_CPP_LIB=$(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB) > + SOAP_CPP_SRC=wsdlC.cpp > + SOAPHEADER=$(srcdir)/wsdl.h > diff --git a/patches/gsoap-2.8/autogen.sh b/patches/gsoap-2.8/autogen.sh > new file mode 100755 > index 0000000..df78c38 > --- /dev/null > +++ b/patches/gsoap-2.8/autogen.sh This must be a symlink to ../autogen.sh > @@ -0,0 +1,18 @@ > +#!/bin/bash > + > +set -e > + > +aclocal $ACLOCAL_FLAGS > + > +libtoolize \ > + --force \ > + --copy > + > +autoreconf \ > + --force \ > + --install \ > + --warnings=cross \ > + --warnings=syntax \ > + --warnings=obsolete \ > + --warnings=unsupported > + > diff --git a/patches/gsoap-2.8/series b/patches/gsoap-2.8/series > new file mode 100644 > index 0000000..0301695 > --- /dev/null > +++ b/patches/gsoap-2.8/series > @@ -0,0 +1,4 @@ > +# generated by git-ptx-patches > +#tag:base --start-number 1 > +0001-Add-cross-compile-support-for-gsoap-tools.patch > +# f175a30fe1b80a8548826b0c0f6d5684 - git-ptx-patches magic > diff --git a/rules/gsoap.in b/rules/gsoap.in > new file mode 100644 > index 0000000..ccec2fb > --- /dev/null > +++ b/rules/gsoap.in > @@ -0,0 +1,20 @@ > +## SECTION=system_libraries > + > +menuconfig GSOAP > + tristate > + select HOST_GSOAP > + select OPENSSL if GSOAP_SSL > + select ZLIB > + prompt "gsoap" expand the prompt with spaces to align the "--->" > + help > + High-performance C/C++ SOAP library. add empty line. > +if GSOAP > + > +config GSOAP_SSL > + bool > + default n > + prompt "Enable SSL support" > + help > + High-performance C/C++ SOAP library. > + > +endif > diff --git a/rules/gsoap.make b/rules/gsoap.make > new file mode 100644 > index 0000000..61b7e11 > --- /dev/null > +++ b/rules/gsoap.make > @@ -0,0 +1,51 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2013 by Joris Dobbelsteen > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_GSOAP) += gsoap > + > +# > +# Paths and names > +# > +GSOAP_VERSION := 2.8.12 > +GSOAP_MD5 := 5700d26fc6fe3073d038349e19c3640d > +GSOAP := gsoap-2.8 > +GSOAP_SUFFIX := zip > +GSOAP_URL := $(PTXCONF_SETUP_SFMIRROR)/gsoap2/gsoap_${GSOAP_VERSION}.$(GSOAP_SUFFIX) > +GSOAP_SOURCE := $(SRCDIR)/gsoap_${GSOAP_VERSION}.$(GSOAP_SUFFIX) > +GSOAP_DIR := $(BUILDDIR)/${GSOAP} > +GSOAP_LICENSE := GPLv2/propriatary > +GSOAP_MAKE_PAR := NO > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +# > +# autoconf > +# > +GSOAP_CONF_TOOL := autoconf > +GSOAP_CONF_OPT := i\ break. $(CROSS_AUTOCONF_USR) \ > + --$(call ptx/endis, PTXCONF_GSOAP_SSL)-ssl \ > + $(GLOBAL_IPV6_OPTION) \ > + --disable-samples > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/gsoap.targetinstall: > + @$(call targetinfo) > +# It only contains code generator, static libraries and headers. Nothing for the target. > + @$(call touch) > + > +# vim: syntax=make > diff --git a/rules/host-gsoap.in b/rules/host-gsoap.in > new file mode 100644 > index 0000000..277937d > --- /dev/null > +++ b/rules/host-gsoap.in > @@ -0,0 +1,7 @@ > +## SECTION=hosttools_noprompt > + > +config HOST_GSOAP > + tristate > + select HOST_ZLIB > + select HOST_OPENSSL if GSOAP_SSL this breaks dependencies. If GSOAP_SSL is selected then host-gsoap may not be rebuilt. select HOST_OPENSSL if HOST_GSOAP_OPENSSL if HOST_GSOAP config HOST_GSOAP_OPENSSL bool endif and select HOST_GSOAP_OPENSSL in GSOAP Also: is this actually needed? do the tool use openssl? > + > diff --git a/rules/host-gsoap.make b/rules/host-gsoap.make > new file mode 100644 > index 0000000..18cbabd > --- /dev/null > +++ b/rules/host-gsoap.make > @@ -0,0 +1,31 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2011 by Joris Dobbelsteen > +# > +# See CREDITS for details about who has contributed to this project. > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +HOST_PACKAGES-$(PTXCONF_HOST_GSOAP) += host-gsoap > + > +HOST_GSOAP_MAKE_PAR := NO > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +# > +# autoconf > +# > +HOST_GSOAP_CONF_TOOL := autoconf > +HOST_GSOAP_CONF_OPT := \ break. $(HOST_AUTOCONF) \ > + --$(call ptx/endis, PTXCONF_GSOAP_SSL)-ssl \ > + $(GLOBAL_IPV6_OPTION) \ GLOBAL_IPV6_OPTION is for the target only. Just disable it unless the tools need this. Michael > + --disable-samples > + > +# vim: syntax=make > -- > 1.7.10.4 > > > > -- > ptxdist mailing list > ptxdist@pengutronix.de > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list ptxdist@pengutronix.de