summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac8
-rwxr-xr-xtests/misc/md5sum-parallel.sh6
-rwxr-xr-xtests/misc/wc-parallel.sh5
3 files changed, 10 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac
index a50992d04..fc1a0526b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -454,6 +454,7 @@ if test $gl_cv_list_mounted_fs = yes && test $gl_cv_fs_space = yes; then
gl_ADD_PROG([optional_bin_progs], [df])
fi
+# Build stdbuf only if supported
ac_save_CFLAGS=$CFLAGS
ac_save_LDFLAGS=$LDFLAGS
# Detect warnings about ignored "constructor" attributes.
@@ -464,18 +465,15 @@ AC_MSG_CHECKING([whether this system supports stdbuf])
CFLAGS="-fPIC $CFLAGS"
LDFLAGS="-shared $LDFLAGS"
stdbuf_supported=no
+# Note we only LINK here rather than RUN to support cross compilation
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
static int stdbuf = 0;
- /* Restrict to ELF systems with compilers
- that support the constructor attribute. */
void __attribute__ ((constructor))
stdbuf_init (void)
{
- #if __ELF__
- stdbuf = 1;
- #endif
+ stdbuf = 1;
}]],[[
return !(stdbuf == 1);]])
],
diff --git a/tests/misc/md5sum-parallel.sh b/tests/misc/md5sum-parallel.sh
index 86f5af76f..2a526bdf2 100755
--- a/tests/misc/md5sum-parallel.sh
+++ b/tests/misc/md5sum-parallel.sh
@@ -20,13 +20,17 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ md5sum
+xargs -P2 </dev/null >/dev/null 2>&1 \
+ || skip_ 'xargs -P is required'
+
(mkdir tmp && cd tmp && seq 500 | xargs touch)
# This will output at least 16KiB per process
# and start 3 processes, with 2 running concurrently,
# which triggers often on Fedora 11 at least.
-(find tmp tmp tmp -type f | xargs -n500 -P2 md5sum) |
+(find tmp tmp tmp -type f | xargs -n500 -P2 md5sum 2>err) |
sed -n '/[0-9a-f]\{32\} /!p' |
grep . > /dev/null && fail=1
+compare /dev/null err || fail=1
Exit $fail
diff --git a/tests/misc/wc-parallel.sh b/tests/misc/wc-parallel.sh
index 98c36b9fa..19497e047 100755
--- a/tests/misc/wc-parallel.sh
+++ b/tests/misc/wc-parallel.sh
@@ -20,9 +20,8 @@
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ wc
-if xargs -P2 </dev/null >/dev/null 2>&1
- skip_ 'xargs -P is required'
-fi
+xargs -P2 </dev/null >/dev/null 2>&1 \
+ || skip_ 'xargs -P is required'
(mkdir tmp && cd tmp && seq 2000 | xargs touch)