config: fix recursive deps
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun May 08 19:02:44 2011 +0200 (2011-05-08)
changeset 2444896cb0d36c1a
parent 2441 4cd9cda2265c
child 2445 7000b634ba04
config: fix recursive deps

The latest kconfig stuff is more stringent when it comes to validating
the dependency of the symbols. It is no longer possible to have a symbol
depend on itself (such as our construct for arch/cc/libc/... was doing).

Fix our generated-file infrastructure to avoid these situations when the
new kconfig stuff will be merged (in a following changeset).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
config/arch/alpha.in
config/arch/arm.in
config/arch/avr32.in
config/arch/blackfin.in
config/arch/m68k.in
config/arch/mips.in
config/arch/powerpc.in
config/arch/s390.in
config/arch/sh.in
config/arch/sparc.in
config/arch/x86.in
config/cc/gcc.in
config/config.mk
config/debug/dmalloc.in
config/debug/duma.in
config/debug/gdb.in
config/debug/ltrace.in
config/debug/strace.in
config/kernel/bare-metal.in
config/kernel/linux.in
config/kernel/mingw32.in
config/libc/eglibc.in
config/libc/glibc-eglibc.in-common
config/libc/glibc.in
config/libc/mingw.in
config/libc/newlib.in
config/libc/none.in
config/libc/uClibc.in
     1.1 --- a/config/arch/alpha.in	Sun May 08 11:02:18 2011 +0200
     1.2 +++ b/config/arch/alpha.in	Sun May 08 19:02:44 2011 +0200
     1.3 @@ -1,10 +1,9 @@
     1.4  # Alpha specific configuration file
     1.5  
     1.6 -config ARCH_alpha
     1.7 -    select ARCH_SUPPORTS_32
     1.8 -    select ARCH_DEFAULT_32
     1.9 -    select ARCH_USE_MMU
    1.10 -    select ARCH_SUPPORT_CPU
    1.11 -    select ARCH_SUPPORT_TUNE
    1.12 -    help
    1.13 -      The Alpha architecture.
    1.14 +## select ARCH_SUPPORTS_32
    1.15 +## select ARCH_DEFAULT_32
    1.16 +## select ARCH_USE_MMU
    1.17 +## select ARCH_SUPPORT_CPU
    1.18 +## select ARCH_SUPPORT_TUNE
    1.19 +##
    1.20 +## help The Alpha architecture.
     2.1 --- a/config/arch/arm.in	Sun May 08 11:02:18 2011 +0200
     2.2 +++ b/config/arch/arm.in	Sun May 08 19:02:44 2011 +0200
     2.3 @@ -1,16 +1,15 @@
     2.4  # ARM specific configuration file
     2.5  
     2.6 -config ARCH_arm
     2.7 -    select ARCH_SUPPORTS_32
     2.8 -    select ARCH_DEFAULT_32
     2.9 -    select ARCH_SUPPORTS_BOTH_MMU
    2.10 -    select ARCH_DEFAULT_HAS_MMU
    2.11 -    select ARCH_SUPPORTS_BOTH_ENDIAN
    2.12 -    select ARCH_DEFAULT_LE
    2.13 -    select ARCH_SUPPORT_ARCH
    2.14 -    select ARCH_SUPPORT_CPU
    2.15 -    select ARCH_SUPPORT_TUNE
    2.16 -    select ARCH_SUPPORT_FPU
    2.17 -    help
    2.18 -      The ARM architecture, as defined by:
    2.19 -        http://www.arm.com/
    2.20 +## select ARCH_SUPPORTS_32
    2.21 +## select ARCH_DEFAULT_32
    2.22 +## select ARCH_SUPPORTS_BOTH_MMU
    2.23 +## select ARCH_DEFAULT_HAS_MMU
    2.24 +## select ARCH_SUPPORTS_BOTH_ENDIAN
    2.25 +## select ARCH_DEFAULT_LE
    2.26 +## select ARCH_SUPPORT_ARCH
    2.27 +## select ARCH_SUPPORT_CPU
    2.28 +## select ARCH_SUPPORT_TUNE
    2.29 +## select ARCH_SUPPORT_FPU
    2.30 +##
    2.31 +## help The ARM architecture, as defined by:
    2.32 +## help     http://www.arm.com/
     3.1 --- a/config/arch/avr32.in	Sun May 08 11:02:18 2011 +0200
     3.2 +++ b/config/arch/avr32.in	Sun May 08 19:02:44 2011 +0200
     3.3 @@ -1,14 +1,13 @@
     3.4  # AVR32 specific configuration file
     3.5  
     3.6 -config ARCH_avr32
     3.7 -    select ARCH_SUPPORTS_32
     3.8 -    select ARCH_DEFAULT_32
     3.9 -    select ARCH_USE_MMU
    3.10 -    select ARCH_DEFAULT_BE
    3.11 -    select ARCH_SUPPORT_ARCH
    3.12 -    select ARCH_SUPPORT_CPU
    3.13 -    select ARCH_SUPPORT_TUNE
    3.14 -    select ARCH_SUPPORT_FPU
    3.15 -     help
    3.16 -      The AVR32 architecture, as defined by:
    3.17 -        http://www.atmel.com/products/avr32
    3.18 +## select ARCH_SUPPORTS_32
    3.19 +## select ARCH_DEFAULT_32
    3.20 +## select ARCH_USE_MMU
    3.21 +## select ARCH_DEFAULT_BE
    3.22 +## select ARCH_SUPPORT_ARCH
    3.23 +## select ARCH_SUPPORT_CPU
    3.24 +## select ARCH_SUPPORT_TUNE
    3.25 +## select ARCH_SUPPORT_FPU
    3.26 +##
    3.27 +## help The AVR32 architecture, as defined by:
    3.28 +## help     http://www.atmel.com/products/avr32
     4.1 --- a/config/arch/blackfin.in	Sun May 08 11:02:18 2011 +0200
     4.2 +++ b/config/arch/blackfin.in	Sun May 08 19:02:44 2011 +0200
     4.3 @@ -1,12 +1,11 @@
     4.4  # Blackfin specific configuration file
     4.5  
     4.6 -config ARCH_blackfin
     4.7 -    select ARCH_SUPPORTS_32
     4.8 -    select ARCH_DEFAULT_32
     4.9 -    select ARCH_DEFAULT_LE
    4.10 -    select ARCH_SUPPORT_ARCH
    4.11 -    select ARCH_SUPPORT_CPU
    4.12 -    select ARCH_SUPPORT_TUNE
    4.13 -    select ARCH_SUPPORT_FPU
    4.14 -     help
    4.15 -      The Blackfin architecture
    4.16 +## select ARCH_SUPPORTS_32
    4.17 +## select ARCH_DEFAULT_32
    4.18 +## select ARCH_DEFAULT_LE
    4.19 +## select ARCH_SUPPORT_ARCH
    4.20 +## select ARCH_SUPPORT_CPU
    4.21 +## select ARCH_SUPPORT_TUNE
    4.22 +## select ARCH_SUPPORT_FPU
    4.23 +##
    4.24 +## help The Blackfin architecture
     5.1 --- a/config/arch/m68k.in	Sun May 08 11:02:18 2011 +0200
     5.2 +++ b/config/arch/m68k.in	Sun May 08 19:02:44 2011 +0200
     5.3 @@ -1,10 +1,10 @@
     5.4  # m68k specific configuration file
     5.5 -# depends on EXPERIMENTAL
     5.6  
     5.7 -config ARCH_m68k
     5.8 -    select ARCH_SUPPORTS_32
     5.9 -    select ARCH_DEFAULT_32
    5.10 -    select ARCH_DEFAULT_BE
    5.11 -    select ARCH_SUPPORT_CPU
    5.12 -     help
    5.13 -      The m68k architecture
    5.14 +## depends on EXPERIMENTAL
    5.15 +##
    5.16 +## select ARCH_SUPPORTS_32
    5.17 +## select ARCH_DEFAULT_32
    5.18 +## select ARCH_DEFAULT_BE
    5.19 +## select ARCH_SUPPORT_CPU
    5.20 +##
    5.21 +## help The m68k architecture
     6.1 --- a/config/arch/mips.in	Sun May 08 11:02:18 2011 +0200
     6.2 +++ b/config/arch/mips.in	Sun May 08 19:02:44 2011 +0200
     6.3 @@ -1,14 +1,13 @@
     6.4  # MIPS specific config options
     6.5  
     6.6 -config ARCH_mips
     6.7 -    select ARCH_SUPPORTS_32
     6.8 -    select ARCH_SUPPORTS_64 if EXPERIMENTAL
     6.9 -    select ARCH_DEFAULT_32
    6.10 -    select ARCH_USE_MMU
    6.11 -    select ARCH_SUPPORTS_BOTH_ENDIAN
    6.12 -    select ARCH_DEFAULT_BE
    6.13 -    select ARCH_SUPPORT_ARCH
    6.14 -    select ARCH_SUPPORT_TUNE
    6.15 -    help
    6.16 -      The MIPS architecture, as defined by:
    6.17 -        http://www.mips.com/
    6.18 +## select ARCH_SUPPORTS_32
    6.19 +## select ARCH_SUPPORTS_64 if EXPERIMENTAL
    6.20 +## select ARCH_DEFAULT_32
    6.21 +## select ARCH_USE_MMU
    6.22 +## select ARCH_SUPPORTS_BOTH_ENDIAN
    6.23 +## select ARCH_DEFAULT_BE
    6.24 +## select ARCH_SUPPORT_ARCH
    6.25 +## select ARCH_SUPPORT_TUNE
    6.26 +##
    6.27 +## help The MIPS architecture, as defined by:
    6.28 +## help     http://www.mips.com/
     7.1 --- a/config/arch/powerpc.in	Sun May 08 11:02:18 2011 +0200
     7.2 +++ b/config/arch/powerpc.in	Sun May 08 19:02:44 2011 +0200
     7.3 @@ -1,13 +1,12 @@
     7.4  # powerpc specific configuration file
     7.5  
     7.6 -config ARCH_powerpc
     7.7 -    select ARCH_SUPPORTS_32
     7.8 -    select ARCH_SUPPORTS_64 if EXPERIMENTAL
     7.9 -    select ARCH_DEFAULT_32
    7.10 -    select ARCH_USE_MMU
    7.11 -    select ARCH_SUPPORT_ABI
    7.12 -    select ARCH_SUPPORT_CPU
    7.13 -    select ARCH_SUPPORT_TUNE
    7.14 -    help
    7.15 -      The PowerPC architecture, as defined by:
    7.16 -        http://www.ibm.com/developerworks/eserver/articles/archguide.html
    7.17 +## select ARCH_SUPPORTS_32
    7.18 +## select ARCH_SUPPORTS_64 if EXPERIMENTAL
    7.19 +## select ARCH_DEFAULT_32
    7.20 +## select ARCH_USE_MMU
    7.21 +## select ARCH_SUPPORT_ABI
    7.22 +## select ARCH_SUPPORT_CPU
    7.23 +## select ARCH_SUPPORT_TUNE
    7.24 +##
    7.25 +## help The PowerPC architecture, as defined by:
    7.26 +## help     http://www.ibm.com/developerworks/eserver/articles/archguide.html
     8.1 --- a/config/arch/s390.in	Sun May 08 11:02:18 2011 +0200
     8.2 +++ b/config/arch/s390.in	Sun May 08 19:02:44 2011 +0200
     8.3 @@ -1,13 +1,13 @@
     8.4  # s390 specific config options
     8.5 -# depends on EXPERIMENTAL
     8.6  
     8.7 -config ARCH_s390
     8.8 -    select ARCH_SUPPORTS_32
     8.9 -    select ARCH_SUPPORTS_64
    8.10 -    select ARCH_DEFAULT_32
    8.11 -    select ARCH_USE_MMU
    8.12 -    select ARCH_SUPPORT_FPU
    8.13 -    help
    8.14 -      Defined by IBM in:
    8.15 -        32-bit ESA/390       : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar008/CCONTENTS
    8.16 -        64-bit z/Architecure : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9zr002/CCONTENTS
    8.17 +## depends on EXPERIMENTAL
    8.18 +##
    8.19 +## select ARCH_SUPPORTS_32
    8.20 +## select ARCH_SUPPORTS_64
    8.21 +## select ARCH_DEFAULT_32
    8.22 +## select ARCH_USE_MMU
    8.23 +## select ARCH_SUPPORT_FPU
    8.24 +##
    8.25 +## help Defined by IBM in:
    8.26 +## help     32-bit ESA/390       : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9ar008/CCONTENTS
    8.27 +## help     64-bit z/Architecure : http://publibfp.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/dz9zr002/CCONTENTS
     9.1 --- a/config/arch/sh.in	Sun May 08 11:02:18 2011 +0200
     9.2 +++ b/config/arch/sh.in	Sun May 08 19:02:44 2011 +0200
     9.3 @@ -1,11 +1,10 @@
     9.4  # Super-H specific configuration file
     9.5  
     9.6 -config ARCH_sh
     9.7 -    select ARCH_SUPPORTS_32
     9.8 -    select ARCH_DEFAULT_32
     9.9 -    select ARCH_USE_MMU
    9.10 -    select ARCH_SUPPORTS_BOTH_ENDIAN
    9.11 -    select ARCH_DEFAULT_LE
    9.12 -    help
    9.13 -      The Super-H architecture, as defined by:
    9.14 -        http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/
    9.15 +## select ARCH_SUPPORTS_32
    9.16 +## select ARCH_DEFAULT_32
    9.17 +## select ARCH_USE_MMU
    9.18 +## select ARCH_SUPPORTS_BOTH_ENDIAN
    9.19 +## select ARCH_DEFAULT_LE
    9.20 +##
    9.21 +## help The Super-H architecture, as defined by:
    9.22 +## help     http://www.renesas.com/fmwk.jsp?cnt=superh_family_landing.jsp&fp=/products/mpumcu/superh_family/
    10.1 --- a/config/arch/sparc.in	Sun May 08 11:02:18 2011 +0200
    10.2 +++ b/config/arch/sparc.in	Sun May 08 19:02:44 2011 +0200
    10.3 @@ -1,13 +1,12 @@
    10.4  # SPARC specific config options
    10.5  
    10.6 -config ARCH_sparc
    10.7 -    select ARCH_SUPPORTS_32
    10.8 -    select ARCH_SUPPORTS_64
    10.9 -    select ARCH_DEFAULT_32
   10.10 -    select ARCH_USE_MMU
   10.11 -    select ARCH_SUPPORT_CPU
   10.12 -    select ARCH_SUPPORT_TUNE
   10.13 -    help
   10.14 -      The SUN SPARC architecture, as defined by:
   10.15 -        32 bit: http://www.sparc.org/standards/V8.pdf
   10.16 -        64 bit: http://www.sparc.org/standards/SPARCV9.pdf
   10.17 +## select ARCH_SUPPORTS_32
   10.18 +## select ARCH_SUPPORTS_64
   10.19 +## select ARCH_DEFAULT_32
   10.20 +## select ARCH_USE_MMU
   10.21 +## select ARCH_SUPPORT_CPU
   10.22 +## select ARCH_SUPPORT_TUNE
   10.23 +##
   10.24 +## help The SUN SPARC architecture, as defined by:
   10.25 +## help     32 bit: http://www.sparc.org/standards/V8.pdf
   10.26 +## help     64 bit: http://www.sparc.org/standards/SPARCV9.pdf
    11.1 --- a/config/arch/x86.in	Sun May 08 11:02:18 2011 +0200
    11.2 +++ b/config/arch/x86.in	Sun May 08 19:02:44 2011 +0200
    11.3 @@ -1,14 +1,13 @@
    11.4  # x86 specific options
    11.5  
    11.6 -config ARCH_x86
    11.7 -    select ARCH_SUPPORTS_32
    11.8 -    select ARCH_SUPPORTS_64
    11.9 -    select ARCH_DEFAULT_32
   11.10 -    select ARCH_USE_MMU
   11.11 -    select ARCH_SUPPORT_ARCH
   11.12 -    select ARCH_SUPPORT_CPU
   11.13 -    select ARCH_SUPPORT_TUNE
   11.14 -    help
   11.15 -      The x86 architecture, as defined by:
   11.16 -        32-bit (ia32) : http://www.intel.com/
   11.17 -        64-bit (amd64): http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_875_7044,00.html
   11.18 +## select ARCH_SUPPORTS_32
   11.19 +## select ARCH_SUPPORTS_64
   11.20 +## select ARCH_DEFAULT_32
   11.21 +## select ARCH_USE_MMU
   11.22 +## select ARCH_SUPPORT_ARCH
   11.23 +## select ARCH_SUPPORT_CPU
   11.24 +## select ARCH_SUPPORT_TUNE
   11.25 +##
   11.26 +## help The x86 architecture, as defined by:
   11.27 +## help     32-bit (ia32) : http://www.intel.com/
   11.28 +## help     64-bit (amd64): http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_875_7044,00.html
    12.1 --- a/config/cc/gcc.in	Sun May 08 11:02:18 2011 +0200
    12.2 +++ b/config/cc/gcc.in	Sun May 08 19:02:44 2011 +0200
    12.3 @@ -1,17 +1,16 @@
    12.4  # Compiler options
    12.5 -
    12.6 -config CC_gcc
    12.7 -    select CC_SUPPORT_CXX
    12.8 -    select CC_SUPPORT_FORTRAN
    12.9 -    select CC_SUPPORT_JAVA
   12.10 -    select CC_SUPPORT_ADA
   12.11 -    select CC_SUPPORT_OBJC
   12.12 -    select CC_SUPPORT_OBJCXX
   12.13 -    help
   12.14 -      gcc is the full-blown GNU compiler. This is what most people will choose.
   12.15 -      
   12.16 -      gcc supports many languages, a powerful code parser, optimised binary
   12.17 -      output, and lots of other features.
   12.18 +#
   12.19 +## select CC_SUPPORT_CXX
   12.20 +## select CC_SUPPORT_FORTRAN
   12.21 +## select CC_SUPPORT_JAVA
   12.22 +## select CC_SUPPORT_ADA
   12.23 +## select CC_SUPPORT_OBJC
   12.24 +## select CC_SUPPORT_OBJCXX
   12.25 +##
   12.26 +## help gcc is the full-blown GNU compiler. This is what most people will choose.
   12.27 +## help
   12.28 +## help gcc supports many languages, a powerful code parser, optimised binary
   12.29 +## help output, and lots of other features.
   12.30  
   12.31  config CC_GCC_SHOW_LINARO
   12.32      bool
    13.1 --- a/config/config.mk	Sun May 08 11:02:18 2011 +0200
    13.2 +++ b/config/config.mk	Sun May 08 19:02:44 2011 +0200
    13.3 @@ -80,7 +80,7 @@
    13.4  	$(SILENT)(echo "# $(2) menu";                                           \
    13.5  	  echo "# Generated file, do not edit!!!";                              \
    13.6  	  echo "";                                                              \
    13.7 -	  echo "choice";                                                        \
    13.8 +	  echo "choice GEN_CHOICE_$(3)";                                        \
    13.9  	  echo "    bool";                                                      \
   13.10  	  echo "    prompt \"$(2)\"";                                           \
   13.11  	  echo "";                                                              \
   13.12 @@ -90,13 +90,13 @@
   13.13  	    echo "config $(3)_$${_entry}";                                      \
   13.14  	    echo "    bool";                                                    \
   13.15  	    echo "    prompt \"$${entry}\"";                                    \
   13.16 -	    dep_val=$$($(grep) -E '^# depends on ' $${file} 2>/dev/null);       \
   13.17 -	    if [ -n "$${dep_val}" ]; then                                       \
   13.18 -	      echo "    $${dep_val#\# }";                                       \
   13.19 -	    fi;                                                                 \
   13.20  	    if [ "$(5)" = "Y" ]; then                                           \
   13.21  	      echo "    depends on $(3)_$${_entry}_AVAILABLE";                  \
   13.22  	    fi;                                                                 \
   13.23 +	    sed -r -e '/^## depends on /!d; s/^## /    /;' $${file} 2>/dev/null;\
   13.24 +	    sed -r -e '/^## select /!d; s/^## /    /;' $${file} 2>/dev/null;    \
   13.25 +		echo "    help";                                                    \
   13.26 +	    sed -r -e '/^## help ?/!d; s/^## help ?/      /;' $${file} 2>/dev/null; \
   13.27  	    echo "";                                                            \
   13.28  	  done;                                                                 \
   13.29  	  echo "endchoice";                                                     \
   13.30 @@ -157,10 +157,11 @@
   13.31  	    echo "menuconfig $(3)_$${_entry}";                                  \
   13.32  	    echo "    bool";                                                    \
   13.33  	    echo "    prompt \"$${entry}\"";                                    \
   13.34 -	    dep_val=$$($(grep) -E '^# depends on ' $${file} 2>/dev/null);       \
   13.35 -	    if [ -n "$${dep_val}" ]; then                                       \
   13.36 -	      echo "    $${dep_val#\# }";                                       \
   13.37 -	    fi;                                                                 \
   13.38 +	    sed -r -e '/^## depends on /!d; s/^## /    /;' $${file} 2>/dev/null;\
   13.39 +	    sed -r -e '/^## select /!d; s/^## /    /;' $${file} 2>/dev/null;    \
   13.40 +		echo "    help";                                                    \
   13.41 +	    sed -r -e '/^## help ?/!d; s/^## help ?/      /;' $${file} 2>/dev/null; \
   13.42 +	    echo "";                                                            \
   13.43  	    echo "if $(3)_$${_entry}";                                          \
   13.44  	    echo "source \"$${file}\"";                                         \
   13.45  	    echo "endif";                                                       \
    14.1 --- a/config/debug/dmalloc.in	Sun May 08 11:02:18 2011 +0200
    14.2 +++ b/config/debug/dmalloc.in	Sun May 08 19:02:44 2011 +0200
    14.3 @@ -1,8 +1,9 @@
    14.4  # dmalloc debug facility
    14.5 -# depends on ! BACKEND
    14.6  
    14.7 -config DEBUG_dmalloc
    14.8 -    bool
    14.9 +## depends on ! BACKEND
   14.10 +##
   14.11 +## help dmalloc helps tracking memory allocation mis-usage
   14.12 +## help such as double-free, use-after-free...
   14.13  
   14.14  choice
   14.15      bool
    15.1 --- a/config/debug/duma.in	Sun May 08 11:02:18 2011 +0200
    15.2 +++ b/config/debug/duma.in	Sun May 08 19:02:44 2011 +0200
    15.3 @@ -1,11 +1,10 @@
    15.4  # D.U.M.A. - Detect Unintended Memory Access - Memory checker
    15.5 -# depends on ! BACKEND
    15.6  
    15.7 -config DEBUG_duma
    15.8 -    help
    15.9 -      D.U.M.A. - Detect Unintended Memory Access
   15.10 -      A memory bound checker, with additional features.
   15.11 -      Formerly known as Electric Fence.
   15.12 +## depends on ! BACKEND
   15.13 +
   15.14 +## help D.U.M.A. - Detect Unintended Memory Access
   15.15 +## help A memory bound checker, with additional features.
   15.16 +## help Formerly known as Electric Fence.
   15.17  
   15.18  config DUMA_A
   15.19      bool
    16.1 --- a/config/debug/gdb.in	Sun May 08 11:02:18 2011 +0200
    16.2 +++ b/config/debug/gdb.in	Sun May 08 19:02:44 2011 +0200
    16.3 @@ -1,8 +1,6 @@
    16.4  # GDB menu
    16.5  
    16.6 -config DEBUG_gdb
    16.7 -    help
    16.8 -      Enable gdb for the target
    16.9 +## help gdb is the GNU debugger
   16.10  
   16.11  source "config/debug/gdb.in.cross"
   16.12  source "config/debug/gdb.in.native"
    17.1 --- a/config/debug/ltrace.in	Sun May 08 11:02:18 2011 +0200
    17.2 +++ b/config/debug/ltrace.in	Sun May 08 19:02:44 2011 +0200
    17.3 @@ -1,13 +1,13 @@
    17.4  # ltrace
    17.5 -# depends on ! BACKEND
    17.6  
    17.7 -config DEBUG_ltrace
    17.8 -    select LIBELF_TARGET
    17.9 -    help
   17.10 -      ltrace is a program that simply runs the specified command until it exits.
   17.11 -      It intercepts and records the dynamic library calls which are called by
   17.12 -      the executed process and the signals which are received by that process.
   17.13 -      It can also intercept and print the system calls executed by the program.
   17.14 +## depends on ! BACKEND
   17.15 +##
   17.16 +## select LIBELF_TARGET
   17.17 +##
   17.18 +## help ltrace is a program that simply runs the specified command until it exits.
   17.19 +## help It intercepts and records the dynamic library calls which are called by
   17.20 +## help the executed process and the signals which are received by that process.
   17.21 +## help It can also intercept and print the system calls executed by the program.
   17.22  
   17.23  choice
   17.24      bool
    18.1 --- a/config/debug/strace.in	Sun May 08 11:02:18 2011 +0200
    18.2 +++ b/config/debug/strace.in	Sun May 08 19:02:44 2011 +0200
    18.3 @@ -1,7 +1,6 @@
    18.4  # strace
    18.5 -# depends on ! BACKEND
    18.6  
    18.7 -config DEBUG_strace
    18.8 +## depends on ! BACKEND
    18.9  
   18.10  choice
   18.11      bool
    19.1 --- a/config/kernel/bare-metal.in	Sun May 08 11:02:18 2011 +0200
    19.2 +++ b/config/kernel/bare-metal.in	Sun May 08 19:02:44 2011 +0200
    19.3 @@ -1,11 +1,10 @@
    19.4  # Bare metal config options
    19.5  
    19.6 -config KERNEL_bare_metal
    19.7 -    select BARE_METAL
    19.8 -    help
    19.9 -      'Bare metal' refers to those programs that run without any kernel.
   19.10 -      
   19.11 -      You probably want to say 'y' here if you plan to use your compiler
   19.12 -      to build bootloaders. It is not yet suitable to build Linux kernels,
   19.13 -      though, because the APCI stuff relies on the target C library headers
   19.14 -      being available?!?!...
   19.15 +## select BARE_METAL
   19.16 +##
   19.17 +## help 'Bare metal' refers to those programs that run without any kernel.
   19.18 +## help
   19.19 +## help You probably want to say 'y' here if you plan to use your compiler
   19.20 +## help to build bootloaders. It is not yet suitable to build Linux kernels,
   19.21 +## help though, because the APCI stuff relies on the target C library headers
   19.22 +## help being available?!?!...
    20.1 --- a/config/kernel/linux.in	Sun May 08 11:02:18 2011 +0200
    20.2 +++ b/config/kernel/linux.in	Sun May 08 19:02:44 2011 +0200
    20.3 @@ -1,6 +1,5 @@
    20.4  # Linux kernel options
    20.5  
    20.6 -config KERNEL_linux
    20.7 -    select KERNEL_SUPPORTS_SHARED_LIBS
    20.8 -    help
    20.9 -      Build a toolchain targeting systems running Linux as a kernel.
   20.10 +## select KERNEL_SUPPORTS_SHARED_LIBS
   20.11 +##
   20.12 +## help Build a toolchain targeting systems running Linux as a kernel.
    21.1 --- a/config/kernel/mingw32.in	Sun May 08 11:02:18 2011 +0200
    21.2 +++ b/config/kernel/mingw32.in	Sun May 08 19:02:44 2011 +0200
    21.3 @@ -1,10 +1,10 @@
    21.4  # mingw32 config options
    21.5 -# depends on EXPERIMENTAL && ( ARCH_x86 && ARCH_32 )
    21.6  
    21.7 -config KERNEL_mingw32
    21.8 -    select MINGW32
    21.9 -    help
   21.10 -      Build a toolchain targeting systems running Windows as host
   21.11 +## depends on EXPERIMENTAL && ( ARCH_x86 && ARCH_32 )
   21.12 +##
   21.13 +## select MINGW32
   21.14 +##
   21.15 +## help Build a toolchain targeting systems running Windows as host
   21.16  
   21.17  choice
   21.18      bool
    22.1 --- a/config/libc/eglibc.in	Sun May 08 11:02:18 2011 +0200
    22.2 +++ b/config/libc/eglibc.in	Sun May 08 19:02:44 2011 +0200
    22.3 @@ -1,16 +1,16 @@
    22.4  # eglibc options
    22.5 -# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
    22.6  
    22.7 -config LIBC_eglibc
    22.8 -    select LIBC_SUPPORT_NPTL
    22.9 -    select LIBC_SUPPORT_LINUXTHREADS
   22.10 -    help
   22.11 -      EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
   22.12 -      that is designed to work well on embedded systems.  EGLIBC strives
   22.13 -      to be source and binary compatible with GLIBC.  Its goals include
   22.14 -      a reduced footprint, configurable components, and improved
   22.15 -      cross-compilation support.  EGLIBC also includes some embedded ports
   22.16 -      (such as e500/spe) that are normally separate add-ons of GLIBC.
   22.17 +## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
   22.18 +##
   22.19 +## select LIBC_SUPPORT_NPTL
   22.20 +## select LIBC_SUPPORT_LINUXTHREADS
   22.21 +##
   22.22 +## help EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
   22.23 +## help that is designed to work well on embedded systems.  EGLIBC strives
   22.24 +## help to be source and binary compatible with GLIBC.  Its goals include
   22.25 +## help a reduced footprint, configurable components, and improved
   22.26 +## help cross-compilation support.  EGLIBC also includes some embedded ports
   22.27 +## help (such as e500/spe) that are normally separate add-ons of GLIBC.
   22.28  
   22.29  choice
   22.30      bool
    23.1 --- a/config/libc/glibc-eglibc.in-common	Sun May 08 11:02:18 2011 +0200
    23.2 +++ b/config/libc/glibc-eglibc.in-common	Sun May 08 19:02:44 2011 +0200
    23.3 @@ -3,24 +3,21 @@
    23.4  
    23.5  if LIBC_glibc || LIBC_eglibc
    23.6  
    23.7 +# Some architectures require the ports addon. List them one by one here:
    23.8 +# This list must be carefully in sync with the architectures names
    23.9 +# we can find in config/arch/*
   23.10 +config LIBC_GLIBC_MAY_FORCE_PORTS
   23.11 +    bool
   23.12 +    default y if ARCH_arm
   23.13 +    default y if ARCH_mips
   23.14 +    select LIBC_GLIBC_USE_PORTS
   23.15 +
   23.16  # Force using the BFD linker during the toolchain build
   23.17  config LIBC_glibc_familly
   23.18      bool
   23.19      default y
   23.20      select BINUTILS_FORCE_LD_BFD
   23.21  
   23.22 -# Some architectures require the ports addon. List them one by one here:
   23.23 -# This list must be carefully in sync with the architectures names
   23.24 -# we can find in config/arch/*
   23.25 -
   23.26 -config ARCH_arm
   23.27 -    select LIBC_GLIBC_USE_PORTS
   23.28 -
   23.29 -config ARCH_mips
   23.30 -    select LIBC_GLIBC_USE_PORTS
   23.31 -
   23.32 -# End of arch-specific ports auto-select
   23.33 -
   23.34  comment "glibc/eglibc common options"
   23.35  
   23.36  config LIBC_GLIBC_EXTRA_CONFIG
    24.1 --- a/config/libc/glibc.in	Sun May 08 11:02:18 2011 +0200
    24.2 +++ b/config/libc/glibc.in	Sun May 08 19:02:44 2011 +0200
    24.3 @@ -1,11 +1,11 @@
    24.4  # glibc options
    24.5 -# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
    24.6  
    24.7 -config LIBC_glibc
    24.8 -    select LIBC_SUPPORT_NPTL
    24.9 -    help
   24.10 -      The de-facto standard for Linux distributions.
   24.11 -      Feature-rich, but large...  Most usefull for desktop-like systems.
   24.12 +## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
   24.13 +##
   24.14 +## select LIBC_SUPPORT_NPTL
   24.15 +##
   24.16 +## help The de-facto standard for Linux distributions.
   24.17 +## help Feature-rich, but large...  Most usefull for desktop-like systems.
   24.18  
   24.19  choice
   24.20      bool
    25.1 --- a/config/libc/mingw.in	Sun May 08 11:02:18 2011 +0200
    25.2 +++ b/config/libc/mingw.in	Sun May 08 19:02:44 2011 +0200
    25.3 @@ -1,11 +1,10 @@
    25.4  # mingw options
    25.5 -# depends on MINGW32
    25.6  
    25.7 -config LIBC_mingw
    25.8 -    bool
    25.9 -    select LIBC_SUPPORT_WIN32THREADS
   25.10 -    help
   25.11 -      The de-facto standard for Mingw distributions.
   25.12 +## depends on MINGW32
   25.13 +##
   25.14 +## select LIBC_SUPPORT_WIN32THREADS
   25.15 +##
   25.16 +## help The de-facto standard for Mingw distributions.
   25.17  
   25.18  choice
   25.19      bool
    26.1 --- a/config/libc/newlib.in	Sun May 08 11:02:18 2011 +0200
    26.2 +++ b/config/libc/newlib.in	Sun May 08 19:02:44 2011 +0200
    26.3 @@ -1,15 +1,15 @@
    26.4  # newlib options
    26.5 -# depends on BARE_METAL
    26.6  
    26.7 -config LIBC_newlib
    26.8 -    select LIBC_SUPPORT_THREADS_NONE
    26.9 -    help
   26.10 -      Newlib is a C library intended for use on embedded systems. It is a
   26.11 -      conglomeration of several library parts, all under free software
   26.12 -      licenses that make them easily usable on embedded products. Newlib
   26.13 -      is only available in source form. It can be compiled for a wide
   26.14 -      array of processors, and will usually work on any architecture with
   26.15 -      the addition of a few low-level routines.
   26.16 +## depends on BARE_METAL
   26.17 +##
   26.18 +## select LIBC_SUPPORT_THREADS_NONE
   26.19 +##
   26.20 +## help Newlib is a C library intended for use on embedded systems. It is a
   26.21 +## help conglomeration of several library parts, all under free software
   26.22 +## help licenses that make them easily usable on embedded products. Newlib
   26.23 +## help is only available in source form. It can be compiled for a wide
   26.24 +## help array of processors, and will usually work on any architecture with
   26.25 +## help the addition of a few low-level routines.
   26.26  
   26.27  choice
   26.28      bool
    27.1 --- a/config/libc/none.in	Sun May 08 11:02:18 2011 +0200
    27.2 +++ b/config/libc/none.in	Sun May 08 19:02:44 2011 +0200
    27.3 @@ -1,14 +1,13 @@
    27.4  # Dummy config file to not use a C library *at all*
    27.5 -# depends on BARE_METAL
    27.6  
    27.7 -config LIBC_none
    27.8 -    help
    27.9 -      Do not use a C library.
   27.10 -      
   27.11 -      This is usefull if your project is self-contained, does not rely on
   27.12 -      an external C library, and provides all the necessary bits.
   27.13 -      
   27.14 -      Most probably usefull to bootloaders, as they generally don't depend
   27.15 -      on the C library.
   27.16 -      
   27.17 -      If unsure: do *not* choose that, and use another option in the choice.
   27.18 +## depends on BARE_METAL
   27.19 +##
   27.20 +## help Do not use a C library.
   27.21 +## help
   27.22 +## help This is usefull if your project is self-contained, does not rely on
   27.23 +## help an external C library, and provides all the necessary bits.
   27.24 +## help
   27.25 +## help Most probably usefull to bootloaders, as they generally don't depend
   27.26 +## help on the C library.
   27.27 +## help
   27.28 +## help If unsure: do *not* choose that, and use another option in the choice.
    28.1 --- a/config/libc/uClibc.in	Sun May 08 11:02:18 2011 +0200
    28.2 +++ b/config/libc/uClibc.in	Sun May 08 19:02:44 2011 +0200
    28.3 @@ -1,13 +1,14 @@
    28.4  # uClibc options
    28.5 -# depends on ! MINGW32 && ! BARE_METAL
    28.6  
    28.7 -config LIBC_uClibc
    28.8 -    select LIBC_SUPPORT_LINUXTHREADS
    28.9 -    select LIBC_SUPPORT_THREADS_NONE
   28.10 -    help
   28.11 -      The de-facto standard for embeded linux systems.
   28.12 -      Highly configurable, thus as feature-rich as you need, without
   28.13 -      compromising for size.
   28.14 +## depends on ! MINGW32 && ! BARE_METAL
   28.15 +##
   28.16 +## select LIBC_SUPPORT_LINUXTHREADS
   28.17 +## select LIBC_SUPPORT_THREADS_NONE
   28.18 +##
   28.19 +## help The de-facto standard for embeded linux systems.
   28.20 +## help
   28.21 +## help Highly configurable, thus as feature-rich as you
   28.22 +## help need, without compromising for size.
   28.23  
   28.24  choice
   28.25      bool