mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Joris Dobbelsteen <joris.dobbelsteen@sioux.eu>
To: ptxdist <ptxdist@pengutronix.de>
Subject: [ptxdist] [PATCH v2] Add gSOAP 2.8.12, C/C++ SOAP library
Date: Wed, 22 May 2013 13:44:48 +0200	[thread overview]
Message-ID: <1369223088.16896.18.camel@fqgym4j> (raw)

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 <joris.dobbelsteen@sioux.eu>
---
 ...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 <unknown.author@example.com>
+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
@@ -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"
+     help
+       High-performance C/C++ SOAP library.
+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 <joris.dobbelsteen@sioux.eu>
+#
+# 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	:= $(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
+
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 <joris.dobbelsteen@sioux.eu>
+#
+# 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	:= $(HOST_AUTOCONF) \
+	--$(call ptx/endis, PTXCONF_GSOAP_SSL)-ssl \
+	$(GLOBAL_IPV6_OPTION) \
+	--disable-samples
+
+# vim: syntax=make
-- 
1.7.10.4



-- 
ptxdist mailing list
ptxdist@pengutronix.de

             reply	other threads:[~2013-05-22 11:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-22 11:44 Joris Dobbelsteen [this message]
2013-05-31 10:29 ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1369223088.16896.18.camel@fqgym4j \
    --to=joris.dobbelsteen@sioux.eu \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox