Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1 | The check for solaris 'print' causes significant problems on a linux machine |
| 2 | with dash as /bin/sh since it triggers the execution of "print" which on some |
| 3 | linux systems is a perl script which is part of mailcap. Worse, this perl |
| 4 | script calls "which file" and if successful ignores the path file was found |
| 5 | in and just runs "file" without a path. Each exection causes PATH to be searched. |
| 6 | |
| 7 | Simply assuming the shell's printf function works cuts out all the fork overhead |
| 8 | and when parallel tasks are running, this overhead appears to be significant. |
| 9 | |
| 10 | RP |
| 11 | 2015/11/28 |
| 12 | Upstream-Status: Inappropriate |
| 13 | |
| 14 | Index: autoconf-2.69/lib/m4sugar/m4sh.m4 |
| 15 | =================================================================== |
| 16 | --- autoconf-2.69.orig/lib/m4sugar/m4sh.m4 |
| 17 | +++ autoconf-2.69/lib/m4sugar/m4sh.m4 |
| 18 | @@ -1045,40 +1045,8 @@ m4_defun([_AS_ECHO_PREPARE], |
| 19 | [[as_nl=' |
| 20 | ' |
| 21 | export as_nl |
| 22 | -# Printing a long string crashes Solaris 7 /usr/bin/printf. |
| 23 | -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' |
| 24 | -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo |
| 25 | -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo |
| 26 | -# Prefer a ksh shell builtin over an external printf program on Solaris, |
| 27 | -# but without wasting forks for bash or zsh. |
| 28 | -if test -z "$BASH_VERSION$ZSH_VERSION" \ |
| 29 | - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then |
| 30 | - as_echo='print -r --' |
| 31 | - as_echo_n='print -rn --' |
| 32 | -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then |
| 33 | - as_echo='printf %s\n' |
| 34 | - as_echo_n='printf %s' |
| 35 | -else |
| 36 | - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then |
| 37 | - as_echo_body='eval /usr/ucb/echo -n "$][1$as_nl"' |
| 38 | - as_echo_n='/usr/ucb/echo -n' |
| 39 | - else |
| 40 | - as_echo_body='eval expr "X$][1" : "X\\(.*\\)"' |
| 41 | - as_echo_n_body='eval |
| 42 | - arg=$][1; |
| 43 | - case $arg in @%:@( |
| 44 | - *"$as_nl"*) |
| 45 | - expr "X$arg" : "X\\(.*\\)$as_nl"; |
| 46 | - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; |
| 47 | - esac; |
| 48 | - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" |
| 49 | - ' |
| 50 | - export as_echo_n_body |
| 51 | - as_echo_n='sh -c $as_echo_n_body as_echo' |
| 52 | - fi |
| 53 | - export as_echo_body |
| 54 | - as_echo='sh -c $as_echo_body as_echo' |
| 55 | -fi |
| 56 | +as_echo='printf %s\n' |
| 57 | +as_echo_n='printf %s' |
| 58 | ]])# _AS_ECHO_PREPARE |
| 59 | |
| 60 | |