Generate the choice menu for C libraries, the same way arch and kernels are generated.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Oct 13 11:23:51 2008 +0000 (2008-10-13)
changeset 9223f0456891349
parent 921 53917beac93d
child 923 54fc137f9dc8
Generate the choice menu for C libraries, the same way arch and kernels are generated.

/trunk/kconfig/kconfig.mk | 10 8 2 0 ++++++--
/trunk/scripts/build/libc/glibc.sh | 2 1 1 0 +-
/trunk/config/libc/glibc.in | 22 6 16 0 +++++-------------
/trunk/config/libc/uClibc.in | 7 6 1 0 +++++-
/trunk/config/libc/eglibc.in | 12 11 1 0 +++++++++-
/trunk/config/libc.in | 53 4 49 0 +++-----------------------------------------
6 files changed, 36 insertions(+), 70 deletions(-)
config/libc.in
config/libc/eglibc.in
config/libc/glibc-eglibc-common.in
config/libc/glibc-eglibc.in-common
config/libc/glibc.in
config/libc/uClibc.in
kconfig/kconfig.mk
scripts/build/libc/glibc.sh
     1.1 --- a/config/libc.in	Mon Oct 13 11:06:37 2008 +0000
     1.2 +++ b/config/libc.in	Mon Oct 13 11:23:51 2008 +0000
     1.3 @@ -2,10 +2,7 @@
     1.4  
     1.5  config LIBC
     1.6      string
     1.7 -    default "none"   if BARE_METAL
     1.8 -    default "glibc"  if LIBC_GLIBC
     1.9 -    default "eglibc" if LIBC_EGLIBC
    1.10 -    default "uClibc" if LIBC_UCLIBC
    1.11 +    default "none" if BARE_METAL
    1.12  
    1.13  if ! BARE_METAL
    1.14  
    1.15 @@ -25,37 +22,7 @@
    1.16        So if you want to be able to re-build your toolchain later, you will
    1.17        have to save your C library tarball by yourself.
    1.18  
    1.19 -choice
    1.20 -    bool
    1.21 -    prompt "C-library to use:"
    1.22 -    default LIBC_GLIBC
    1.23 -
    1.24 -config LIBC_GLIBC
    1.25 -    bool
    1.26 -    prompt "glibc"
    1.27 -    select LIBC_SUPPORT_NPTL
    1.28 -    select LIBC_SUPPORT_LINUXTHREADS
    1.29 -
    1.30 -config LIBC_EGLIBC
    1.31 -    bool
    1.32 -    prompt "eglibc (EXPERIMENTAL)"
    1.33 -    select LIBC_SUPPORT_NPTL
    1.34 -    select LIBC_SUPPORT_LINUXTHREADS
    1.35 -    depends on EXPERIMENTAL
    1.36 -    help
    1.37 -      EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
    1.38 -      that is designed to work well on embedded systems.  EGLIBC strives
    1.39 -      to be source and binary compatible with GLIBC.  Its goals include
    1.40 -      a reduced footprint, configurable components, and improved
    1.41 -      cross-compilation support.  EGLIBC also includes some embedded ports
    1.42 -      (such as e500/spe) that are normally separate add-ons of GLIBC.
    1.43 -
    1.44 -config LIBC_UCLIBC
    1.45 -    bool
    1.46 -    prompt "uClibc"
    1.47 -    select LIBC_SUPPORT_LINUXTHREADS
    1.48 -
    1.49 -endchoice
    1.50 +source config.gen/libc.in
    1.51  
    1.52  comment "Common C library options"
    1.53  
    1.54 @@ -96,23 +63,11 @@
    1.55  
    1.56  endchoice
    1.57  
    1.58 -if LIBC_GLIBC
    1.59 -source config/libc/glibc.in
    1.60 -endif
    1.61 -
    1.62 -if LIBC_EGLIBC
    1.63 -source config/libc/eglibc.in
    1.64 -endif
    1.65 -
    1.66  # Hack: mconf does not allow to include a file multiple times,
    1.67  # so include glibc and eglibc common options from here, rather
    1.68  # than from each config files.
    1.69 -if LIBC_GLIBC || LIBC_EGLIBC
    1.70 -source config/libc/glibc-eglibc-common.in
    1.71 -endif
    1.72 -
    1.73 -if LIBC_UCLIBC
    1.74 -source config/libc/uClibc.in
    1.75 +if LIBC_glibc || LIBC_eglibc
    1.76 +source config/libc/glibc-eglibc.in-common
    1.77  endif
    1.78  
    1.79  endmenu
     2.1 --- a/config/libc/eglibc.in	Mon Oct 13 11:06:37 2008 +0000
     2.2 +++ b/config/libc/eglibc.in	Mon Oct 13 11:23:51 2008 +0000
     2.3 @@ -1,6 +1,16 @@
     2.4 +# EXPERIMENTAL
     2.5  # eglibc options
     2.6  
     2.7 -comment "eglibc specific options"
     2.8 +config LIBC_eglibc
     2.9 +    select LIBC_SUPPORT_NPTL
    2.10 +    select LIBC_SUPPORT_LINUXTHREADS
    2.11 +    help
    2.12 +      EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
    2.13 +      that is designed to work well on embedded systems.  EGLIBC strives
    2.14 +      to be source and binary compatible with GLIBC.  Its goals include
    2.15 +      a reduced footprint, configurable components, and improved
    2.16 +      cross-compilation support.  EGLIBC also includes some embedded ports
    2.17 +      (such as e500/spe) that are normally separate add-ons of GLIBC.
    2.18  
    2.19  choice
    2.20      bool
     3.1 --- a/config/libc/glibc-eglibc-common.in	Mon Oct 13 11:06:37 2008 +0000
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,169 +0,0 @@
     3.4 -# This file contains the common configuration options
     3.5 -# that apply to both glibc and eglibc.
     3.6 -#
     3.7 -# Please note:
     3.8 -# the symlink is a hack around the fact that mconf can not parse
     3.9 -# the same file more than once, and errors out if it is the case.
    3.10 -# If mconf is updated to accept multiple inclusion of the same
    3.11 -# file, then the symlink can go (and the includers be updated).
    3.12 -
    3.13 -comment "glibc/eglibc common options"
    3.14 -
    3.15 -config LIBC_GLIBC_EXTRA_CONFIG
    3.16 -    string
    3.17 -    prompt "extra config"
    3.18 -    default ""
    3.19 -    help
    3.20 -      Extra flags to pass onto ./configure when configuring.
    3.21 -
    3.22 -      Eg.: --enable-static-nss
    3.23 -
    3.24 -config LIBC_GLIBC_EXTRA_CFLAGS
    3.25 -    string
    3.26 -    prompt "extra target CFLAGS"
    3.27 -    default ""
    3.28 -    help
    3.29 -      Extra target CFLAGS to use when building.
    3.30 -
    3.31 -config LIBC_EXTRA_CC_ARGS
    3.32 -    string
    3.33 -    prompt "gcc extra flags"
    3.34 -    default ""
    3.35 -    help
    3.36 -      Extra flags to pass gcc when building.
    3.37 -
    3.38 -      Seldom used, except for sparc64 which seems to need the flag -64
    3.39 -      to be passed onto gcc.
    3.40 -
    3.41 -config LIBC_GLIBC_USE_PORTS
    3.42 -    bool
    3.43 -    prompt "Use the ports addon"
    3.44 -    default n
    3.45 -    help
    3.46 -      The ports addon contains some architecture ports that are not available
    3.47 -      in the official distribution.
    3.48 -
    3.49 -      For example, this is the case for ARM with for 2.4 and above.
    3.50 -
    3.51 -      Say n only if you're sure that your architecture is in the official
    3.52 -      distribution for your chosen version.
    3.53 -
    3.54 -config LIBC_ADDONS
    3.55 -    bool
    3.56 -    prompt "Pass extra addons list"
    3.57 -    default n
    3.58 -    help
    3.59 -      If you say Y here, you'll be able to give the list of addons you want to
    3.60 -      include in your C library.
    3.61 -
    3.62 -config LIBC_ADDONS_LIST
    3.63 -    string
    3.64 -    prompt "Extra addons"
    3.65 -    default ""
    3.66 -    depends on LIBC_ADDONS
    3.67 -    help
    3.68 -      Extra addons to include. Space separated list.
    3.69 -
    3.70 -      You need to specify neither linuxthreads nor nptl, as they are added
    3.71 -      automagically for you depending on the threading model you choosed
    3.72 -      earlier.
    3.73 -
    3.74 -      Eg.: crypt        (for very old libces)
    3.75 -
    3.76 -if KERNEL_linux
    3.77 -
    3.78 -choice
    3.79 -    bool
    3.80 -    prompt "Minimum supported kernel version"
    3.81 -    default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    3.82 -
    3.83 -config LIBC_GLIBC_KERNEL_VERSION_NONE
    3.84 -    bool
    3.85 -    prompt "Let ./configure decide"
    3.86 -    help
    3.87 -      Let ./configure decide what minimum kernel version glibc/eglibc
    3.88 -      will be able to run against.
    3.89 -      
    3.90 -      This will inclde legacy compatibility code for older kernels in
    3.91 -      the C library, thus ensuring that it will run on a large number
    3.92 -      of old kernels.
    3.93 -      
    3.94 -      The minimum kernel version supported will be dependent upon the
    3.95 -      target you build for. For example:
    3.96 -        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
    3.97 -        sh[34]-*-linux-gnu      Requires Linux 2.6.11
    3.98 -        powerpc*                Requires Linux 2.4.19
    3.99 -        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   3.100 -
   3.101 -config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   3.102 -    bool
   3.103 -    prompt "Same as kernel headers (default)"
   3.104 -    help
   3.105 -      Normaly, you'll want glibc/eglibc to run against the same kernel
   3.106 -      version as the one used for the headers.
   3.107 -      
   3.108 -      This is the default.
   3.109 -      
   3.110 -      If enabled, crosstool-ng will use the chosen version of kernel
   3.111 -      headers for the glibc minimum kernel version supported, which is
   3.112 -      what gets passed to "--enable-kernel=" when configuring glibc.
   3.113 -      
   3.114 -      Enabling this will ensure that no legacy compatibility code for
   3.115 -      older kernels is built into your C libraries, but it will
   3.116 -      be unable to run on kernel versions older than whichever kernel
   3.117 -      headers version you've built the toolchain for.
   3.118 -      
   3.119 -      If you know for sure that your toolchain will never need to build
   3.120 -      applications that will run under a kernel version older than your
   3.121 -      chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   3.122 -      "y" here.
   3.123 -
   3.124 -config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   3.125 -    bool
   3.126 -    prompt "Specific kernel version"
   3.127 -    help
   3.128 -      Specify the earliest Linux kernel version you want glibc to
   3.129 -      include support for.  This does not have to match the kernel
   3.130 -      headers version used for your toolchain.  This controls what is
   3.131 -      passed to the "--enable-kernel=" option to the glibc configure
   3.132 -      script.
   3.133 -
   3.134 -      If you want to be able to statically link programs with your
   3.135 -      toolchain's C library, make sure this kernel version is lower than
   3.136 -      all kernels you wish to support to avoid "FATAL: kernel too old"
   3.137 -      errors.  The higher the version you specify, the less legacy code
   3.138 -      will be built into libc.
   3.139 -
   3.140 -      Most people can leave this at the default value of "2.6.9".
   3.141 -
   3.142 -if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   3.143 -
   3.144 -config LIBC_GLIBC_MIN_KERNEL_VERSION
   3.145 -    string
   3.146 -    prompt "Minimum kernel version to support"
   3.147 -    default "2.6.9"
   3.148 -    help
   3.149 -      Enter here the lowest kernel version glibc/eglibc will be able to
   3.150 -      run against.
   3.151 -      
   3.152 -      The minimum kernel version supported will be dependent upon the
   3.153 -      target you build for. For example:
   3.154 -        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   3.155 -        sh[34]-*-linux-gnu      Requires Linux 2.6.11
   3.156 -        powerpc*                Requires Linux 2.4.19
   3.157 -        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   3.158 -      
   3.159 -      Note that no sanity check is performed by crosstool-NG to ensure
   3.160 -      that the value you enter here is appropriate for your target.
   3.161 -
   3.162 -endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   3.163 -
   3.164 -endchoice
   3.165 -
   3.166 -config LIBC_GLIBC_MIN_KERNEL
   3.167 -    string
   3.168 -    default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   3.169 -    default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   3.170 -    default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   3.171 -
   3.172 -endif # KERNEL_linux
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/config/libc/glibc-eglibc.in-common	Mon Oct 13 11:23:51 2008 +0000
     4.3 @@ -0,0 +1,169 @@
     4.4 +# This file contains the common configuration options
     4.5 +# that apply to both glibc and eglibc.
     4.6 +#
     4.7 +# Please note:
     4.8 +# the symlink is a hack around the fact that mconf can not parse
     4.9 +# the same file more than once, and errors out if it is the case.
    4.10 +# If mconf is updated to accept multiple inclusion of the same
    4.11 +# file, then the symlink can go (and the includers be updated).
    4.12 +
    4.13 +comment "glibc/eglibc common options"
    4.14 +
    4.15 +config LIBC_GLIBC_EXTRA_CONFIG
    4.16 +    string
    4.17 +    prompt "extra config"
    4.18 +    default ""
    4.19 +    help
    4.20 +      Extra flags to pass onto ./configure when configuring.
    4.21 +
    4.22 +      Eg.: --enable-static-nss
    4.23 +
    4.24 +config LIBC_GLIBC_EXTRA_CFLAGS
    4.25 +    string
    4.26 +    prompt "extra target CFLAGS"
    4.27 +    default ""
    4.28 +    help
    4.29 +      Extra target CFLAGS to use when building.
    4.30 +
    4.31 +config LIBC_EXTRA_CC_ARGS
    4.32 +    string
    4.33 +    prompt "gcc extra flags"
    4.34 +    default ""
    4.35 +    help
    4.36 +      Extra flags to pass gcc when building.
    4.37 +
    4.38 +      Seldom used, except for sparc64 which seems to need the flag -64
    4.39 +      to be passed onto gcc.
    4.40 +
    4.41 +config LIBC_GLIBC_USE_PORTS
    4.42 +    bool
    4.43 +    prompt "Use the ports addon"
    4.44 +    default n
    4.45 +    help
    4.46 +      The ports addon contains some architecture ports that are not available
    4.47 +      in the official distribution.
    4.48 +
    4.49 +      For example, this is the case for ARM with for 2.4 and above.
    4.50 +
    4.51 +      Say n only if you're sure that your architecture is in the official
    4.52 +      distribution for your chosen version.
    4.53 +
    4.54 +config LIBC_ADDONS
    4.55 +    bool
    4.56 +    prompt "Pass extra addons list"
    4.57 +    default n
    4.58 +    help
    4.59 +      If you say Y here, you'll be able to give the list of addons you want to
    4.60 +      include in your C library.
    4.61 +
    4.62 +config LIBC_ADDONS_LIST
    4.63 +    string
    4.64 +    prompt "Extra addons"
    4.65 +    default ""
    4.66 +    depends on LIBC_ADDONS
    4.67 +    help
    4.68 +      Extra addons to include. Space separated list.
    4.69 +
    4.70 +      You need to specify neither linuxthreads nor nptl, as they are added
    4.71 +      automagically for you depending on the threading model you choosed
    4.72 +      earlier.
    4.73 +
    4.74 +      Eg.: crypt        (for very old libces)
    4.75 +
    4.76 +if KERNEL_linux
    4.77 +
    4.78 +choice
    4.79 +    bool
    4.80 +    prompt "Minimum supported kernel version"
    4.81 +    default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    4.82 +
    4.83 +config LIBC_GLIBC_KERNEL_VERSION_NONE
    4.84 +    bool
    4.85 +    prompt "Let ./configure decide"
    4.86 +    help
    4.87 +      Let ./configure decide what minimum kernel version glibc/eglibc
    4.88 +      will be able to run against.
    4.89 +      
    4.90 +      This will inclde legacy compatibility code for older kernels in
    4.91 +      the C library, thus ensuring that it will run on a large number
    4.92 +      of old kernels.
    4.93 +      
    4.94 +      The minimum kernel version supported will be dependent upon the
    4.95 +      target you build for. For example:
    4.96 +        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
    4.97 +        sh[34]-*-linux-gnu      Requires Linux 2.6.11
    4.98 +        powerpc*                Requires Linux 2.4.19
    4.99 +        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   4.100 +
   4.101 +config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   4.102 +    bool
   4.103 +    prompt "Same as kernel headers (default)"
   4.104 +    help
   4.105 +      Normaly, you'll want glibc/eglibc to run against the same kernel
   4.106 +      version as the one used for the headers.
   4.107 +      
   4.108 +      This is the default.
   4.109 +      
   4.110 +      If enabled, crosstool-ng will use the chosen version of kernel
   4.111 +      headers for the glibc minimum kernel version supported, which is
   4.112 +      what gets passed to "--enable-kernel=" when configuring glibc.
   4.113 +      
   4.114 +      Enabling this will ensure that no legacy compatibility code for
   4.115 +      older kernels is built into your C libraries, but it will
   4.116 +      be unable to run on kernel versions older than whichever kernel
   4.117 +      headers version you've built the toolchain for.
   4.118 +      
   4.119 +      If you know for sure that your toolchain will never need to build
   4.120 +      applications that will run under a kernel version older than your
   4.121 +      chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   4.122 +      "y" here.
   4.123 +
   4.124 +config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   4.125 +    bool
   4.126 +    prompt "Specific kernel version"
   4.127 +    help
   4.128 +      Specify the earliest Linux kernel version you want glibc to
   4.129 +      include support for.  This does not have to match the kernel
   4.130 +      headers version used for your toolchain.  This controls what is
   4.131 +      passed to the "--enable-kernel=" option to the glibc configure
   4.132 +      script.
   4.133 +
   4.134 +      If you want to be able to statically link programs with your
   4.135 +      toolchain's C library, make sure this kernel version is lower than
   4.136 +      all kernels you wish to support to avoid "FATAL: kernel too old"
   4.137 +      errors.  The higher the version you specify, the less legacy code
   4.138 +      will be built into libc.
   4.139 +
   4.140 +      Most people can leave this at the default value of "2.6.9".
   4.141 +
   4.142 +if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   4.143 +
   4.144 +config LIBC_GLIBC_MIN_KERNEL_VERSION
   4.145 +    string
   4.146 +    prompt "Minimum kernel version to support"
   4.147 +    default "2.6.9"
   4.148 +    help
   4.149 +      Enter here the lowest kernel version glibc/eglibc will be able to
   4.150 +      run against.
   4.151 +      
   4.152 +      The minimum kernel version supported will be dependent upon the
   4.153 +      target you build for. For example:
   4.154 +        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   4.155 +        sh[34]-*-linux-gnu      Requires Linux 2.6.11
   4.156 +        powerpc*                Requires Linux 2.4.19
   4.157 +        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   4.158 +      
   4.159 +      Note that no sanity check is performed by crosstool-NG to ensure
   4.160 +      that the value you enter here is appropriate for your target.
   4.161 +
   4.162 +endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   4.163 +
   4.164 +endchoice
   4.165 +
   4.166 +config LIBC_GLIBC_MIN_KERNEL
   4.167 +    string
   4.168 +    default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   4.169 +    default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   4.170 +    default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   4.171 +
   4.172 +endif # KERNEL_linux
     5.1 --- a/config/libc/glibc.in	Mon Oct 13 11:06:37 2008 +0000
     5.2 +++ b/config/libc/glibc.in	Mon Oct 13 11:23:51 2008 +0000
     5.3 @@ -1,6 +1,11 @@
     5.4  # glibc options
     5.5  
     5.6 -comment "glibc specific options"
     5.7 +config LIBC_glibc
     5.8 +    select LIBC_SUPPORT_NPTL
     5.9 +    select LIBC_SUPPORT_LINUXTHREADS
    5.10 +    help
    5.11 +      The de-facto standard for Linux distributions.
    5.12 +      Feature-rich, but large...  Most usefull for desktop-like systems.
    5.13  
    5.14  choice
    5.15      bool
    5.16 @@ -60,18 +65,3 @@
    5.17  # CT_INSERT_VERSION_STRING_ABOVE
    5.18  # Don't remove above line!
    5.19  
    5.20 -# Please note: This is not used for now (no sh support).
    5.21 -config LIBC_GLIBC_CONFIGPARMS
    5.22 -    string
    5.23 -#    prompt "Extra config params (READ HELP)"
    5.24 -    default "" if ARCH != "sh3" && ARCH != "sh4"
    5.25 -    default "no-z-defs=yes" if ARCH = "sh3" || ARCH = "sh4"
    5.26 -    help
    5.27 -      Some architectures need to set options in the file configparms.
    5.28 -      This is the case for sh3/4, which really need to set configparms as of
    5.29 -      gcc-3.4/glibc-2.3.2.
    5.30 -
    5.31 -      Unless you are building a toolchain for sh3/4, you should leave that empty.
    5.32 -
    5.33 -      Note: this is awkward, doesn't work well if you need more than one
    5.34 -            line in configparms
     6.1 --- a/config/libc/uClibc.in	Mon Oct 13 11:06:37 2008 +0000
     6.2 +++ b/config/libc/uClibc.in	Mon Oct 13 11:23:51 2008 +0000
     6.3 @@ -1,6 +1,11 @@
     6.4  # uClibc options
     6.5  
     6.6 -comment "uClibc specific options"
     6.7 +config LIBC_uClibc
     6.8 +    select LIBC_SUPPORT_LINUXTHREADS
     6.9 +    help
    6.10 +      The de-facto standard for embeded linux systems.
    6.11 +      Highly configurable, thus as feature-rich as you need, without
    6.12 +      compromising for size.
    6.13  
    6.14  choice
    6.15      bool
     7.1 --- a/kconfig/kconfig.mk	Mon Oct 13 11:06:37 2008 +0000
     7.2 +++ b/kconfig/kconfig.mk	Mon Oct 13 11:23:51 2008 +0000
     7.3 @@ -20,13 +20,15 @@
     7.4  
     7.5  # Build a list of all config files
     7.6  ARCH_CONFIG_FILES   = $(wildcard $(CT_LIB_DIR)/config/arch/*.in)
     7.7 -KERNEL_CONFIG_FILES   = $(wildcard $(CT_LIB_DIR)/config/kernel/*.in)
     7.8 +KERNEL_CONFIG_FILES = $(wildcard $(CT_LIB_DIR)/config/kernel/*.in)
     7.9 +LIBC_CONFIG_FILES   = $(wildcard $(CT_LIB_DIR)/config/libc/*.in)
    7.10  DEBUG_CONFIG_FILES  = $(wildcard $(CT_LIB_DIR)/config/debug/*.in)
    7.11 -TOOL_CONFIG_FILES  = $(wildcard $(CT_LIB_DIR)/config/tools/*.in)
    7.12 +TOOL_CONFIG_FILES   = $(wildcard $(CT_LIB_DIR)/config/tools/*.in)
    7.13  
    7.14  STATIC_CONFIG_FILES = $(shell find $(CT_LIB_DIR)/config -type f -name '*.in')
    7.15  GEN_CONFIG_FILES=$(CT_TOP_DIR)/config.gen/arch.in   \
    7.16                   $(CT_TOP_DIR)/config.gen/kernel.in \
    7.17 +                 $(CT_TOP_DIR)/config.gen/libc.in   \
    7.18                   $(CT_TOP_DIR)/config.gen/tools.in  \
    7.19                   $(CT_TOP_DIR)/config.gen/debug.in
    7.20  
    7.21 @@ -35,6 +37,7 @@
    7.22  # Build list of items
    7.23  ARCHS   = $(patsubst $(CT_LIB_DIR)/config/arch/%.in,%,$(ARCH_CONFIG_FILES))
    7.24  KERNELS = $(patsubst $(CT_LIB_DIR)/config/kernel/%.in,%,$(KERNEL_CONFIG_FILES))
    7.25 +LIBCS   = $(patsubst $(CT_LIB_DIR)/config/libc/%.in,%,$(LIBC_CONFIG_FILES))
    7.26  DEBUGS  = $(patsubst $(CT_LIB_DIR)/config/debug/%.in,%,$(DEBUG_CONFIG_FILES))
    7.27  TOOLS   = $(patsubst $(CT_LIB_DIR)/config/tools/%.in,%,$(TOOL_CONFIG_FILES))
    7.28  
    7.29 @@ -96,6 +99,9 @@
    7.30  $(CT_TOP_DIR)/config.gen/kernel.in: $(KERNEL_CONFIG_FILES)
    7.31  	$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),Target OS,KERNEL,config/kernel,$(KERNELS))
    7.32  
    7.33 +$(CT_TOP_DIR)/config.gen/libc.in: $(LIBC_CONFIG_FILES)
    7.34 +	$(call build_gen_choice_in,$(patsubst $(CT_TOP_DIR)/%,%,$@),C library,LIBC,config/libc,$(LIBCS))
    7.35 +
    7.36  # Function build_gen_menu_in:
    7.37  # $1 : destination file
    7.38  # $2 : name of entries family (eg. Tools, Debug...)
     8.1 --- a/scripts/build/libc/glibc.sh	Mon Oct 13 11:06:37 2008 +0000
     8.2 +++ b/scripts/build/libc/glibc.sh	Mon Oct 13 11:23:51 2008 +0000
     8.3 @@ -282,7 +282,7 @@
     8.4      # Super-H really needs to set configparms as of gcc-3.4/glibc-2.3.2
     8.5      # note: this is awkward, doesn't work well if you need more than one
     8.6      # line in configparms
     8.7 -    echo ${CT_LIBC_GLIBC_CONFIGPARMS} > configparms
     8.8 +    [ "${CT_ARCH_sh}" = "y" ] && echo "no-z-defs=yes" > configparms
     8.9  
    8.10      echo "libc_cv_forced_unwind=yes" > config.cache
    8.11      echo "libc_cv_c_cleanup=yes" >> config.cache