[Buildroot] Simple glibc-based external toolchain support
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Apr 15 14:03:14 UTC 2009
Hi,
Any opinion on this ? I'm adding Grant Likely to the Cc: list because
he showed interest in having support for external Glibc toolchains in
Buildroot.
Sincerly,
Thomas
Le Mon, 13 Apr 2009 22:12:19 +0200,
Thomas Petazzoni <thomas.petazzoni at free-electrons.com> a écrit :
> xSimple glibc-based external toolchain support
>
> The current Buildroot works just well with sysrootable glibc
> toolchains, using the external toolchain feature. The only thing that
> needs to be customized is the set of libraries that must be compiled
> to the target.
>
> The following patch takes a simple approach to making it easier for
> users to use glibc toolchains. It just adds a uClibc/glibc choice in
> the external toolchain menu. Then, depending on that selection, the
> configuration system will choose a sane default value for the library
> files list.
>
> The other advantage of having a uClibc/glibc choice is that in the
> future, we'll be able to add checks verifying that the external
> toolchain configuration matches the features selected in Buildroot (in
> terms of IPv6, RPC, locales or large file support).
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> toolchain/external-toolchain/Config.in | 22 ++++++++++++++++++++--
> 1 file changed, 20 insertions(+), 2 deletions(-)
>
> Index: buildroot/toolchain/external-toolchain/Config.in
> ===================================================================
> --- buildroot.orig/toolchain/external-toolchain/Config.in
> +++ buildroot/toolchain/external-toolchain/Config.in
> @@ -1,9 +1,24 @@
> #
>
> if BR2_TOOLCHAIN_EXTERNAL
> +choice
> + prompt "External toolchain C library"
> + default BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> +
> +config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> + bool "uClibc"
> +
> +config BR2_TOOLCHAIN_EXTERNAL_GLIBC
> + bool "glibc"
> +
> +endchoice
> +
> +menu "Library files"
> +
> config BR2_TOOLCHAIN_EXTERNAL_LIB_C
> string "The core C library from the external toolchain"
> - default "libc.so.0"
> + default "libc.so.0" if BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> + default "libc.so.6" if BR2_TOOLCHAIN_EXTERNAL_GLIBC
> help
> Specify the core C shared library found in the external
> toolchain. This is required in addition to any other
> @@ -11,13 +26,16 @@
>
> config BR2_TOOLCHAIN_EXTERNAL_LIBS
> string "Libraries to copy from the external toolchain"
> - default "ld-uClibc.so.0 libcrypt.so.0 libdl.so.0 libgcc_s.so
> libm.so.0 libnsl.so.0 libpthread.so.0 libresolv.so.0 librt.so.0
> libutil.so.0"
> + default "ld-uClibc.so.0 libcrypt.so.0 libdl.so.0 libgcc_s.so
> libm.so.0 libnsl.so.0 libpthread.so.0 libresolv.so.0 librt.so.0
> libutil.so.0" if BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> + default "ld-linux.so.3 libcrypt.so.1 libdl.so.2
> libgcc_s.so.1 libm.so.6 libnsl.so.1 libpthread.so.0 libresolv.so.2
> librt.so.1 libutil.so.1 libnss_files.so.2" if
> BR2_TOOLCHAIN_EXTERNAL_GLIBC help A space separated list of the
> shared libraries to be copied from the external toolchain into the
> root filesystem. Only the top-level name is needed, i.e. libc.so,
> libpthread.so as the actual shared library symlinked to will be
> copied also. +endmenu
> +
> config BR2_TOOLCHAIN_EXTERNAL_STRIP
> bool
> default y
>
>
--
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list