# Portability macros for glibc argz. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004-2011 Free Software Foundation, Inc.
# Written by Gary V. Vaughan <gary@gnu.org>
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 5 argz.m4
+# serial 8 argz.m4
AC_DEFUN([gl_FUNC_ARGZ],
[gl_PREREQ_ARGZ
+AC_REQUIRE([AC_C_RESTRICT])
+
AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_TYPES([error_t],
#endif])
ARGZ_H=
-AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
- argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
+AC_CHECK_FUNC([argz_replace], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
dnl if have system argz functions, allow forced use of
dnl libltdl-supplied implementation (and default to do so
dnl (a) detecting malloc issues is notoriously unreliable
dnl (b) only known system that declares argz functions,
dnl provides them, yet they are broken, is cygwin
-dnl releases prior to 16-Mar-2007 (1.5.24 and earlier)
+dnl releases prior to 5-May-2007 (1.5.24 and earlier)
dnl So, it's more straightforward simply to special case
dnl this for known bad systems.
AS_IF([test -z "$ARGZ_H"],
[if argz actually works],
[lt_cv_sys_argz_works],
[[case $host_os in #(
- *cygwin*)
- lt_cv_sys_argz_works=no
- if test "$cross_compiling" != no; then
- lt_cv_sys_argz_works="guessing no"
- else
- lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
- save_IFS=$IFS
- IFS=-.
- set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
- IFS=$save_IFS
- lt_os_major=${2-0}
- lt_os_minor=${3-0}
- lt_os_micro=${4-0}
- if test "$lt_os_major" -gt 1 \
- || { test "$lt_os_major" -eq 1 \
- && { test "$lt_os_minor" -gt 5 \
- || { test "$lt_os_minor" -eq 5 \
- && test "$lt_os_micro" -gt 24; }; }; }; then
- lt_cv_sys_argz_works=yes
- fi
- fi
- ;; #(
- *) lt_cv_sys_argz_works=yes ;;
- esac]])
- AS_IF([test $lt_cv_sys_argz_works = yes],
- [AC_DEFINE([HAVE_WORKING_ARGZ], 1,
+ *cygwin*)
+ lt_cv_sys_argz_works=no
+ if test "$cross_compiling" != no; then
+ lt_cv_sys_argz_works="guessing no"
+ else
+ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
+ save_IFS=$IFS
+ IFS=-.
+ set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
+ IFS=$save_IFS
+ lt_os_major=${2-0}
+ lt_os_minor=${3-0}
+ lt_os_micro=${4-0}
+ if test "$lt_os_major" -gt 1 \
+ || { test "$lt_os_major" -eq 1 \
+ && { test "$lt_os_minor" -gt 5 \
+ || { test "$lt_os_minor" -eq 5 \
+ && test "$lt_os_micro" -gt 24; }; }; }; then
+ lt_cv_sys_argz_works=yes
+ fi
+ fi
+ ;; #(
+ *) lt_cv_sys_argz_works=yes ;;
+ esac]])
+ AS_IF([test "$lt_cv_sys_argz_works" = yes],
+ [AC_DEFINE([HAVE_WORKING_ARGZ], [1],
[This value is set to 1 to indicate that the system argz facility works])],
[ARGZ_H=argz.h
AC_LIBOBJ([argz])])])