]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commit
Improve external toolchain logic to support IA32 Sourcery CodeBench toolchain
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 31 Dec 2011 10:57:15 +0000 (11:57 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 1 Mar 2012 19:26:36 +0000 (20:26 +0100)
commit0729b544b3f943f238042d8169ccb8e2f6c88a95
treeb3e0ff33a7711bfa468d0763e0ba0d2d8816d97d
parentb5bebeaebd873af7ca6899ab2b9088d33a429b19
Improve external toolchain logic to support IA32 Sourcery CodeBench toolchain

The IA32 Sourcery CodeBench toolchain has a relatively special
structure, with the following multilib variants:

 * Intel Pentium 4, 32 bits, the multilib variant is in ./ relative to
   the main sysroot, with the libraries in the lib/ directory.

 * Intel Xeon Nocona, 64 bits, the multilib variant is in ./ relative
   to the main sysroot, with the libraries in the lib64/ directory.

 * Intel Atom 32 bits, the multilib variant is in atom/ relative to
   the main sysroot, with the libraries in the lib/ directory.

 * Intel Core 2 64 bits, the multilib variant is in core2/ relative to
   the main sysroot, with the libraries in lib64/ directory.

So the first two variants are in the same sysroot, only the name of
the directory for the libraries is different.

Therefore, we introduce a new ARCH_LIB_DIR variable, which contains
either 'lib' or 'lib64'. This variable is defined according to the
location of the libc.a file for the selected multilib variant, and is
then used when copying the libraries to the target and to the staging
directory.

In addition to this, we no longer use the -print-multi-directory to
get the ARCH_SUBDIR, since in the case of the 64 bits variants of this
toolchain, it returns just '64' and not a real path. Instead, we
simply compute the difference between the arch-specific sysroot and
the main sysroot.

We also take that opportunity to expand the documentation on the
meaning of the different variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain/helpers.mk
toolchain/toolchain-external/ext-tool.mk