Fix build on MirBSD.
Remove all "#define _XOPEN_SOURCE" lines, as they break things horribly on MirBSD for some reason. Sprinkle a few <sys/types.h> includes. Add support for generating shared libraries on MirBSD.
This commit is contained in:
parent
c9d9a88c72
commit
312e8a5a62
4 changed files with 55 additions and 8 deletions
|
@ -1,4 +1,4 @@
|
||||||
# $NetBSD: Makefile,v 1.34 2013/11/14 08:01:11 adam Exp $
|
# $NetBSD: Makefile,v 1.35 2013/12/01 23:25:31 bsiegert Exp $
|
||||||
|
|
||||||
DISTNAME= xmlrpc-c-1.25.26
|
DISTNAME= xmlrpc-c-1.25.26
|
||||||
# the "super stable" branch
|
# the "super stable" branch
|
||||||
|
@ -36,7 +36,25 @@ SUBST_FILES.pthread= xmlrpc-c-config.* xmlrpc-c-config.test.*
|
||||||
SUBST_SED.pthread= -e 's/-lpthread/${PTHREAD_LINKFLAGS:Q}/'
|
SUBST_SED.pthread= -e 's/-lpthread/${PTHREAD_LINKFLAGS:Q}/'
|
||||||
SUBST_SED.pthread+= -e 's/-L\(.\)libdir/-L\1libdir ${COMPILER_RPATH_FLAG}\1libdir/'
|
SUBST_SED.pthread+= -e 's/-L\(.\)libdir/-L\1libdir ${COMPILER_RPATH_FLAG}\1libdir/'
|
||||||
|
|
||||||
|
.include "../../mk/bsd.prefs.mk"
|
||||||
|
.if ${OPSYS} == "MirBSD"
|
||||||
|
SUBST_CLASSES+= xopen
|
||||||
|
SUBST_STAGE.xopen= pre-configure
|
||||||
|
SUBST_MESSAGE.xopen= Removing _XOPEN_SOURCE lines.
|
||||||
|
SUBST_FILES.xopen+= lib/abyss/src/data.c lib/abyss/src/response.c lib/abyss/src/conf.c
|
||||||
|
SUBST_FILES.xopen+= lib/abyss/src/http.c lib/abyss/src/server.c lib/abyss/src/handler.c
|
||||||
|
SUBST_FILES.xopen+= lib/curl_transport/curltransaction.c lib/curl_transport/curlmulti.c
|
||||||
|
SUBST_FILES.xopen+= lib/curl_transport/xmlrpc_curl_transport.c lib/libutil/select.c
|
||||||
|
SUBST_FILES.xopen+= lib/libutil/error.c lib/libutil/make_printable.c lib/libutil/asprintf.c
|
||||||
|
SUBST_FILES.xopen+= lib/util/cmdline_parser.c lib/expat/xmlwf/xmlfile.c src/xmlrpc_datetime.c
|
||||||
|
SUBST_FILES.xopen+= src/method.c src/xmlrpc_parse.c src/test/value_datetime.c src/xmlrpc_client.c
|
||||||
|
SUBST_FILES.xopen+= src/xmlrpc_server_info.c src/xmlrpc_server_abyss.c tools/lib/dumpvalue.c
|
||||||
|
SUBST_FILES.xopen+= tools/xmlrpc/xmlrpc.c tools/xmlrpc_transport/xmlrpc_transport.c
|
||||||
|
SUBST_SED.xopen= -e '/^\#define _XOPEN_SOURCE/d'
|
||||||
|
.endif
|
||||||
|
|
||||||
LDFLAGS.OpenBSD+= ${PTHREAD_LINKFLAGS}
|
LDFLAGS.OpenBSD+= ${PTHREAD_LINKFLAGS}
|
||||||
|
LDFLAGS.MirBSD+= ${PTHREAD_LINKFLAGS}
|
||||||
|
|
||||||
.include "../../www/curl/buildlink3.mk"
|
.include "../../www/curl/buildlink3.mk"
|
||||||
.include "../../www/libwww/buildlink3.mk"
|
.include "../../www/libwww/buildlink3.mk"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
$NetBSD: distinfo,v 1.30 2013/11/14 08:01:11 adam Exp $
|
$NetBSD: distinfo,v 1.31 2013/12/01 23:25:31 bsiegert Exp $
|
||||||
|
|
||||||
SHA1 (xmlrpc-c-1.25.26.tgz) = 62b8b7b76b2937b2f3d51be045cbf17476302d39
|
SHA1 (xmlrpc-c-1.25.26.tgz) = 62b8b7b76b2937b2f3d51be045cbf17476302d39
|
||||||
RMD160 (xmlrpc-c-1.25.26.tgz) = 86096117f8e26321c38539eff83cdf0f64055e47
|
RMD160 (xmlrpc-c-1.25.26.tgz) = 86096117f8e26321c38539eff83cdf0f64055e47
|
||||||
|
@ -9,4 +9,5 @@ SHA1 (patch-ae) = 52f826d292869be44886881c48aa7707a4af2df3
|
||||||
SHA1 (patch-ai) = 8d7ddc541779129de1e03a3cee81505ffbfb4171
|
SHA1 (patch-ai) = 8d7ddc541779129de1e03a3cee81505ffbfb4171
|
||||||
SHA1 (patch-aj) = e65acd3d49be3486f70cda935a8b2aae3f8af3e8
|
SHA1 (patch-aj) = e65acd3d49be3486f70cda935a8b2aae3f8af3e8
|
||||||
SHA1 (patch-ak) = 4525977b51a25f115c1266dccf0e2cc754dc80d3
|
SHA1 (patch-ak) = 4525977b51a25f115c1266dccf0e2cc754dc80d3
|
||||||
SHA1 (patch-config.mk.in) = ddb63b60b40fb739700e3808336199f848c25904
|
SHA1 (patch-config.mk.in) = e3eef60ab28b92d1e903ac84997617dfafe1689c
|
||||||
|
SHA1 (patch-src_cpp_server_pstream.cpp) = 2a6b2f30ab5f9df1953f874ede41b91bd60a005a
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
$NetBSD: patch-config.mk.in,v 1.3 2013/09/12 18:52:54 adam Exp $
|
$NetBSD: patch-config.mk.in,v 1.4 2013/12/01 23:25:31 bsiegert Exp $
|
||||||
|
|
||||||
Do not use -Bdynamic -G when using GCC on Solaris, it creates non-PIC
|
Do not use -Bdynamic -G when using GCC on Solaris, it creates non-PIC
|
||||||
libraries.
|
libraries.
|
||||||
|
|
||||||
--- config.mk.in.orig 2013-03-29 06:38:36.000000000 +0000
|
Support for shared libraries on OpenBSD and MirBSD.
|
||||||
|
|
||||||
|
--- config.mk.in.orig Fri Mar 29 06:38:11 2013
|
||||||
+++ config.mk.in
|
+++ config.mk.in
|
||||||
@@ -193,10 +193,15 @@ ifeq ($(patsubst solaris%,solaris,$(HOST
|
@@ -193,10 +193,15 @@ ifeq ($(patsubst solaris%,solaris,$(HOST
|
||||||
# linker, it's even more complicated: we need an rpath option of the
|
# linker, it's even more complicated: we need an rpath option of the
|
||||||
|
@ -25,10 +27,21 @@ libraries.
|
||||||
NEED_RPATH=yes
|
NEED_RPATH=yes
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -242,6 +247,18 @@ ifeq ($(patsubst netbsd%,netbsd,$(HOST_O
|
@@ -231,6 +236,30 @@ ifeq ($(patsubst osf%,osf,$(HOST_OS)),os
|
||||||
NEED_WL_RPATH=yes
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(patsubst netbsd%,netbsd,$(HOST_OS)),netbsd)
|
||||||
|
+ SHARED_LIB_TYPE = unix
|
||||||
|
+ SHLIB_SUFFIX = so
|
||||||
|
+ MUST_BUILD_SHLIB = Y
|
||||||
|
+ MUST_BUILD_SHLIBLE = Y
|
||||||
|
+ shlibfn = $(1:%=%.$(SHLIB_SUFFIX).$(MAJ).$(MIN))
|
||||||
|
+ shliblefn = $(1:%=%.$(SHLIB_SUFFIX))
|
||||||
|
+ CFLAGS_SHLIB = -fpic
|
||||||
|
+ LDFLAGS_SHLIB = -shared -Wl,-soname,$(SONAME) $(SHLIB_CLIB)
|
||||||
|
+ NEED_WL_RPATH=yes
|
||||||
|
+endif
|
||||||
|
+
|
||||||
+ifeq ($(patsubst openbsd%,openbsd,$(HOST_OS)),openbsd)
|
+ifeq ($(patsubst openbsd%,openbsd,$(HOST_OS)),openbsd)
|
||||||
+ SHARED_LIB_TYPE = unix
|
+ SHARED_LIB_TYPE = unix
|
||||||
+ SHLIB_SUFFIX = so
|
+ SHLIB_SUFFIX = so
|
||||||
|
@ -41,6 +54,7 @@ libraries.
|
||||||
+ NEED_WL_RPATH=yes
|
+ NEED_WL_RPATH=yes
|
||||||
+endif
|
+endif
|
||||||
+
|
+
|
||||||
ifeq ($(patsubst freebsd%,freebsd,$(HOST_OS)),freebsd)
|
+ifeq ($(patsubst mirbsd%,mirbsd,$(HOST_OS)),mirbsd)
|
||||||
SHARED_LIB_TYPE = unix
|
SHARED_LIB_TYPE = unix
|
||||||
SHLIB_SUFFIX = so
|
SHLIB_SUFFIX = so
|
||||||
|
MUST_BUILD_SHLIB = Y
|
||||||
|
|
14
textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp
Normal file
14
textproc/xmlrpc-c/patches/patch-src_cpp_server_pstream.cpp
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
$NetBSD: patch-src_cpp_server_pstream.cpp,v 1.1 2013/12/01 23:25:31 bsiegert Exp $
|
||||||
|
|
||||||
|
Socket functions need sys/types.h on MirBSD.
|
||||||
|
|
||||||
|
--- src/cpp/server_pstream.cpp.orig Thu Sep 19 12:47:06 2013
|
||||||
|
+++ src/cpp/server_pstream.cpp
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#include <winsock.h>
|
||||||
|
typedef int socklen_t;
|
||||||
|
#else
|
||||||
|
+#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#endif
|
||||||
|
#include <errno.h>
|
Loading…
Reference in a new issue