package/rtptools: fix build for toolchains missinf SUN RPC headers

Use a configure check rather than checking explicitly for uClibc.

Make the patch a git patch at the same time.

Fixes:
    http://autobuild.buildroot.org/results/1cf/1cfe3e019a627e7c092dbd94e4b891179e35bedd/
    http://autobuild.buildroot.org/results/5ba/5bad40610316392c3f213c3e2a27ac76abd88de6/
    http://autobuild.buildroot.org/results/789/789ebdc6a96fc62ca5c98bdd6b90de20872ea221/
    ... and numerous similar build failures

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2016-04-11 23:46:35 +02:00 committed by Thomas Petazzoni
parent 6a8b94819c
commit df74965404
3 changed files with 74 additions and 45 deletions

View file

@ -1,45 +0,0 @@
host2ip.c: disable NIS support when building with uClibc
uClibc doesn't have NIS support, so simply disable the fallback.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
host2ip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
Index: rtptools-1.20/host2ip.c
===================================================================
--- rtptools-1.20.orig/host2ip.c
+++ rtptools-1.20/host2ip.c
@@ -3,7 +3,16 @@
#include <netdb.h> /* gethostbyname() */
#include <netinet/in.h> /* sockaddr_in */
#include <arpa/inet.h> /* inet_addr() */
+
+#include <features.h>
+#ifndef __UCLIBC__
+#define HAVE_YP
+#endif
+
+#ifdef HAVE_YP
#include <rpcsvc/ypclnt.h> /* YP */
+#endif
+
#include <string.h> /* strlen() added by Akira 12/27/01 */
#include "sysdep.h"
@@ -28,6 +37,7 @@
else if ((hep = gethostbyname(host))) {
in = *(struct in_addr *)(hep->h_addr_list[0]);
}
+#ifdef HAVE_YP
/* As a last resort, try YP. */
else {
static char *domain = 0; /* YP domain */
@@ -39,5 +49,6 @@
in.s_addr = inet_addr(value);
}
}
+#endif
return in;
} /* host2ip */

View file

@ -0,0 +1,73 @@
From f8ffde6c0c0a9008cd65601f6c9712899106e42c Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Mon, 11 Apr 2016 23:03:48 +0200
Subject: [PATCH] host2ip.c: disable NIS support for toolchains lacking SUN RPC
Some toolchains are missing SUN RPC; this is the case for toolchains
based on uClibc, and some glibc-based toolchains (when SUN RPC headers
were taken out of glibc).
Add a configure check for the required SUN RPC header, and make the code
using SUN RPC conditional on the result.
Also drop the legacy AM_C_PROTOTYPES: it is no longer supported by
autoconf and breaks autoreconf.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[yann.morin.1998@free.fr: add the ./configure check; do not include
features.h; do not check specifically for uClibc]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
configure.in | 3 ++-
host2ip.c | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/configure.in b/configure.in
index de394cf..889e6ed 100644
--- a/configure.in
+++ b/configure.in
@@ -39,9 +39,10 @@ CU_CHECK_LIB(socket, socket)
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(search.h sys/time.h unistd.h)
+AC_CHECK_HEADER([rpcsvc/ypclnt.h],
+ [AC_DEFINE([HAVE_YP],[1],[Define to 1 if you have rpcsvc/ypclnt.h])])
dnl Checks for typedefs, structures, and compiler characteristics.
-AM_C_PROTOTYPES
AC_C_CONST
AC_C_BIGENDIAN
AC_TYPE_UID_T
diff --git a/host2ip.c b/host2ip.c
index b094343..95014cd 100644
--- a/host2ip.c
+++ b/host2ip.c
@@ -3,7 +3,10 @@
#include <netdb.h> /* gethostbyname() */
#include <netinet/in.h> /* sockaddr_in */
#include <arpa/inet.h> /* inet_addr() */
+#ifdef HAVE_YP
#include <rpcsvc/ypclnt.h> /* YP */
+#endif
+
#include <string.h> /* strlen() added by Akira 12/27/01 */
#include "sysdep.h"
@@ -28,6 +31,7 @@ struct in_addr host2ip(char *host)
else if ((hep = gethostbyname(host))) {
in = *(struct in_addr *)(hep->h_addr_list[0]);
}
+#ifdef HAVE_YP
/* As a last resort, try YP. */
else {
static char *domain = 0; /* YP domain */
@@ -39,5 +43,6 @@ struct in_addr host2ip(char *host)
in.s_addr = inet_addr(value);
}
}
+#endif
return in;
} /* host2ip */
--
1.9.1

View file

@ -8,5 +8,6 @@ RTPTOOLS_VERSION = 1.20
RTPTOOLS_SITE = http://www.cs.columbia.edu/irt/software/rtptools/download
RTPTOOLS_LICENSE = MIT-like (research and education only)
RTPTOOLS_LICENSE_FILES = COPYRIGHT
RTPTOOLS_AUTORECONF = YES
$(eval $(autotools-package))