buildroot/toolchain
Thomas Petazzoni 50ac5f9a57 Support multilib variants in sub-subdirectories
When an external toolchain has multiple variants organized in
sub-directories, Buildroot only copies the selected sysroot and not
all sysroots. In order to make this work, Buildroot creates a symbolic
link of the name of the original selected sysroot to the main sysroot
to trick the compiler so that it finds its libraries at the expected
location.

I.e, if the toolchain as the following organization (example take on
the ARM CodeSourcery toolchain) :

     .	    	for ARMv5T
     armv4  	for ARMv4T
     thumb2 	for ARMv7-A/Thumb

and ARMv4T is selected, then Buildroot will copy the contents of
armv4t/ from the toolchain into its $(STAGING_DIR) and then create a
$(STAGING_DIR)/armv4t symbolic link to $(STAGING_DIR).

However, our logic to do so only works when there was one directory
level for multilib sysroots. But in the MIPS CodeSourcery toolchain
there are multiple levels. For example, the MIPS16 soft-float
little-endian sysroot variant is in mips16/soft-float/el/ compared to
the main sysroot.

This patch improves our logic to support this case. The logic is a bit
more complicated as we don't want to create a symbolic link to an
absolute path, but a symbolic link to a relative path, because we want
the host/ directory to be relocatable.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:36 +01:00
..
elf2flt support: move package/gnuconfig to support/gnuconfig 2011-09-17 08:22:12 +02:00
gcc gcc-uclibc-4.x.mk: get rid of BR2_DEPENDS_DIR 2012-01-15 20:59:37 +01:00
gdb gdb: add 7.4, mark 7.1 as deprecated 2012-01-24 22:28:47 +01:00
kernel-headers kernel-headers: bump 3.0.x / 3.2.x stable versions 2012-03-01 14:07:29 +01:00
mklibs toolchain: mark mklibs as broken 2011-05-02 21:39:53 +02:00
toolchain-buildroot toolchain-buildroot: enable / default to NPTL fr uClibc 0.9.33 as well 2012-02-02 09:07:23 +01:00
toolchain-crosstool-ng ctng: use gcc 4.4.6 2012-01-22 22:54:58 +01:00
toolchain-external Improve external toolchain logic to support IA32 Sourcery CodeBench toolchain 2012-03-01 20:26:36 +01:00
uClibc uClibc: rename 0.9.33 syscall_ncs patch 2012-02-27 10:48:56 +01:00
Config.in gdb: fix kconfig dependency handling with !BR_TOOLCHAIN_BUILDROOT 2011-11-24 14:26:52 +01:00
helpers.mk Support multilib variants in sub-subdirectories 2012-03-01 20:26:36 +01:00
Makefile.in binutils: make it a proper package 2011-01-02 22:55:16 +01:00
toolchain-buildroot.mk dependencies: move from toolchain/ to support/ 2012-02-09 21:45:59 +01:00
toolchain-common.in Fix typo buiding -> building 2012-01-15 20:47:58 +01:00
toolchain-crosstool-ng.mk dependencies: move from toolchain/ to support/ 2012-02-09 21:45:59 +01:00
toolchain-external.mk dependencies: move from toolchain/ to support/ 2012-02-09 21:45:59 +01:00