package/rtptools: fix build for toolchains missinf SUN RPC headers
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 11 Apr 2016 21:46:35 +0000 (23:46 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 17 Apr 2016 21:07:28 +0000 (23:07 +0200)
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>
package/rtptools/0001-host2ip-no-nis-on-uClibc.patch [deleted file]
package/rtptools/0001-host2ip.c-disable-NIS-support-for-toolchains-lacking.patch [new file with mode: 0644]
package/rtptools/rtptools.mk

diff --git a/package/rtptools/0001-host2ip-no-nis-on-uClibc.patch b/package/rtptools/0001-host2ip-no-nis-on-uClibc.patch
deleted file mode 100644 (file)
index f1a72f9..0000000
+++ /dev/null
@@ -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 */
diff --git a/package/rtptools/0001-host2ip.c-disable-NIS-support-for-toolchains-lacking.patch b/package/rtptools/0001-host2ip.c-disable-NIS-support-for-toolchains-lacking.patch
new file mode 100644 (file)
index 0000000..1bf7c13
--- /dev/null
@@ -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
+
index d93a9113593dcbb1173b6b5026b4eebee0d2325d..7990e8f1c6593b8af7caf93c08affdaf7094b938 100644 (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))