| From 8a10b6bd556426616e93f15639f369defbeca33f Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Mon, 14 Aug 2017 11:58:58 -0700 |
| Subject: [PATCH] Fix out of tree builds |
| |
| When build dir is not same as sourcedir then the build failed due |
| to use of $(srcdir) variable which assumes source = build therefore |
| replace that with top_srcdir |
| |
| Additionally move the conditional addition of sources to Makefile.am |
| instead of adding it in configure.ac, since then we can use top_srcdir |
| variable to access those sources too otherwise its not possible to |
| specify the right dir for these sources |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| Upstream-Status: Submitted[https://sourceforge.net/p/gsoap2/patches/171/] |
| |
| configure.ac | 5 +++-- |
| gsoap/Makefile.am | 14 +++++++------- |
| gsoap/samples/autotest/Makefile.am | 8 ++++---- |
| gsoap/samples/databinding/Makefile.am | 8 ++++---- |
| gsoap/wsdl/Makefile.am | 15 +++++++++------ |
| 5 files changed, 27 insertions(+), 23 deletions(-) |
| |
| diff --git a/configure.ac b/configure.ac |
| index 0631c18..c36e696 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -265,7 +265,7 @@ if test "x$with_openssl" = "xyes"; then |
| WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP" |
| # an ugly hack to get httpda and smdevp plugins to conditionally |
| # compile with wsdl2h when OPENSSL is available |
| - WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/smdevp.c ../plugin/threads.c -lssl -lcrypto -lz" |
| + WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz" |
| SAMPLE_INCLUDES= |
| SAMPLE_SSL_LIBS="-lssl -lcrypto -lz" |
| WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a" |
| @@ -289,12 +289,13 @@ else |
| SAMPLE_INCLUDES= |
| WSDL2H_SOAP_CPP_LIB="libgsoap++.a" |
| fi |
| +AM_CONDITIONAL(WITH_OPENSSL, test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes") |
| +AC_SUBST(WITH_OPENSSL) |
| AC_SUBST(WSDL2H_EXTRA_FLAGS) |
| AC_SUBST(WSDL2H_EXTRA_LIBS) |
| AC_SUBST(SAMPLE_INCLUDES) |
| AC_SUBST(SAMPLE_SSL_LIBS) |
| AC_SUBST(WSDL2H_SOAP_CPP_LIB) |
| - |
| # enable the compile of the samples |
| AC_ARG_ENABLE(samples, |
| [ --enable-samples enable compile for the gsoap samples], |
| diff --git a/gsoap/Makefile.am b/gsoap/Makefile.am |
| index 7273b82..9c0c89f 100644 |
| --- a/gsoap/Makefile.am |
| +++ b/gsoap/Makefile.am |
| @@ -13,26 +13,26 @@ AM_CXXFLAGS = $(SOAPCPP2_DEBUG) -D$(platform) |
| AM_CFLAGS = $(SOAPCPP2_DEBUG) -D$(platform) |
| |
| # Install all soapcpp2 and wsdl2h files into ${prefix}/share/gsoap |
| -nobase_pkgdata_DATA = $(srcdir)/import/* $(srcdir)/plugin/* $(srcdir)/WS/* $(srcdir)/custom/* $(srcdir)/extras/* |
| +nobase_pkgdata_DATA = $(top_srcdir)/gsoap/import/* $(top_srcdir)/gsoap/plugin/* $(top_srcdir)/gsoap/WS/* $(top_srcdir)/gsoap/custom/* $(top_srcdir)/gsoap/extras/* |
| |
| ## we cannot build stdsoap2.o from 2 different sources (stdsoap2.cpp and stdsoap2.c), so we need an intermediate target: |
| stdsoap2_ck.c: stdsoap2.cpp |
| - $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck.c |
| + $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck.c |
| |
| stdsoap2_cpp.cpp: stdsoap2.cpp |
| - $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_cpp.cpp |
| + $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_cpp.cpp |
| |
| stdsoap2_ck_cpp.cpp: stdsoap2.cpp |
| - $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ck_cpp.cpp |
| + $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ck_cpp.cpp |
| |
| stdsoap2_ssl.c: stdsoap2.cpp |
| - $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl.c |
| + $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl.c |
| |
| stdsoap2_ssl_cpp.cpp: stdsoap2.cpp |
| - $(LN_S) -f $(srcdir)/stdsoap2.cpp stdsoap2_ssl_cpp.cpp |
| + $(LN_S) -f $(top_srcdir)/gsoap/stdsoap2.cpp stdsoap2_ssl_cpp.cpp |
| ## do the same fo dom.cpp since we want to link it into the cpp libs and dom.c into the c libs |
| dom_cpp.cpp: dom.cpp |
| - $(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp |
| + $(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp |
| |
| lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a |
| |
| diff --git a/gsoap/samples/autotest/Makefile.am b/gsoap/samples/autotest/Makefile.am |
| index 36adf51..61e514c 100644 |
| --- a/gsoap/samples/autotest/Makefile.am |
| +++ b/gsoap/samples/autotest/Makefile.am |
| @@ -6,13 +6,13 @@ |
| AUTOMAKE_OPTIONS = subdir-objects foreign 1.4 |
| |
| CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin |
| -AM_LDFLAGS=$(CPPFLAGS) -I$(srcdir) -L$(srcdir) |
| +AM_LDFLAGS=$(CPPFLAGS) -I$(top_srcdir)/gsoap/samples/autotest -L$(top_srcdir)/gsoap/samples/autotest |
| SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT) |
| WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT) |
| -WSDL_FLAGS=-d -P -t $(srcdir)/typemap.dat |
| +WSDL_FLAGS=-d -P -t $(top_srcdir)/gsoap/samples/autotest/typemap.dat |
| SOAP_FLAGS=-SL -T -I$(top_srcdir)/gsoap/import -I$(top_srcdir)/gsoap/custom |
| -WSDLINPUT=$(srcdir)/examples.wsdl |
| -SOAPHEADER=$(srcdir)/examples.h |
| +WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl |
| +SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h |
| SOAP_CPP_SRC=soapC.cpp soapServer.cpp |
| SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a |
| |
| diff --git a/gsoap/samples/databinding/Makefile.am b/gsoap/samples/databinding/Makefile.am |
| index 892d4fd..86ad482 100644 |
| --- a/gsoap/samples/databinding/Makefile.am |
| +++ b/gsoap/samples/databinding/Makefile.am |
| @@ -6,13 +6,13 @@ |
| AUTOMAKE_OPTIONS = subdir-objects foreign 1.4 |
| |
| CPPFLAGS=$(SAMPLE_INCLUDES) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin |
| -AM_LDFLAGS=$(AM_CPPFLAGS) -I$(srcdir) -L$(srcdir) |
| +AM_LDFLAGS=$(AM_CPPFLAGS) -I$(top_srcdir)/gsoap/samples/databinding -L$(top_srcdir)/gsoap/samples/databinding |
| SOAP=$(top_srcdir)/gsoap/src/soapcpp2$(EXEEXT) |
| WSDL=$(top_srcdir)/gsoap/wsdl/wsdl2h$(EXEEXT) |
| -WSDL_FLAGS=-g -t $(srcdir)/addresstypemap.dat |
| +WSDL_FLAGS=-g -t $(top_srcdir)/gsoap/samples/databinding/addresstypemap.dat |
| SOAP_FLAGS=-0 -CS -p address -I$(top_srcdir)/gsoap/import |
| -WSDLINPUT=$(srcdir)/address.xsd |
| -SOAPHEADER=$(srcdir)/address.h |
| +WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd |
| +SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h |
| SOAP_CPP_SRC=addressC.cpp |
| SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a |
| |
| diff --git a/gsoap/wsdl/Makefile.am b/gsoap/wsdl/Makefile.am |
| index b8da5db..9f2aefa 100644 |
| --- a/gsoap/wsdl/Makefile.am |
| +++ b/gsoap/wsdl/Makefile.am |
| @@ -6,14 +6,14 @@ |
| AUTOMAKE_OPTIONS = foreign 1.4 |
| |
| # INCLUDES=-I$(top_srcdir)/gsoap |
| -# AM_LDFLAGS=$(INCLUDES) -I$(srcdir) -L$(srcdir) |
| -AM_LDFLAGS=-L$(srcdir) -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin |
| +# AM_LDFLAGS=$(INCLUDES) -I$(top_srcdir)/gsoap/wsdl -L$(top_srcdir)/gsoap/wsdl |
| +AM_LDFLAGS=-L$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin |
| AM_CPPFLAGS=-I$(top_srcdir)/gsoap -I$(top_srcdir)/gsoap/plugin |
| SOAP=$(top_builddir)/gsoap/src/soapcpp2$(EXEEXT) |
| SOAP_CPP_LIB=$(top_builddir)/gsoap/$(WSDL2H_SOAP_CPP_LIB) |
| SOAP_CPP_SRC=wsdlC.cpp |
| -SOAPHEADER=$(srcdir)/wsdl.h |
| -SOAP_FLAGS=-SC -pwsdl -I$(srcdir) -I$(top_srcdir)/gsoap/import |
| +SOAPHEADER=$(top_srcdir)/gsoap/wsdl/wsdl.h |
| +SOAP_FLAGS=-SC -pwsdl -I$(top_srcdir)/gsoap/wsdl -I$(top_srcdir)/gsoap/import |
| BUILT_SOURCES=$(SOAP_CPP_SRC) |
| # WSDL2H_EXTRA_FLAGS=-DWITH_OPENSSL -DWITH_GZIP # defined in configure.in |
| # WSDL2H_EXTRA_LIBS=-lssl -lcrypto -lz # defined in configure.in |
| @@ -24,11 +24,14 @@ $(SOAP_CPP_SRC) : $(SOAPHEADER) |
| #LIBS= |
| |
| bin_PROGRAMS=wsdl2h |
| - |
| +if WITH_OPENSSL |
| +wsdl2h_LDADD=$(SOAP_CPP_LIB) $(top_srcdir)/gsoap/plugin/httpda.c $(top_srcdir)/gsoap/plugin/smdevp.c $(top_srcdir)/gsoap/plugin/threads.c $(WSDL2H_EXTRA_LIBS) |
| +else |
| +wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS) |
| +endif |
| wsdl2h_CFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS) |
| wsdl2h_CXXFLAGS=$(C_DEBUG_FLAGS) $(SOAPCPP2_NO_C_LOCALE) $(WSDL2H_EXTRA_FLAGS) $(WSDL2H_IMPORTPATH) |
| wsdl2h_CPPFLAGS=$(AM_CPPFLAGS) $(SOAPCPP2_NONAMESPACES) -D$(platform) |
| wsdl2h_SOURCES=wsdl2h.cpp wsdl.cpp wadl.cpp schema.cpp types.cpp service.cpp soap.cpp mime.cpp wsp.cpp bpel.cpp $(SOAP_CPP_SRC) |
| -wsdl2h_LDADD=$(SOAP_CPP_LIB) $(WSDL2H_EXTRA_LIBS) |
| |
| CLEANFILES= *~ *C.cpp *H.h *Stub.h *.nsmap |
| -- |
| 2.14.1 |
| |