summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/init.m41
-rw-r--r--m4/xargsn.m420
2 files changed, 21 insertions, 0 deletions
diff --git a/m4/init.m4 b/m4/init.m4
index e576b935d..f3abf66c6 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -143,6 +143,7 @@ AC_CONFIG_COMMANDS_PRE(dnl
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
AC_REQUIRE([_AM_PROG_RM_F])
+AC_REQUIRE([_AM_PROG_XARGS_N])
dnl The trailing newline in this macro's definition is deliberate, for
dnl backward compatibility and to allow trailing 'dnl'-style comments
diff --git a/m4/xargsn.m4 b/m4/xargsn.m4
new file mode 100644
index 000000000..8ddf2d8f4
--- /dev/null
+++ b/m4/xargsn.m4
@@ -0,0 +1,20 @@
+## -*- Autoconf -*-
+# Copyright (C) 2022 Free Software Foundation, Inc.
+#
+# 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.
+
+# _AM_PROG_XARGS_N
+# ----------------
+# Check whether 'xargs -n' works. It should work everywhere, so the fallback
+# is not optimized at all as we never expect to use it.
+AC_DEFUN([_AM_PROG_XARGS_N],
+[AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl
+AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
+3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])])
+AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl
+ am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }'
+])dnl
+AC_SUBST(am__xargs_n)
+])