aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gsoap
diff options
context:
space:
mode:
authorPeter Gsellmann <pgsellmann@portner-elektronik.at>2011-03-11 18:38:37 +0000
committerKhem Raj <raj.khem@gmail.com>2011-03-12 12:26:25 -0800
commitd641ae6bfd4303508c86db9285c2dcba28fb5474 (patch)
treec10eda2197e01f3209fcaf12cdb92dadcc48dd0e /recipes/gsoap
parentafc7d19c2a828e6c733f04e3fee0b9a0ac4f7ef0 (diff)
downloadopenembedded-d641ae6bfd4303508c86db9285c2dcba28fb5474.tar.gz
gsoap_2.7.13 build errors
There is a compiler error about an impossible cast from QUIRKS* to const QUIRKS* The patches are from Fedora12 which has the exact same gsoap-version They can be found at http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/12/Everything/source/SRPMS/gsoap-2.7.13-2.fc12.src.rpm In the native package, the generated binary is installed in STAGING_BINDIR_NATIVE where expected by the gsoap-package Otherwise the gsoap-package uses a soapcpp2 delivered as 32bit-executable in the source-package! This fails on x86_64 hosts. Signed-off-by: Peter Gsellmann <pgsellmann@portner-elektronik.at> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes/gsoap')
-rw-r--r--recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch17
-rw-r--r--recipes/gsoap/gsoap-2.7.13/unused_args.patch39
-rw-r--r--recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch72
-rw-r--r--recipes/gsoap/gsoap-native_2.7.13.bb3
-rw-r--r--recipes/gsoap/gsoap_2.7.13.inc4
5 files changed, 133 insertions, 2 deletions
diff --git a/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch b/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch
new file mode 100644
index 0000000000..443fb694bb
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/gsoap-2.7-openssl.patch
@@ -0,0 +1,17 @@
+diff -up gsoap-2.7/gsoap/stdsoap2.cpp.openssl gsoap-2.7/gsoap/stdsoap2.cpp
+--- gsoap-2.7/gsoap/stdsoap2.cpp.openssl 2008-10-02 19:36:28.000000000 +0200
++++ gsoap-2.7/gsoap/stdsoap2.cpp 2009-08-22 22:20:49.000000000 +0200
+@@ -4153,7 +4153,12 @@ again:
+ { X509_EXTENSION *ext = X509_get_ext(peer, i);
+ const char *ext_str = OBJ_nid2sn(OBJ_obj2nid(X509_EXTENSION_get_object(ext)));
+ if (ext_str && !strcmp(ext_str, "subjectAltName"))
+- { X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++ {
++#if (OPENSSL_VERSION_NUMBER >= 0x10000000L)
++ const X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++#else
++ X509V3_EXT_METHOD *meth = X509V3_EXT_get(ext);
++#endif
+ void *ext_data;
+ #if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
+ const unsigned char *data;
diff --git a/recipes/gsoap/gsoap-2.7.13/unused_args.patch b/recipes/gsoap/gsoap-2.7.13/unused_args.patch
new file mode 100644
index 0000000000..376a9b918e
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/unused_args.patch
@@ -0,0 +1,39 @@
+diff -rup gsoap-2.7/gsoap/src/symbol2.c gsoap-2.7mf/gsoap/src/symbol2.c
+--- gsoap-2.7/gsoap/src/symbol2.c 2009-03-21 16:24:34.000000000 -0500
++++ gsoap-2.7mf/gsoap/src/symbol2.c 2009-05-11 10:18:32.000000000 -0500
+@@ -7334,6 +7334,7 @@ soap_instantiate_class(Tnode *typ)
+ fprintf(fhead,"\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_instantiate_%s(struct soap*, int, const char*, const char*, size_t*);", c_type(typ), c_ident(typ));
+ fprintf(fout,"\n\nSOAP_FMAC3 %s * SOAP_FMAC4 soap_instantiate_%s(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)", c_type(typ), c_ident(typ));
+ fprintf(fout,"\n{");
++ fprintf(fout,"\n\t(void)type; (void)arrayType; /* appease -Wall -Werror */");
+ fprintf(fout, "\n\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"soap_instantiate_%s(%%d, %%s, %%s)\\n\", n, type?type:\"\", arrayType?arrayType:\"\"));", c_ident(typ));
+
+ fprintf(fout,"\n\tstruct soap_clist *cp = soap_link(soap, NULL, %s, n, soap_fdelete);", soap_type(typ));
+@@ -7867,6 +7868,8 @@ Tnode* typ;
+ fprintf(fout,"\n\nvoid %s::soap_default(struct soap *soap)\n{", c_ident(typ));
+ if ((s = has_soapref(typ)))
+ fprintf(fout,"\n\tthis->%s = soap;", s);
++ else
++ fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+ d = get_Darraydims(typ);
+ if (d)
+ { fprintf(fout,"\n\tthis->%s = NULL;", ident(p->sym->name));
+@@ -7894,6 +7897,8 @@ Tnode* typ;
+ fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_default_%s(struct soap *soap, %s)\n{", c_ident(typ),c_type_id(typ, "*a"));
+ if ((s = has_soapref(typ)))
+ fprintf(fout,"\n\ta->%s = soap;", s);
++ else
++ fprintf(fout,"\n\t(void)soap; /* appease -Wall -Werror */");
+ d = get_Darraydims(typ);
+ if (d)
+ { fprintf(fout,"\n\ta->%s = NULL;", ident(p->sym->name));
+@@ -9123,7 +9128,7 @@ soap_out(Tnode *typ)
+ if (is_typedef(typ))
+ fprintf(fout, "\n{\treturn soap_%s2s(soap, n);\n}", t_ident(typ));
+ else if (is_boolean(typ))
+- fprintf(fout, "\n{\treturn soap_code_str(soap_codes_%s, n!=0);\n}", c_ident(typ));
++ fprintf(fout, "\n{\t(void)soap; /* appease -Wall -Werror */\n\treturn soap_code_str(soap_codes_%s, n!=0);\n}", c_ident(typ));
+ else if (!is_mask(typ))
+ { fprintf(fout, "\n{\tconst char *s = soap_code_str(soap_codes_%s, (long)n);", c_ident(typ));
+ fprintf(fout, "\n\tif (s)\n\t\treturn s;");
+Only in gsoap-2.7mf/gsoap/src: symbol2.c~
diff --git a/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch b/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch
new file mode 100644
index 0000000000..e25324dafc
--- /dev/null
+++ b/recipes/gsoap/gsoap-2.7.13/use_libtool-2.7.12.patch
@@ -0,0 +1,72 @@
+diff -ur gsoap-2.7/configure.in gsoap-2.7mf/configure.in
+--- gsoap-2.7/configure.in 2008-10-02 12:36:28.000000000 -0500
++++ gsoap-2.7mf/configure.in 2008-12-24 15:05:11.000000000 -0600
+@@ -15,7 +15,7 @@
+ AM_PROG_LEX
+ AC_PROG_YACC
+ AC_PROG_CPP
+-AC_PROG_RANLIB
++AM_PROG_LIBTOOL
+ AC_PROG_LN_S
+ AC_PROG_AWK
+ AC_PROG_INSTALL
+@@ -157,12 +157,12 @@
+ AC_MSG_RESULT(no)
+ WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
+ WSDL2H_EXTRA_LIBS="-lssl -lcrypto -lz"
+- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
+ else
+ AC_MSG_RESULT(yes)
+ WSDL2H_EXTRA_FLAGS=
+ WSDL2H_EXTRA_LIBS=
+- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
++ WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
+ fi
+ AC_SUBST(WSDL2H_EXTRA_FLAGS)
+ AC_SUBST(WSDL2H_EXTRA_LIBS)
+diff -ur gsoap-2.7/gsoap/Makefile.am gsoap-2.7mf/gsoap/Makefile.am
+--- gsoap-2.7/gsoap/Makefile.am 2008-10-02 12:36:28.000000000 -0500
++++ gsoap-2.7mf/gsoap/Makefile.am 2008-12-24 15:43:06.000000000 -0600
+@@ -3,7 +3,7 @@
+ ## you have all needed files, that a GNU package needs
+ AUTOMAKE_OPTIONS = foreign 1.4
+
+-SUBDIRS = src wsdl @SAMPLE_DIRS@
++SUBDIRS = . src wsdl @SAMPLE_DIRS@
+ CLEANFILES = soapcpp2 wsdl2h stdsoap2_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp
+
+ ## *~ *.req.xml *.res.xml *.nsmap *.wsdl *.xsd *Proxy.h \
+@@ -31,19 +31,19 @@
+ stdsoap2_ssl_cpp.cpp: stdsoap2.cpp
+ $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp
+
+-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+-libgsoap_a_SOURCES = stdsoap2.c
+-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+-libgsoap___a_SOURCES = stdsoap2_cpp.cpp
+-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
+-libgsoapck_a_SOURCES = stdsoap2_ck.c
+-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
+-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp
+-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
+-libgsoapssl_a_SOURCES = stdsoap2_ssl.c
+-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
+-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp
+-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
++libgsoap_la_SOURCES = stdsoap2.c
++libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
++libgsoap___la_SOURCES = stdsoap2_cpp.cpp
++libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform)
++libgsoapck_la_SOURCES = stdsoap2_ck.c
++libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
++libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp
++libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
++libgsoapssl_la_SOURCES = stdsoap2_ssl.c
++libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
++libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp
++libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM -DWITH_GZIP
+
+ BUILT_SOURCES = stdsoap2_cpp.cpp $(lib_LIBRARIES)
+
diff --git a/recipes/gsoap/gsoap-native_2.7.13.bb b/recipes/gsoap/gsoap-native_2.7.13.bb
index 3e905e7562..83c23290a5 100644
--- a/recipes/gsoap/gsoap-native_2.7.13.bb
+++ b/recipes/gsoap/gsoap-native_2.7.13.bb
@@ -6,8 +6,9 @@ EXTRA_OEMAKE = ""
inherit native
+
do_install() {
- :
+ install -m 0755 ${S}/gsoap/src/soapcpp2 ${STAGING_BINDIR_NATIVE}/
}
diff --git a/recipes/gsoap/gsoap_2.7.13.inc b/recipes/gsoap/gsoap_2.7.13.inc
index 877e1d1d18..c3ab3c4880 100644
--- a/recipes/gsoap/gsoap_2.7.13.inc
+++ b/recipes/gsoap/gsoap_2.7.13.inc
@@ -3,7 +3,9 @@ for the development of SOAP Web Services and clients."
SECTION = "devel"
LICENSE = "GPL"
-SRC_URI = "${SOURCEFORGE_MIRROR}/gsoap2/gsoap_${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/gsoap2/gsoap_${PV}.tar.gz \
+ file://gsoap-2.7-openssl.patch \
+ file://unused_args.patch"
inherit autotools