mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
libxmlrpc: new package
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
477c28cf1d
commit
92777aa297
@ -655,6 +655,7 @@ source "package/libjson/Config.in"
|
|||||||
source "package/libroxml/Config.in"
|
source "package/libroxml/Config.in"
|
||||||
source "package/libxml2/Config.in"
|
source "package/libxml2/Config.in"
|
||||||
source "package/libxmlpp/Config.in"
|
source "package/libxmlpp/Config.in"
|
||||||
|
source "package/libxmlrpc/Config.in"
|
||||||
source "package/libxslt/Config.in"
|
source "package/libxslt/Config.in"
|
||||||
source "package/libyaml/Config.in"
|
source "package/libyaml/Config.in"
|
||||||
source "package/mxml/Config.in"
|
source "package/mxml/Config.in"
|
||||||
|
10
package/libxmlrpc/Config.in
Normal file
10
package/libxmlrpc/Config.in
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
config BR2_PACKAGE_LIBXMLRPC
|
||||||
|
bool "libxmlrpc"
|
||||||
|
select BR2_PACKAGE_LIBCURL
|
||||||
|
help
|
||||||
|
XML-RPC is a quick-and-easy way to make procedure calls over
|
||||||
|
the Internet. It converts the procedure call into an XML
|
||||||
|
document, sends it to a remote server using HTTP, and gets
|
||||||
|
back the response as XML.
|
||||||
|
|
||||||
|
http://xmlrpc-c.sourceforge.net/
|
25
package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch
Normal file
25
package/libxmlrpc/libxmlrpc-0001-fix-gennmtab-build.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Fix build of host tool
|
||||||
|
|
||||||
|
genmtab is a tool that needs to be built for the host as it is used
|
||||||
|
during the compilation process of libxmlrpc. Its Makefile needs a bit
|
||||||
|
of tuning to use the conventional CC_FOR_BUILD, CFLAGS_FOR_BUILD and
|
||||||
|
LDFLAGS_FOR_BUILD variables.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
|
||||||
|
Index: b/lib/expat/gennmtab/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/lib/expat/gennmtab/Makefile
|
||||||
|
+++ b/lib/expat/gennmtab/Makefile
|
||||||
|
@@ -40,9 +40,9 @@
|
||||||
|
dep: dep-common
|
||||||
|
|
||||||
|
gennmtab.o:%.o:%.c
|
||||||
|
- $(BUILDTOOL_CC) -c $< -o $@ $(CFLAGS_ALL) $(INCLUDES)
|
||||||
|
+ $(CC_FOR_BUILD) -c $< -o $@ $(CFLAGS_FOR_BUILD) $(INCLUDES)
|
||||||
|
|
||||||
|
gennmtab:%:%.o
|
||||||
|
- $(BUILDTOOL_CCLD) -o $@ $(LDFLAGS) $^
|
||||||
|
+ $(CC_FOR_BUILD) -o $@ $(LDFLAGS_FOR_BUILD) $^
|
||||||
|
|
||||||
|
include depend.mk
|
@ -0,0 +1,27 @@
|
|||||||
|
Handle builds without C++
|
||||||
|
|
||||||
|
libxmlrpc nicely handles the fact of being built without C++ support,
|
||||||
|
except for one location, fixed by this patch.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
|
||||||
|
Index: b/lib/util/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/lib/util/Makefile
|
||||||
|
+++ b/lib/util/Makefile
|
||||||
|
@@ -41,11 +41,14 @@
|
||||||
|
LIBOBJS = \
|
||||||
|
casprintf.o \
|
||||||
|
cmdline_parser.o \
|
||||||
|
- cmdline_parser_cpp.o \
|
||||||
|
getoptx.o \
|
||||||
|
string_parser.o \
|
||||||
|
stripcaseeq.o \
|
||||||
|
|
||||||
|
+ifeq ($(ENABLE_CPLUSPLUS),yes)
|
||||||
|
+LIBOBJS += cmdline_parser_cpp.o
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
.PHONY: all
|
||||||
|
all: $(LIBOBJS)
|
||||||
|
|
24
package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch
Normal file
24
package/libxmlrpc/libxmlrpc-0003-non-wchar-build.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
Disable wide-char specific code
|
||||||
|
|
||||||
|
The vast majority of the libxmlrpc code nicely handles the absence of
|
||||||
|
wide char support, except at one location, which is fixed by this
|
||||||
|
patch.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
|
||||||
|
Index: b/src/xmlrpc_decompose.c
|
||||||
|
===================================================================
|
||||||
|
--- a/src/xmlrpc_decompose.c
|
||||||
|
+++ b/src/xmlrpc_decompose.c
|
||||||
|
@@ -217,7 +217,11 @@
|
||||||
|
xmlrpc_strfree(*decompRootP->store.Tstring.valueP);
|
||||||
|
break;
|
||||||
|
case 'w':
|
||||||
|
+#if HAVE_UNICODE_WCHAR
|
||||||
|
free((void*)*decompRootP->store.TwideString.valueP);
|
||||||
|
+#else
|
||||||
|
+ XMLRPC_ASSERT(false);
|
||||||
|
+#endif
|
||||||
|
break;
|
||||||
|
case '6':
|
||||||
|
free((void*)*decompRootP->store.TbitString.valueP);
|
@ -0,0 +1,22 @@
|
|||||||
|
Use correct curl-config program
|
||||||
|
|
||||||
|
Instead of calling again curl-config in src/Makefile (which ends up
|
||||||
|
calling the wrong curl-config: the one in the PATH instead of the one
|
||||||
|
pointed at by the environment variables at configure time), let's use
|
||||||
|
the CURL_LDADD variable which was computed at configure time.
|
||||||
|
|
||||||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||||
|
|
||||||
|
Index: b/src/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- a/src/Makefile
|
||||||
|
+++ b/src/Makefile
|
||||||
|
@@ -56,7 +56,7 @@
|
||||||
|
TRANSPORT_MODS += blddir/lib/curl_transport/curltransaction
|
||||||
|
TRANSPORT_MODS += blddir/lib/curl_transport/curlmulti
|
||||||
|
TRANSPORT_MODS += blddir/lib/curl_transport/lock_pthread
|
||||||
|
- TRANSPORT_LIBDEP += $(shell curl-config --libs)
|
||||||
|
+ TRANSPORT_LIBDEP += $(CURL_LDADD)
|
||||||
|
endif
|
||||||
|
ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
|
||||||
|
TRANSPORT_MODS += blddir/lib/libwww_transport/xmlrpc_libwww_transport
|
30
package/libxmlrpc/libxmlrpc.mk
Normal file
30
package/libxmlrpc/libxmlrpc.mk
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# libxmlrpc
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
LIBXMLRPC_VERSION = 1.25.26
|
||||||
|
LIBXMLRPC_SOURCE = xmlrpc-c-$(LIBXMLRPC_VERSION).tgz
|
||||||
|
LIBXMLRPC_SITE = http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(LIBXMLRPC_VERSION)
|
||||||
|
LIBXMLRPC_LICENSE = BSD-3c (xml-rpc main code and abyss web server), BSD like (lib/expat), Python 1.5.2 license (parts of xmlrpc_base64.c)
|
||||||
|
LIBXMLRPC_LICENSE_FILES = doc/COPYING
|
||||||
|
LIBXMLRPC_INSTALL_STAGING = YES
|
||||||
|
LIBXMLRPC_DEPENDENCIES = libcurl
|
||||||
|
LIBXMLRPC_CONFIG_SCRIPTS = xmlrpc-c-config
|
||||||
|
|
||||||
|
LIBXMLRPC_CONF_OPT = \
|
||||||
|
$(if $(BR2_USE_WCHAR),,ac_cv_header_wchar_h=no) \
|
||||||
|
$(if $(BR2_INSTALL_LIBSTDCPP),,--disable-cplusplus) \
|
||||||
|
have_curl_config=$(STAGING_DIR)/usr/bin/curl-config \
|
||||||
|
CURL_CONFIG=$(STAGING_DIR)/usr/bin/curl-config
|
||||||
|
|
||||||
|
# Our package uses autoconf, but not automake, so we need to pass
|
||||||
|
# those variables at compile time as well.
|
||||||
|
LIBXMLRPC_MAKE_ENV = \
|
||||||
|
CC_FOR_BUILD="$(HOSTCC)" \
|
||||||
|
LD_FOR_BUILD="$(HOSTLD)" \
|
||||||
|
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
|
||||||
|
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
|
||||||
|
|
||||||
|
$(eval $(autotools-package))
|
Loading…
x
Reference in New Issue
Block a user