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] 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

             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