diff --git a/compile-r7rs b/compile-r7rs index a1a753e..20273cc 100755 --- a/compile-r7rs +++ b/compile-r7rs @@ -53,7 +53,9 @@ case "$SCMC" in for dir in $libdirs do paths="$paths -I $tmpdir/${dir#./}" - for lib in **/*.sld #$(find "${dir}" -name "*.sld") + findtmp="$(mktemp)" + find "$dir" -name '*.sld' > "$findtmp" + while IFS= read -r lib do unit0=$(cd "$dir" && find . -name "$(basename "$lib")") unit1=$(echo "${unit0#\./}" | sed 's/\//\./g') @@ -64,7 +66,7 @@ case "$SCMC" in csc -X r7rs -R r7rs -cc "$CC" $CSC_FLAGS -c -J -unit "$unit" -uses "$units" "${lib}" -o "$unit.o" units="$units,$unit" objects="$objects ${lib%.sld}.o" - done + done < "$findtmp" done output="${main%.scm}" # CSC_FLAGS need to expand with spaces @@ -112,10 +114,12 @@ case "$SCMC" in for dir in $libdirs do paths="$paths ${dir#./}" - for lib in **/*.sld #$(find "${dir}" -name "*.sld") + findtmp="$(mktemp)" + find "$dir" -name '*.sld' > "$findtmp" + while IFS= read -r lib do libs="$libs $lib" - done + done < "$findtmp" done gxc -o "$output" -static "$libs" "$main" rm -rf gerbil.pkg @@ -135,10 +139,12 @@ case "$SCMC" in for dir in $libdirs do paths="$paths $dir" - for lib in **/*.sld #$(find "$dir" -name "*.sld") + findtmp="$(mktemp)" + find "$dir" -name '*.sld' > "$findtmp" + while IFS= read -r lib do kawa -C "$lib" - done + done < "$findtmp" done { echo "Main-Class: main" @@ -164,14 +170,16 @@ case "$SCMC" in for dir in $libdirs do paths="$PWD/${dir#./}:$paths" - for lib in **/*.sld #$(find "$dir" -name "*.sld") + findtmp="$(mktemp)" + find "$dir" -name '*.sld' > "$findtmp" + while IFS= read -r lib do { echo "#lang r7rs" echo "(import (scheme base))" echo "(include \"$(basename "$lib")\")" } > "${lib%.sld}.rkt" - done + done < "$findtmp" done { @@ -186,14 +194,16 @@ case "$SCMC" in for dir in $libdirs do paths="$paths;$(winepath "$PWD"/"${dir#./}")" - for lib in **/*.sld #$(find "$dir" -name "*.sld") + findtmp="$(mktemp)" + find "$dir" -name '*.sld' > "$findtmp" + while IFS= read -r lib do { echo "#lang r7rs" echo "(import (scheme base))" echo "(include \"$(basename "$lib")\")" } > "${lib%.sld}.rkt" - done + done < "$findtmp" done {