Add very few missing quotes where IFS/globs were applied to arbitrary user input (commands, arguments, but not assignments or case $var in. In fn_makelink $dn/$2/$f don't have IFS/globs). While configure now handles it correctly, there are 2 issues: - eval opt=\"$opt\" coalesces IFS chars (--prefix="$HOME/x y"). - Even with the eval removed, (gnu) make still fails to find it. I made few quick experiments with quoting these values in config.mak, but that had no impact, and make -d was not helpful. Was worth a try. So no spaces in paths, but at least configure can handle the src path.
Unified · Split
| @@ -438,7 +438,7 @@ fi · 437 unmodified lines | |||
| 438 | 438 | ||
| 439 | if test -z "$build_cross"; then | 439 | if test -z "$build_cross"; then |
| 440 | CONFTEST=./conftest$EXESUF | 440 | CONFTEST=./conftest$EXESUF |
| 441 | if ! $cc -o $CONFTEST $source_path/conftest.c ; then | 441 | if ! $cc -o $CONFTEST "$source_path/conftest.c" ; then |
| 442 | echo "configure: error: '$cc' failed to compile conftest.c." | 442 | echo "configure: error: '$cc' failed to compile conftest.c." |
| 443 | else | 443 | else |
| 444 | cc_name="$($CONFTEST compiler)" | 444 | cc_name="$($CONFTEST compiler)" |
| @@ -553,7 +553,7 @@ fcho "Switches " "$tcc_switches" · 108 unmodified lines | |||
| 553 | fcho "Config " "${confvars# }" | 553 | fcho "Config " "${confvars# }" |
| 554 | echo "Creating config.mak and config.h" | 554 | echo "Creating config.mak and config.h" |
| 555 | 555 | ||
| 556 | version=`head $source_path/VERSION` | 556 | version=$(head "$source_path/VERSION") |
| 557 | 557 | ||
| 558 | cat >config.mak <<EOF | 558 | cat >config.mak <<EOF |
| 559 | # Automatically generated by configure - do not modify | 559 | # Automatically generated by configure - do not modify |
| @@ -726,13 +726,13 @@ fn_makelink() · 166 unmodified lines | |||
| 726 | ;; | 726 | ;; |
| 727 | esac | 727 | esac |
| 728 | 728 | ||
| 729 | ln -sfn $tgt $2 || ( echo "ln failed. Using cp instead."; cp -f $1/$2 $2 ) | 729 | ln -sfn "$tgt" $2 || ( echo "ln failed. Using cp instead."; cp -f "$1/$2" $2 ) |
| 730 | } | 730 | } |
| 731 | 731 | ||
| 732 | if test "$source_path_used" = "yes" ; then | 732 | if test "$source_path_used" = "yes" ; then |
| 733 | FILES="Makefile lib/Makefile tests/Makefile tests/tests2/Makefile tests/pp/Makefile" | 733 | FILES="Makefile lib/Makefile tests/Makefile tests/tests2/Makefile tests/pp/Makefile" |
| 734 | for f in $FILES ; do | 734 | for f in $FILES ; do |
| 735 | fn_makelink $source_path $f | 735 | fn_makelink "$source_path" $f |
| 736 | done | 736 | done |
| 737 | fi | 737 | fi |
| 738 | 738 | ||