diff options
-rw-r--r-- | lib/am/inst-vars.am | 2 | ||||
-rw-r--r-- | lib/am/python.am | 8 | ||||
-rw-r--r-- | m4/init.m4 | 1 | ||||
-rw-r--r-- | m4/xargsn.m4 | 20 |
4 files changed, 24 insertions, 7 deletions
diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am index fd35a7de1..9eb5dc6ee 100644 --- a/lib/am/inst-vars.am +++ b/lib/am/inst-vars.am @@ -65,7 +65,7 @@ am__uninstall_files_from_dir = { \ ## is indeed desired and welcome (better to fail loudly thasn silently). { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && $(am__rm_f) $$files; }; \ + $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \ } endif %?FIRST% diff --git a/lib/am/python.am b/lib/am/python.am index e5e9dfe3b..17b7415dc 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -117,12 +117,8 @@ uninstall-%DIR%PYTHON: ## This is somewhat tricky, because for newer pythons we have to take PEP-3147 ## into account. Avoid exceeding the command-line length limit. dir='$(DESTDIR)$(%NDIR%dir)'; \ - echo "$$py_files" | $(am__pep3147_tweak) | $(am__base_list) | \ - ( sst=0; \ - while read files; do \ - $(am__uninstall_files_from_dir) || sst=$$?; \ - done; \ - exit $$sst ) || st=$$?; \ + files=`echo "$$py_files" | $(am__pep3147_tweak)`; \ + $(am__uninstall_files_from_dir) || st=$$?; \ exit $$st endif %?INSTALL% 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) +]) |