From 6501c29fd1fa259fd836a94c363a6593d8db5a6a Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Thu, 26 Mar 2009 18:58:13 +0000 Subject: Merge r1432:1437 from /branches/newlib into /trunk : - under bare-metal, the user is responsible for providing a gdbserver stub (r1433) - install a CT_TARGET-cc -> CT_TARGET-gcc symlink for the core gcc (r1434) - allow broader dependency in generated config files (r1435, r1436) - prepare C library menuconfig for using a C library under bare-metal (r1437) /trunk/scripts/build/cc/gcc.sh | 4 4 0 0 ++++ /trunk/config/debug/gdb.in | 5 5 0 0 +++++ /trunk/config/libc/glibc.in | 1 1 0 0 + /trunk/config/libc/uClibc.in | 1 1 0 0 + /trunk/config/libc/eglibc.in | 2 1 1 0 +- /trunk/config/config.mk | 20 8 12 0 ++++++++------------ /trunk/config/arch/sh.in | 2 1 1 0 +- /trunk/config/arch/ia64.in | 2 1 1 0 +- /trunk/config/arch/powerpc64.in | 2 1 1 0 +- /trunk/config/libc.in | 4 0 4 0 ---- 10 files changed, 23 insertions(+), 20 deletions(-) diff --git a/config/arch/ia64.in b/config/arch/ia64.in index f893d28..c2ba3ee 100644 --- a/config/arch/ia64.in +++ b/config/arch/ia64.in @@ -1,5 +1,5 @@ # ia64 specific config options -# EXPERIMENTAL +# depends on EXPERIMENTAL config ARCH_ia64 select ARCH_64 diff --git a/config/arch/powerpc64.in b/config/arch/powerpc64.in index 7b5a62e..29b756b 100644 --- a/config/arch/powerpc64.in +++ b/config/arch/powerpc64.in @@ -1,5 +1,5 @@ # powerpc specific configuration file -# EXPERIMENTAL +# depends on EXPERIMENTAL config ARCH_powerpc64 select ARCH_64 diff --git a/config/arch/sh.in b/config/arch/sh.in index b21ee1b..57c2702 100644 --- a/config/arch/sh.in +++ b/config/arch/sh.in @@ -1,5 +1,5 @@ # Super-H specific configuration file -# EXPERIMENTAL +# depends on EXPERIMENTAL config ARCH_sh select ARCH_SUPPORTS_BOTH_ENDIAN diff --git a/config/config.mk b/config/config.mk index 5943d10..6945d09 100644 --- a/config/config.mk +++ b/config/config.mk @@ -87,12 +87,10 @@ define build_gen_choice_in _entry=$$(echo "$${entry}" |$(sed) -r -s -e 's/[-.+]/_/g;'); \ echo "config $(3)_$${_entry}"; \ echo " bool"; \ - printf " prompt \"$${entry}"; \ - if $(grep) -E '^# +EXPERIMENTAL$$' $${file} >/dev/null 2>&1; then \ - echo " (EXPERIMENTAL)\""; \ - echo " depends on EXPERIMENTAL"; \ - else \ - echo "\""; \ + echo " prompt \"$${entry}\""; \ + dep_val=$$($(grep) -E '^# depends on ' $${file} 2>/dev/null); \ + if [ -n "$${dep_val}" ]; then \ + echo " $${dep_val#\# }"; \ fi; \ echo ""; \ done; \ @@ -134,12 +132,10 @@ define build_gen_menu_in _entry=$$(echo "$${entry}" |$(sed) -r -s -e 's/[-.+]/_/g;'); \ echo "menuconfig $(3)_$${_entry}"; \ echo " bool"; \ - printf " prompt \"$${entry}"; \ - if $(grep) -E '^# +EXPERIMENTAL$$' $${file} >/dev/null 2>&1; then \ - echo " (EXPERIMENTAL)\""; \ - echo " depends on EXPERIMENTAL"; \ - else \ - echo "\""; \ + echo " prompt \"$${entry}\""; \ + dep_val=$$($(grep) -E '^# depends on ' $${file} 2>/dev/null); \ + if [ -n "$${dep_val}" ]; then \ + echo " $${dep_val#\# }"; \ fi; \ echo "if $(3)_$${_entry}"; \ echo "source $${file}"; \ diff --git a/config/debug/gdb.in b/config/debug/gdb.in index 4d026f7..865a5f8 100644 --- a/config/debug/gdb.in +++ b/config/debug/gdb.in @@ -87,6 +87,11 @@ config GDB_GDBSERVER_STATIC In case you have trouble with dynamic loading of shared libraries, you will find that a static gdbserver comes in handy. +if BARE_METAL +comment "In bare-metal, you'll need to " +comment "provide your own gdbserver stub." +endif # BARE_METAL + choice bool prompt "gdb version" diff --git a/config/libc.in b/config/libc.in index 394db6f..ce1e2cc 100644 --- a/config/libc.in +++ b/config/libc.in @@ -4,8 +4,6 @@ config LIBC string default "none" if BARE_METAL -if ! BARE_METAL - menu "C-library" config LIBC_VERSION @@ -64,5 +62,3 @@ config THREADS_NONE endchoice endmenu - -endif # ! BARE_METAL diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in index 1e1dcea..318e335 100644 --- a/config/libc/eglibc.in +++ b/config/libc/eglibc.in @@ -1,5 +1,5 @@ -# EXPERIMENTAL # eglibc options +# depends on EXPERIMENTAL && ! BARE_METAL config LIBC_eglibc select LIBC_SUPPORT_NPTL diff --git a/config/libc/glibc.in b/config/libc/glibc.in index ac35f9d..f664b17 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -1,4 +1,5 @@ # glibc options +# depends on ! BARE_METAL config LIBC_glibc select LIBC_SUPPORT_NPTL diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in index 65396ff..7bc0501 100644 --- a/config/libc/uClibc.in +++ b/config/libc/uClibc.in @@ -1,4 +1,5 @@ # uClibc options +# depends on ! BARE_METAL config LIBC_uClibc select LIBC_SUPPORT_LINUXTHREADS diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 897434a..c7e1712 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -228,6 +228,10 @@ do_cc_core() { CT_DoLog EXTRA "Installing ${mode} core C compiler" CT_DoExecLog ALL make ${install_rules} + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able + # to call the C compiler with the same, somewhat canonical name. + CT_DoExecLog ALL ln -sv "${CT_TARGET}"-gcc "${core_prefix_dir}/bin/${CT_TARGET}"-cc + CT_EndStep } -- cgit v0.10.2-6-g49f6