summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-04-23 20:30:34 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-04-23 20:30:34 (GMT)
commit7779137ba80ee5ad038cb011c6a7f87abe433ea2 (patch)
tree2d3c192a334107a486eea009680cf26addf3d2ce
parent9d86cde662c291679288c5a3690ba968949a9e97 (diff)
Second shot at merging from the MIPS branch:
- log level boost for warnings and errors - option re-ordering - help updating
-rw-r--r--config/global.in17
-rw-r--r--config/target.in54
-rw-r--r--config/toolchain.in7
-rw-r--r--scripts/functions19
4 files changed, 67 insertions, 30 deletions
diff --git a/config/global.in b/config/global.in
index fe55589..3b227c0 100644
--- a/config/global.in
+++ b/config/global.in
@@ -240,6 +240,18 @@ config LOG_LEVEL_MAX
default "EXTRA" if LOG_EXTRA
default "DEBUG" if LOG_DEBUG
+config LOG_SEE_TOOLS_WARN
+ bool
+ prompt "See warnings from the tool builds"
+ default n
+ depends on ! LOG_ERROR
+ help
+ If you say Y here, then you will have see the warning lines from
+ the components builds.
+
+ It should suffice to say N here, as those will anyway be visible
+ in the log file (if you want one).
+
config LOG_PROGRESS_BAR
bool
prompt "Progress bar"
@@ -271,6 +283,11 @@ config LOG_TO_FILE
Save *full* logs to a file. Even log levels you didn't specify above
will be available in this file.
+ As a bonus, there is a script in tools/extractConfig.sh that is able
+ to extract the configuration of crosstool-NG from the log file.
+
+ Definitely, say Y.
+
config LOG_FILE
string
prompt "Log file"
diff --git a/config/target.in b/config/target.in
index 168da43..afce5b8 100644
--- a/config/target.in
+++ b/config/target.in
@@ -4,6 +4,13 @@ menu "Target options"
comment "General target options"
+config ARCH
+ string
+ default "arm" if ARCH_ARM
+ default "mips" if ARCH_MIPS
+ default "x86" if ARCH_x86
+ default "x86_64" if ARCH_x86_64
+
choice
bool
prompt "Target architecture:"
@@ -59,6 +66,25 @@ endchoice
comment "Target optimisations"
+config ARCH_ARCH
+ string
+ prompt "Achitecture level"
+ default ""
+ help
+ GCC uses this name to determine what kind of instructions it can emit
+ when generating assembly code. This option can be used in conjunction
+ with or instead of the ARCH_CPU option (above), or a (command-line)
+ -mcpu= option.
+
+ This is the configuration flag --with-arch=XXXX, and the runtime flag
+ -march=XXX.
+
+ Pick a value from the gcc manual for your choosen gcc version and your
+ target CPU.
+
+ Leave blank if you don't know, or if your target architecture does not
+ offer this option.
+
config ARCH_ABI
string
prompt "Generate code for the specific ABI"
@@ -66,6 +92,9 @@ config ARCH_ABI
help
Generate code for the given ABI.
+ This is the configuration flag --with-abi=XXXX, and the runtime flag
+ -mabi=XXX.
+
Pick a value from the gcc manual for your choosen gcc version and your
target CPU.
@@ -81,6 +110,9 @@ config ARCH_CPU
to determine what kind of instructions it can emit when generating
assembly code.
+ This is the configuration flag --with-cpu=XXXX, and the runtime flag
+ -mcpu=XXX.
+
Pick a value from the gcc manual for your choosen gcc version and your
target CPU.
@@ -100,21 +132,8 @@ config ARCH_TUNE
will generate based on the cpu specified by the ARCH_CPU option
(above), or a (command-line) -mcpu= option.
- Pick a value from the gcc manual for your choosen gcc version and your
- target CPU.
-
- Leave blank if you don't know, or if your target architecture does not
- offer this option.
-
-config ARCH_ARCH
- string
- prompt "Achitecture level"
- default ""
- help
- GCC uses this name to determine what kind of instructions it can emit
- when generating assembly code. This option can be used in conjunction
- with or instead of the ARCH_CPU option (above), or a (command-line)
- -mcpu= option.
+ This is the configuration flag --with-tune=XXXX, and the runtime flag
+ -mtune=XXX.
Pick a value from the gcc manual for your choosen gcc version and your
target CPU.
@@ -124,11 +143,14 @@ config ARCH_ARCH
config ARCH_FPU
string
- prompt "Use FPU"
+ prompt "Use specific FPU"
default ""
help
On some targets (eg. ARM), you can specify the kind of FPU to emit
code for.
+
+ This is the configuration flag --with-fpu=XXX, and the runtime flag
+ -mfpu=XXX.
See below wether to actually emit FP opcodes, or to emulate them.
diff --git a/config/toolchain.in b/config/toolchain.in
index 86972c8..fee1db1 100644
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -69,13 +69,6 @@ config TARGET_ALIAS
You shouldn't need to enter anything here, unless you plan to manually
call the tools (autotools-based ./configure will use the standard name).
-config ARCH
- string
- default "arm" if ARCH_ARM
- default "mips" if ARCH_MIPS
- default "x86" if ARCH_x86
- default "x86_64" if ARCH_x86_64
-
comment "Toolchain type"
choice
diff --git a/scripts/functions b/scripts/functions
index 2e7859d..f7d0879 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -59,14 +59,13 @@ _F_WHI="\\033[37m"
# Usage: CT_DoLog <level> [message]
# If message is empty, then stdin will be logged.
CT_DoLog() {
- local max_level
- local level
+ local max_level LEVEL level cur_l cur_L
+ local l
eval max_level="\${CT_LOG_LEVEL_${CT_LOG_LEVEL_MAX}}"
# Set the maximum log level to DEBUG if we have none
[ -z ${max_level} ] && max_level=${CT_LOG_LEVEL_DEBUG}
- local LEVEL="$1"
- shift
+ LEVEL="$1"; shift
eval level="\${CT_LOG_LEVEL_${LEVEL}}"
if [ $# -eq 0 ]; then
@@ -77,12 +76,18 @@ CT_DoLog() {
cpt=0
indent=$((2*CT_STEP_COUNT))
while read line; do
- l="`printf \"[%-5s]%*s%s%s\" \"${LEVEL}\" \"${indent}\" \" \" \"${line}\"`"
+ case "${CT_LOG_SEE_TOOLS_WARN},${line}" in
+ y,*"warning:"*) cur_L=WARN; cur_l=${CT_LOG_LEVEL_WARN};;
+ *"error:"*) cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
+ "make["?*"]:"*"Stop.") cur_L=ERROR; cur_l=${CT_LOG_LEVEL_ERROR};;
+ *) cur_L="${LEVEL}"; cur_l="${level}";;
+ esac
+ l="`printf \"[%-5s]%*s%s%s\" \"${cur_L}\" \"${indent}\" \" \" \"${line}\"`"
# There will always be a log file, be it /dev/null
echo -e "${l}" >>"${CT_ACTUAL_LOG_FILE}"
- color="CT_${LEVEL}_COLOR"
+ color="CT_${cur_L}_COLOR"
normal="CT_NORMAL_COLOR"
- if [ ${level} -le ${max_level} ]; then
+ if [ ${cur_l} -le ${max_level} ]; then
echo -e "${!color}${l}${!normal}"
else
${CT_PROG_BAR}