Merge "gen_msvs_*proj.sh: speed up file generation"
This commit is contained in:
commit
b9a569da41
@ -176,7 +176,8 @@ for opt in "$@"; do
|
|||||||
-*) die_unknown $opt
|
-*) die_unknown $opt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
file_list[${#file_list[@]}]="$(fix_path $opt)"
|
# The paths in file_list are fixed outside of the loop.
|
||||||
|
file_list[${#file_list[@]}]="$opt"
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
*.asm) uses_asm=true
|
*.asm) uses_asm=true
|
||||||
;;
|
;;
|
||||||
@ -184,6 +185,10 @@ for opt in "$@"; do
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Make one call to fix_path for file_list to improve performance.
|
||||||
|
fix_file_list
|
||||||
|
|
||||||
outfile=${outfile:-/dev/stdout}
|
outfile=${outfile:-/dev/stdout}
|
||||||
guid=${guid:-`generate_uuid`}
|
guid=${guid:-`generate_uuid`}
|
||||||
asm_use_custom_step=false
|
asm_use_custom_step=false
|
||||||
|
@ -198,7 +198,8 @@ for opt in "$@"; do
|
|||||||
-*) die_unknown $opt
|
-*) die_unknown $opt
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
file_list[${#file_list[@]}]="$(fix_path $opt)"
|
# The paths in file_list are fixed outside of the loop.
|
||||||
|
file_list[${#file_list[@]}]="$opt"
|
||||||
case "$opt" in
|
case "$opt" in
|
||||||
*.asm|*.s) uses_asm=true
|
*.asm|*.s) uses_asm=true
|
||||||
;;
|
;;
|
||||||
@ -206,6 +207,10 @@ for opt in "$@"; do
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Make one call to fix_path for file_list to improve performance.
|
||||||
|
fix_file_list
|
||||||
|
|
||||||
outfile=${outfile:-/dev/stdout}
|
outfile=${outfile:-/dev/stdout}
|
||||||
guid=${guid:-`generate_uuid`}
|
guid=${guid:-`generate_uuid`}
|
||||||
asm_use_custom_step=false
|
asm_use_custom_step=false
|
||||||
|
@ -13,7 +13,7 @@ if [ "$(uname -o 2>/dev/null)" = "Cygwin" ] \
|
|||||||
&& cygpath --help >/dev/null 2>&1; then
|
&& cygpath --help >/dev/null 2>&1; then
|
||||||
FIXPATH='cygpath -m'
|
FIXPATH='cygpath -m'
|
||||||
else
|
else
|
||||||
FIXPATH='echo'
|
FIXPATH='echo_path'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
@ -27,8 +27,23 @@ die_unknown(){
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo_path() {
|
||||||
|
for path; do
|
||||||
|
echo "$path"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Output one, possibly changed based on the system, path per line.
|
||||||
fix_path() {
|
fix_path() {
|
||||||
$FIXPATH "$1"
|
$FIXPATH "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Corrects the paths in file_list in one pass for efficiency.
|
||||||
|
fix_file_list() {
|
||||||
|
# TODO(jzern): this could be more generic and take the array as a param.
|
||||||
|
files=$(fix_path "${file_list[@]}")
|
||||||
|
local IFS=$'\n'
|
||||||
|
file_list=($files)
|
||||||
}
|
}
|
||||||
|
|
||||||
generate_uuid() {
|
generate_uuid() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user