mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Fixes to compile on Solaris variants, NetBSD, and NixOS
Solaris, Illumos distributions, and NetBSD need LDFLAGS set to link explicitly to libm, otherwise, due to as-yet unknown reasons, the src/lib/libdll/features/dll fails to write a valid header file and compilation fails due to unknown identifiers such as Dllscan_t. This commit adds the flag on those systems. NixOS is a Linux distro that uses very different paths from the usual Unix conventions (though it's POSIX compliant), and the regression tests still needed a lot of tweaks to be compatible. src/cmd/INIT/package.sh, bin/package: - On SunOS (Solaris and illumos distros) and NetBSD, add '-lm' to LDFLAGS before compiling. src/cmd/INIT/mamprobe.sh, bin/mamprobe, src/cmd/INIT/execrate.sh, bin/execrate: - Instead of only in /bin, /usr/bin, /sbin and /usr/sbin, search utilities in the path given by the OS 'getconf PATH', and use the user's original $PATH as a fallback. src/cmd/ksh93/tests/*.sh: - Miscellaneous portability fixes, mainly elimination of unportable hardcoded paths to commands. - basic.sh: Remove test for 'time' keyword millisecond precision. It was racy and could fail depending on system and system load.
This commit is contained in:
parent
5a7bd2c196
commit
d3cd4cf906
18 changed files with 102 additions and 42 deletions
|
|
@ -553,21 +553,7 @@ $SHELL 2> /dev/null -c $'for i;\ndo :;done' || err_exit 'for i ; <newline> not v
|
|||
) || err_exit "crash when sourcing multiple files (exit status $?)"
|
||||
|
||||
# ======
|
||||
# The time keyword should correctly handle millisecond precision, except
|
||||
# on older systems that do not support getrusage(2) or gettimeofday(2).
|
||||
result=$(
|
||||
TIMEFORMAT=$'\%3R'
|
||||
redirect 2>&1
|
||||
set +x
|
||||
time sleep .002
|
||||
)
|
||||
case $result in
|
||||
0.000 | 0.010)
|
||||
err_exit "warning: 'time' keyword doesn't support millisecond precision"
|
||||
let "Errors--" ;;
|
||||
0.002) ;;
|
||||
*) err_exit "'time' keyword, millisecond precision: expected 0.002, got $result" ;;
|
||||
esac
|
||||
# The time keyword
|
||||
|
||||
# A single '%' after a format specifier should not be a syntax
|
||||
# error (it should be treated as a literal '%').
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue