summaryrefslogtreecommitdiff
path: root/cfg.mk
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-11-23 14:59:18 -0700
committerEric Blake <ebb9@byu.net>2009-11-24 06:36:07 -0700
commitf9d0bb8481bed4cea5994ed8aae49fcf52c0e604 (patch)
tree89b6696d0c7a8c7673b14de0fff4214b87633a78 /cfg.mk
parentab6b27eba720c04da91f5300121a6fe06d1fa9b4 (diff)
downloadcoreutils-f9d0bb8481bed4cea5994ed8aae49fcf52c0e604.tar.xz
build: fix link failure on cygwin
Cygwin 1.5 has a broken sleep, and the gnulib tests dragged in rpl_sleep which then caused a link failure because it wasn't in libcoreutils.a. We could solve it by using the gnulib sleep module. However, sleep and usleep may interact poorly with SIGALRM, and they have less granularity; so it is better to adopt a policy that if we must sleep, prefer xnanosleep. * src/sort.c (pipe_fork): Use xnanosleep, to avoid the need for rpl_sleep on cygwin, and to reduce granularity. (MAX_FORK_TRIES_COMPRESS, MAX_FORK_TRIES_DECOMPRESS): Increase, to account for reduction in granularity. * src/tail.c (tail_file): Use xnanosleep in debug code. * cfg.mk (sc_prohibit_sleep): New rule.
Diffstat (limited to 'cfg.mk')
-rw-r--r--cfg.mk6
1 files changed, 6 insertions, 0 deletions
diff --git a/cfg.mk b/cfg.mk
index babd99b3c..c57c0d3e9 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -239,4 +239,10 @@ sc_require_stdio_safer:
else :; \
fi
+# Prefer xnanosleep over other less-precise sleep methods
+sc_prohibit_sleep:
+ @re='\<(nano|u)?sleep \(' \
+ msg='prefer xnanosleep over other sleep interfaces' \
+ $(_prohibit_regexp)
+
include $(srcdir)/dist-check.mk