Second shot at merging from the MIPS branch:
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Apr 23 20:30:34 2007 +0000 (2007-04-23)
changeset 477e2539937b6e
parent 46 1c22b060eb4d
child 48 d19bdc2c5fff
Second shot at merging from the MIPS branch:
- log level boost for warnings and errors
- option re-ordering
- help updating
config/global.in
config/target.in
config/toolchain.in
scripts/functions
     1.1 --- a/config/global.in	Mon Apr 23 20:27:40 2007 +0000
     1.2 +++ b/config/global.in	Mon Apr 23 20:30:34 2007 +0000
     1.3 @@ -240,6 +240,18 @@
     1.4      default "EXTRA"   if LOG_EXTRA
     1.5      default "DEBUG"   if LOG_DEBUG
     1.6  
     1.7 +config LOG_SEE_TOOLS_WARN
     1.8 +    bool
     1.9 +    prompt "See warnings from the tool builds"
    1.10 +    default n
    1.11 +    depends on ! LOG_ERROR
    1.12 +    help
    1.13 +      If you say Y here, then you will have see the warning lines from
    1.14 +      the components builds.
    1.15 +
    1.16 +      It should suffice to say N here, as those will anyway be visible
    1.17 +      in the log file (if you want one).
    1.18 +
    1.19  config LOG_PROGRESS_BAR
    1.20      bool
    1.21      prompt "Progress bar"
    1.22 @@ -271,6 +283,11 @@
    1.23        Save *full* logs to a file. Even log levels you didn't specify above
    1.24        will be available in this file.
    1.25  
    1.26 +      As a bonus, there is a script in tools/extractConfig.sh that is able
    1.27 +      to extract the configuration of crosstool-NG from the log file.
    1.28 +
    1.29 +      Definitely, say Y.
    1.30 +
    1.31  config LOG_FILE
    1.32      string
    1.33      prompt "Log file"
     2.1 --- a/config/target.in	Mon Apr 23 20:27:40 2007 +0000
     2.2 +++ b/config/target.in	Mon Apr 23 20:30:34 2007 +0000
     2.3 @@ -4,6 +4,13 @@
     2.4  
     2.5  comment "General target options"
     2.6  
     2.7 +config ARCH
     2.8 +    string
     2.9 +    default "arm"     if ARCH_ARM
    2.10 +    default "mips"    if ARCH_MIPS
    2.11 +    default "x86"     if ARCH_x86
    2.12 +    default "x86_64"  if ARCH_x86_64
    2.13 +
    2.14  choice
    2.15      bool
    2.16      prompt "Target architecture:"
    2.17 @@ -59,6 +66,25 @@
    2.18  
    2.19  comment "Target optimisations"
    2.20  
    2.21 +config ARCH_ARCH
    2.22 +    string
    2.23 +    prompt "Achitecture level"
    2.24 +    default ""
    2.25 +    help
    2.26 +      GCC uses this name to determine what kind of instructions it can emit
    2.27 +      when generating assembly code. This option can be used in conjunction
    2.28 +      with or instead of the ARCH_CPU option (above), or a (command-line)
    2.29 +      -mcpu= option.
    2.30 +      
    2.31 +      This is the configuration flag --with-arch=XXXX, and the runtime flag
    2.32 +      -march=XXX.
    2.33 +      
    2.34 +      Pick a value from the gcc manual for your choosen gcc version and your
    2.35 +      target CPU.
    2.36 +      
    2.37 +      Leave blank if you don't know, or if your target architecture does not
    2.38 +      offer this option.
    2.39 +
    2.40  config ARCH_ABI
    2.41      string
    2.42      prompt "Generate code for the specific ABI"
    2.43 @@ -66,6 +92,9 @@
    2.44      help
    2.45        Generate code for the given ABI.
    2.46  
    2.47 +      This is the configuration flag --with-abi=XXXX, and the runtime flag
    2.48 +      -mabi=XXX.
    2.49 +
    2.50        Pick a value from the gcc manual for your choosen gcc version and your
    2.51        target CPU.
    2.52  
    2.53 @@ -81,6 +110,9 @@
    2.54        to determine what kind of instructions it can emit when generating
    2.55        assembly code.
    2.56        
    2.57 +      This is the configuration flag --with-cpu=XXXX, and the runtime flag
    2.58 +      -mcpu=XXX.
    2.59 +
    2.60        Pick a value from the gcc manual for your choosen gcc version and your
    2.61        target CPU.
    2.62        
    2.63 @@ -100,21 +132,8 @@
    2.64        will generate based on the cpu specified by the ARCH_CPU option
    2.65        (above), or a (command-line) -mcpu= option.
    2.66        
    2.67 -      Pick a value from the gcc manual for your choosen gcc version and your
    2.68 -      target CPU.
    2.69 -      
    2.70 -      Leave blank if you don't know, or if your target architecture does not
    2.71 -      offer this option.
    2.72 -
    2.73 -config ARCH_ARCH
    2.74 -    string
    2.75 -    prompt "Achitecture level"
    2.76 -    default ""
    2.77 -    help
    2.78 -      GCC uses this name to determine what kind of instructions it can emit
    2.79 -      when generating assembly code. This option can be used in conjunction
    2.80 -      with or instead of the ARCH_CPU option (above), or a (command-line)
    2.81 -      -mcpu= option.
    2.82 +      This is the configuration flag --with-tune=XXXX, and the runtime flag
    2.83 +      -mtune=XXX.
    2.84        
    2.85        Pick a value from the gcc manual for your choosen gcc version and your
    2.86        target CPU.
    2.87 @@ -124,11 +143,14 @@
    2.88  
    2.89  config ARCH_FPU
    2.90      string
    2.91 -    prompt "Use FPU"
    2.92 +    prompt "Use specific FPU"
    2.93      default ""
    2.94      help
    2.95        On some targets (eg. ARM), you can specify the kind of FPU to emit
    2.96        code for.
    2.97 +
    2.98 +      This is the configuration flag --with-fpu=XXX, and the runtime flag
    2.99 +      -mfpu=XXX.
   2.100        
   2.101        See below wether to actually emit FP opcodes, or to emulate them.
   2.102        
     3.1 --- a/config/toolchain.in	Mon Apr 23 20:27:40 2007 +0000
     3.2 +++ b/config/toolchain.in	Mon Apr 23 20:30:34 2007 +0000
     3.3 @@ -69,13 +69,6 @@
     3.4        You shouldn't need to enter anything here, unless you plan to manually
     3.5        call the tools (autotools-based ./configure will use the standard name).
     3.6  
     3.7 -config ARCH
     3.8 -    string
     3.9 -    default "arm"     if ARCH_ARM
    3.10 -    default "mips"    if ARCH_MIPS
    3.11 -    default "x86"     if ARCH_x86
    3.12 -    default "x86_64"  if ARCH_x86_64
    3.13 -
    3.14  comment "Toolchain type"
    3.15  
    3.16  choice
     4.1 --- a/scripts/functions	Mon Apr 23 20:27:40 2007 +0000
     4.2 +++ b/scripts/functions	Mon Apr 23 20:30:34 2007 +0000
     4.3 @@ -59,14 +59,13 @@
     4.4  # Usage: CT_DoLog <level> [message]
     4.5  # If message is empty, then stdin will be logged.
     4.6  CT_DoLog() {
     4.7 -    local max_level
     4.8 -    local level
     4.9 +    local max_level LEVEL level cur_l cur_L
    4.10 +    local l
    4.11      eval max_level="\${CT_LOG_LEVEL_${CT_LOG_LEVEL_MAX}}"
    4.12      # Set the maximum log level to DEBUG if we have none
    4.13      [ -z ${max_level} ] && max_level=${CT_LOG_LEVEL_DEBUG}
    4.14  
    4.15 -    local LEVEL="$1"
    4.16 -    shift
    4.17 +    LEVEL="$1"; shift
    4.18      eval level="\${CT_LOG_LEVEL_${LEVEL}}"
    4.19  
    4.20      if [ $# -eq 0 ]; then
    4.21 @@ -77,12 +76,18 @@
    4.22            cpt=0
    4.23            indent=$((2*CT_STEP_COUNT))
    4.24            while read line; do
    4.25 -              l="`printf \"[%-5s]%*s%s%s\" \"${LEVEL}\" \"${indent}\" \" \" \"${line}\"`"
    4.26 +              case "${CT_LOG_SEE_TOOLS_WARN},${line}" in
    4.27 +                y,*"warning:"*)         cur_L=WARN; cur_l=${CT_LOG_LEVEL_WARN};;
    4.28 +                *"error:"*)             cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
    4.29 +                "make["?*"]:"*"Stop.")  cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
    4.30 +                *)                      cur_L="${LEVEL}"; cur_l="${level}";;
    4.31 +              esac
    4.32 +              l="`printf \"[%-5s]%*s%s%s\" \"${cur_L}\" \"${indent}\" \" \" \"${line}\"`"
    4.33                # There will always be a log file, be it /dev/null
    4.34                echo -e "${l}" >>"${CT_ACTUAL_LOG_FILE}"
    4.35 -              color="CT_${LEVEL}_COLOR"
    4.36 +              color="CT_${cur_L}_COLOR"
    4.37                normal="CT_NORMAL_COLOR"
    4.38 -              if [ ${level} -le ${max_level} ]; then
    4.39 +              if [ ${cur_l} -le ${max_level} ]; then
    4.40                    echo -e "${!color}${l}${!normal}"
    4.41                else
    4.42                    ${CT_PROG_BAR}