summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-04-22 12:17:33 -0400
committerSteve Dickson <steved@redhat.com>2015-04-23 08:29:45 -0400
commit489912cad88ff5e13477ae2f19baa93415c981db (patch)
tree9bf2fb57fab6c56b512e6fa682516cd929450bcc
parent1a1f4650050b478b217b4e2ef04718ba18f676e4 (diff)
downloadti-rpc-489912cad88ff5e13477ae2f19baa93415c981db.tar.gz
Provide getrpcbynumber and getrpcbyname if those are missing
We enable the config.h again and check if getrpcbynumber and getrpcbyname exists on the building patform. If it does not exist, then provide those functions. This is needed for musl libc. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--autogen.sh2
-rw-r--r--configure.ac6
-rw-r--r--src/getrpcent.c10
3 files changed, 13 insertions, 5 deletions
diff --git a/autogen.sh b/autogen.sh
index 3aef4d9..1613b6d 100644
--- a/autogen.sh
+++ b/autogen.sh
@@ -37,6 +37,6 @@ fi
aclocal
libtoolize --force --copy
-#autoheader
+autoheader
automake --add-missing --copy --gnu # -Wall
autoconf # -Wall
diff --git a/configure.ac b/configure.ac
index 10d17ea..0180801 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,14 +24,16 @@ if test "x$enable_ipv6" != xno; then
fi
AC_PROG_CC
-m4_pattern_allow(AM_CONFIG_HEADERS(config.h))
+AC_CONFIG_HEADERS([config.h])
AC_PROG_LIBTOOL
AC_HEADER_DIRENT
AC_PREFIX_DEFAULT(/usr)
AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h])
AC_CHECK_LIB([pthread], [pthread_create])
AC_CHECK_LIB([nsl], [yp_get_default_domain])
-
+AC_CHECK_FUNCS([getrpcbyname getrpcbynumber])
AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
AC_OUTPUT(libtirpc.pc)
+
+
diff --git a/src/getrpcent.c b/src/getrpcent.c
index 1b54b6d..6da006a 100644
--- a/src/getrpcent.c
+++ b/src/getrpcent.c
@@ -50,6 +50,10 @@
#include <libc_private.h>
#endif
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
/*
* Internet version.
*/
@@ -89,7 +93,7 @@ _rpcdata()
return (d);
}
-#ifdef GQ
+#if !HAVE_GETRPCBYNYMBER
struct rpcent *
getrpcbynumber(number)
int number;
@@ -135,7 +139,9 @@ no_yp:
endrpcent();
return (p);
}
+#endif /* !HAVE_GETRPCBYNUMBER */
+#if !HAVE_GETRPCBYNAME
struct rpcent *
getrpcbyname(name)
const char *name;
@@ -158,7 +164,7 @@ done:
endrpcent();
return (rpc);
}
-#endif /* GQ */
+#endif /* !HAVE_GETRPCBYNAME */
void
setrpcent(f)