From: Joris Dobbelsteen <joris.dobbelsteen@sioux.eu>
To: ptxdist <ptxdist@pengutronix.de>
Subject: [ptxdist] [PATCH] Add gSOAP 2.8.12, C/C++ SOAP library.
Date: Tue, 21 May 2013 13:12:51 +0200 [thread overview]
Message-ID: <1369134771.16896.3.camel@fqgym4j> (raw)
Add gSOAP C/C++ Library. Host part includes soapcpp2 and wsdl2h compilers, which
generate C/C++ code. Target parts contains the static libraries and headers. So
no target package.
Given this is my first patch here, comments are welcome.
Signed-off-by: Joris Dobbelsteen <joris.dobbelsteen@sioux.eu>
---
patches/gsoap-2.8/autogen.sh | 18 ++++++
...cross_compile_use_precompiled_gsoap_tools.patch | 62 ++++++++++++++++++++
patches/gsoap-2.8/series | 1 +
rules/gsoap.in | 11 ++++
rules/gsoap.make | 59 +++++++++++++++++++
rules/host-gsoap.in | 11 ++++
rules/host-gsoap.make | 42 +++++++++++++
7 files changed, 204 insertions(+)
create mode 100755 patches/gsoap-2.8/autogen.sh
create mode 100644 patches/gsoap-2.8/cross_compile_use_precompiled_gsoap_tools.patch
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/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/cross_compile_use_precompiled_gsoap_tools.patch b/patches/gsoap-2.8/cross_compile_use_precompiled_gsoap_tools.patch
new file mode 100644
index 0000000..285f9b1
--- /dev/null
+++ b/patches/gsoap-2.8/cross_compile_use_precompiled_gsoap_tools.patch
@@ -0,0 +1,62 @@
+diff -ur gsoap-2.8-orig/configure.in gsoap-2.8/configure.in
+--- gsoap-2.8-orig/configure.in 2013-05-07 13:24:18.237121878 +0200
++++ gsoap-2.8/configure.in 2013-05-07 13:56:28.701158119 +0200
+@@ -86,6 +86,18 @@
+ *) platform=UNKNOWN ;;
+ esac
+
++if test "$cross_compiling" = yes; then
++ # cross-compiling
++ SOAP=soapcpp2
++ 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 -ur gsoap-2.8-orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/samples/autotest/Makefile.am
+--- gsoap-2.8-orig/gsoap/samples/autotest/Makefile.am 2013-05-07 13:24:18.293121879 +0200
++++ gsoap-2.8/gsoap/samples/autotest/Makefile.am 2013-05-07 13:55:31.449157043 +0200
+@@ -7,8 +7,8 @@
+
+ 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
++#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 -ur gsoap-2.8-orig/gsoap/samples/databinding/Makefile.am gsoap-2.8/gsoap/samples/databinding/Makefile.am
+--- gsoap-2.8-orig/gsoap/samples/databinding/Makefile.am 2013-05-07 13:24:18.293121879 +0200
++++ gsoap-2.8/gsoap/samples/databinding/Makefile.am 2013-05-07 13:57:02.633158757 +0200
+@@ -7,8 +7,8 @@
+
+ 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
++#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 -ur gsoap-2.8-orig/gsoap/wsdl/Makefile.am gsoap-2.8/gsoap/wsdl/Makefile.am
+--- gsoap-2.8-orig/gsoap/wsdl/Makefile.am 2013-05-07 13:24:18.313121880 +0200
++++ gsoap-2.8/gsoap/wsdl/Makefile.am 2013-05-07 13:57:18.873159061 +0200
+@@ -9,7 +9,7 @@
+ # AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir)
+ AM_LDFLAGS=-L$(srcdir)
+ AM_CPPFLAGS=-I$(top_srcdir)/gsoap
+-SOAP=$(top_builddir)/gsoap/src/soapcpp2
++#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/series b/patches/gsoap-2.8/series
new file mode 100644
index 0000000..d8399c0
--- /dev/null
+++ b/patches/gsoap-2.8/series
@@ -0,0 +1 @@
+cross_compile_use_precompiled_gsoap_tools.patch
diff --git a/rules/gsoap.in b/rules/gsoap.in
new file mode 100644
index 0000000..7c131d1
--- /dev/null
+++ b/rules/gsoap.in
@@ -0,0 +1,11 @@
+## SECTION=system_libraries
+
+config GSOAP
+ tristate
+ select HOST_GSOAP
+ select HOST_AUTOTOOLS_AUTOCONF
+ select HOST_AUTOTOOLS_AUTOMAKE
+ prompt "gsoap"
+ help
+ High-performance C/C++ SOAP library
+
diff --git a/rules/gsoap.make b/rules/gsoap.make
new file mode 100644
index 0000000..0138f71
--- /dev/null
+++ b/rules/gsoap.make
@@ -0,0 +1,59 @@
+# -*-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
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+$(GSOAP_SOURCE):
+ @$(call targetinfo)
+ @$(call get, GSOAP)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#GSOAP_CONF_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+GSOAP_CONF_TOOL := autoconf
+GSOAP_CONF_OPT := $(CROSS_AUTOCONF_USR) \
+ --disable-samples
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/gsoap.targetinstall:
+ @$(call targetinfo)
+# It only contains static libraries, 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..c143bde
--- /dev/null
+++ b/rules/host-gsoap.in
@@ -0,0 +1,11 @@
+## SECTION=hosttools_noprompt
+
+config HOST_GSOAP
+ tristate
+ prompt "gsoap"
+ select HOST_AUTOTOOLS_AUTOCONF
+ select HOST_AUTOTOOLS_AUTOMAKE
+ help
+ Builds the soapcpp2 and wsdl2h tools to generate gsoap stub
+ and skeleton C/C++ files.
+
diff --git a/rules/host-gsoap.make b/rules/host-gsoap.make
new file mode 100644
index 0000000..c3c3a9c
--- /dev/null
+++ b/rules/host-gsoap.make
@@ -0,0 +1,42 @@
+# -*-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
+# ----------------------------------------------------------------------------
+
+HOST_GSOAP_CONF_ENV := $(HOST_ENV)
+
+#
+# autoconf
+#
+HOST_GSOAP_CONF_TOOL := autoconf
+HOST_GSOAP_CONF_OPT := $(HOST_AUTOCONF) \
+ --disable-samples
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-gsoap.install:
+ @$(call targetinfo)
+ @install -D -m 755 ${HOST_GSOAP_DIR}/gsoap/src/soapcpp2 \
+ ${HOST_GSOAP_PKGDIR}/bin/soapcpp2
+ @install -D -m 755 ${HOST_GSOAP_DIR}/gsoap/wsdl/wsdl2h \
+ ${HOST_GSOAP_PKGDIR}/bin/wsdl2h
+ @$(call touch)
+
+# vim: syntax=make
--
1.7.10.4
--
ptxdist mailing list
ptxdist@pengutronix.de
next reply other threads:[~2013-05-21 11:13 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-21 11:12 Joris Dobbelsteen [this message]
2013-05-22 8:00 ` 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=1369134771.16896.3.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