Again, some progress bar optimisation.
1.1 --- a/scripts/crosstool.sh Tue May 08 20:41:08 2007 +0000
1.2 +++ b/scripts/crosstool.sh Wed May 09 13:11:04 2007 +0000
1.3 @@ -37,28 +37,7 @@
1.4 CT_TestOrAbort "Configuration file not found. Please create one." -f "${CT_TOP_DIR}/.config"
1.5 . "${CT_TOP_DIR}/.config"
1.6
1.7 -# The progress bar indicator is asked for
1.8 -if [ "${CT_LOG_PROGRESS_BAR}" = "y" ]; then
1.9 - _CT_PROG_BAR_DATE() {
1.10 - local str=`CT_DoDate +%s`
1.11 - local elapsed=$((str-(CT_STAR_DATE/(1000*1000*1000))))
1.12 - printf "[%02d:%02d]" $((elapsed/60)) $((elapsed%60))
1.13 - }
1.14 - _CT_PROG_BAR() {
1.15 - [ ${CT_PROG_BAR_CPT} -eq 0 ] && echo -en "\r`_CT_PROG_BAR_DATE` /"
1.16 - [ ${CT_PROG_BAR_CPT} -eq 10 ] && echo -en "\r`_CT_PROG_BAR_DATE` -"
1.17 - [ ${CT_PROG_BAR_CPT} -eq 20 ] && echo -en "\r`_CT_PROG_BAR_DATE` \\"
1.18 - [ ${CT_PROG_BAR_CPT} -eq 30 ] && echo -en "\r`_CT_PROG_BAR_DATE` |"
1.19 - CT_PROG_BAR_CPT=$(((CT_PROG_BAR_CPT+1)%40))
1.20 - }
1.21 - CT_PROG_BAR_CPT=0
1.22 - CT_PROG_BAR=_CT_PROG_BAR
1.23 - export -f _CT_PROG_BAR
1.24 -else
1.25 - CT_PROG_BAR=
1.26 -fi
1.27 -
1.28 -# Apply the color scheme if needed
1.29 +# Override the color scheme if needed
1.30 if [ "${CT_LOG_USE_COLORS}" = "y" ]; then
1.31 CT_ERROR_COLOR="${_A_NOR}${_A_BRI}${_F_RED}"
1.32 CT_WARN_COLOR="${_A_NOR}${_A_BRI}${_F_YEL}"
2.1 --- a/scripts/functions Tue May 08 20:41:08 2007 +0000
2.2 +++ b/scripts/functions Wed May 09 13:11:04 2007 +0000
2.3 @@ -75,7 +75,7 @@
2.4 else
2.5 echo "${1}"
2.6 fi |( IFS="\n" # We want the full lines, even leading spaces
2.7 - cpt=0
2.8 + CT_PROG_BAR_CPT=0
2.9 indent=$((2*CT_STEP_COUNT))
2.10 while read line; do
2.11 case "${CT_LOG_SEE_TOOLS_WARN},${line}" in
2.12 @@ -91,9 +91,16 @@
2.13 normal="CT_NORMAL_COLOR"
2.14 if [ ${cur_l} -le ${max_level} ]; then
2.15 echo -e "\r${!color}${l}${!normal}"
2.16 - CT_PROG_BAR_CPT=0 # Force redrawing progress bar on next 'unlogged' line
2.17 - else
2.18 - ${CT_PROG_BAR}
2.19 + fi
2.20 + if [ "${CT_LOG_PROGRESS_BAR}" = "y" ]; then
2.21 + str=`CT_DoDate +%s`
2.22 + elapsed=$((str-(CT_STAR_DATE/(1000*1000*1000))))
2.23 + [ ${CT_PROG_BAR_CPT} -eq 0 ] && bar="/"
2.24 + [ ${CT_PROG_BAR_CPT} -eq 10 ] && bar="-"
2.25 + [ ${CT_PROG_BAR_CPT} -eq 20 ] && bar="\\"
2.26 + [ ${CT_PROG_BAR_CPT} -eq 30 ] && bar="|"
2.27 + printf "\r[%02d:%02d] %s " $((elapsed/60)) $((elapsed%60)) "${bar}"
2.28 + CT_PROG_BAR_CPT=$(((CT_PROG_BAR_CPT+1)%40))
2.29 fi
2.30 done
2.31 )