blob: 129a522e5686414963c046cbf497c31b49d8d416 [file] [log] [blame]
On glibc systems, argp is provided by libc. However, on
uclibc and other systems which lack argp in their C library,
argp might be provided by a stand alone library, libargp.
This patch adds tests to the build system to find who provides
argp.
X-Gentoo-Bug: 292191
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=292191
Reported-by: Ed Wildgoose <gentoo@wildgooses.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
--- configure.ac.orig 2012-05-26 22:45:42.753478198 +0000
+++ configure.ac 2012-05-27 00:36:23.175844081 +0000
@@ -47,6 +47,28 @@
dnl Checks for optional library functions
dnl -------------------------------------
+dnl First check if we have argp available from libc
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <argp.h>],
+ [int argc=1; char *argv[]={"test"}; argp_parse(0,argc,argv,0,0,0); return 0;]
+ )],
+ [libc_has_argp="true"],
+ [libc_has_argp="false"]
+)
+
+dnl If libc doesn't provide argp, then test for libargp
+if test "$libc_has_argp" = "false" ; then
+ AC_MSG_WARN("libc does not have argp")
+ AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
+
+ if test "$have_argp" = "false"; then
+ AC_MSG_ERROR("no libargp found")
+ else
+ LIBS+=" -largp"
+ fi
+fi
+
dnl -----------------
dnl Configure options
dnl -----------------