Commit Graph

174 Commits

Author SHA1 Message Date
Thomas Petazzoni
4a03796450 toolchain-external: update AArch64 Linaro toolchains
Add the AArch64 Linaro toolchains 2013.02 and 2013.03, remove 2012.11
and 2012.12.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:49:04 +02:00
Thomas Petazzoni
79828fc01d toolchain-external: update ARM Linaro toolchains
Add the ARM Linaro toolchains 2013.02 and 2013.03, remove 2012.11 and
2012.12.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:48:33 +02:00
Thomas Petazzoni
313094d787 toolchain-external: add new Microblaze toolchains
The existing Microblaze toolchains that we have have the annoying
property of being based on a very old glibc version: 2.3.6. Xilinx
provides newer toolchains with glibc 2.14, generated by Crosstool-NG,
but they are only available as part of a huge Git repository that
contains the gcc, Linux, binutils, glibc sources unpacked (4.4 GB
total), which makes is very unpractical.

I contacted the Xilinx person who did those toolchains, but they
apparently didn't intend to change that anytime soon.

So, we have created a tarball for those toolchains, adding a
README.txt file in the tarball that points back to the original
location that contains the source code for them. Those tarballs are
hosted on sources.buildroot.net.

This commit then adds support for those two new external toolchains,
one for little endian Microblaze, another one for big endian
Microblaze.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-23 00:12:14 +01:00
Arnout Vandecappelle
befb9a3ee0 Make external toolchain relocatable
The external toolchain wrapper sets sysroot etc. to an absolute path.
By changing this to a relative path, it is possible to move the host
directory to a different location and still have a working build
system.

This only works for a downloaded external toolchain.  For a pre-installed
external toolchain, it is possible to move the host directory to a
different location, but not the external toolchain directory (it does work
if the external toolchain directory lies within the host directory).  For
an internal or crosstool-ng toolchain, there is no wrapper so updating the
sysroot path should be done in a different way.

See http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html
for information about others things to do to make the host directory
relocatable.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 15:06:31 +01:00
Thomas Petazzoni
1382af876b toolchain-external: remove support for AArch64 Linaro 2012.10 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 17:35:53 +01:00
Thomas Petazzoni
7bf0e3538f toolchain-external: add support for AArch64 Linaro 2013.01 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 17:35:31 +01:00
Peter Korsgaard
a84075b5f4 toolchain-external: add linaro 2013.01, remove 2012.10
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 13:42:03 +01:00
Gustavo Zacarias
82e39a2900 blackfin: add 2012r2 and remove 2010rc1 toolchains
Remove the old 2010RC1 toolchain and add the new 2012R2-RC2 toolchain.
On related good news the new toolchain fixes:
http://autobuild.buildroot.net/results/eac5bd4f4766d98431e72a3c81492a962c85fa98/
since it's got unshare() support now.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 08:26:40 +01:00
Yann E. MORIN
2934d1bb2d toolchain/external: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:05:50 +01:00
Thomas Petazzoni
2d16ba9162 toolchain-external: use BR2_HOSTARCH_NEEDS_IA32_LIBS where needed
All supported pre-built external toolchains are built for x86 Linux,
so we add the BR2_HOSTARCH_NEEDS_IA32_LIBS select.

[Peter: microblaze toolchains are 64bit]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:37:23 +01:00
Thomas Petazzoni
4eff1f2064 toolchain-external: add dependency on BR2_HOST_ARCH
The pre-build external toolchains are all built for x86, so they are
only available if the build machine is a x86 or x86-64 machine.

[Peter: microblaze toolchains are 64bit]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:32:54 +01:00
Thomas Petazzoni
2534754102 toolchain-external: remove support for 'Linaro ARM 2012.09'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:50 +01:00
Thomas Petazzoni
e658cdf1ad toolchain-external: add support for 'Linaro ARM 2012.12'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:10 +01:00
Thomas Petazzoni
8fa0a06d5b toolchain-external: add support for 'Linaro AArch64 12.12'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:04 +01:00
Thomas Petazzoni
6a0adcec31 toolchain-external: add support for 'Linaro AArch64 12.11'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:23:44 +01:00
Thomas Petazzoni
29efac3c23 toolchain-external: simplify many Sourcery CodeBench download URLs
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:23:18 +01:00
Thomas Petazzoni
7feaa991b5 toolchain-external: remove support for 'Sourcery CodeBench MIPS 2011.03'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:23:05 +01:00
Thomas Petazzoni
7540ef8887 toolchain-external: remove support for 'Sourcery CodeBench MIPS 4.4'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:22:56 +01:00
Thomas Petazzoni
8de1f57e66 toolchain-external: add support for 'Sourcery CodeBench MIPS 2012.09'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:22:23 +01:00
Thomas Petazzoni
60e26e3b1b toolchain-external: add support for 'Sourcery CodeBench MIPS 2012.03'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:21:51 +01:00
Thomas Petazzoni
16dcf2d668 toolchain-external: Linaro toolchains are available for Cortex-A{5, 15}
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-10 10:41:35 +01:00
Peter Korsgaard
36c76398dc toolchain-external: bfin 2012R1-BETA toolchain no longer available
Replace it by -RC2 instead.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-06 11:43:19 -08:00
Peter Korsgaard
8cdabd7695 Merge branch 'next'
Kickoff 2013.02 cycle
2012-12-02 17:19:40 -08:00
Richard Braun
696365f69b toolchain-external: fix installation of libthread_db
Whatever the gdbserver source, as long as it's installed on the target,
assume it requires libthread_db.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-30 13:57:49 -08:00
Thomas Petazzoni
90f763c77d toolchain-external: on ARM, show comment about the availability of Linaro toolchains
On ARM, Linaro external toolchains are only visible if the user
selects Cortex-A8 or Cortex-A9. Therefore, we add a comment that tells
the user that the Linaro toolchains are only available under those
conditions.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:11:45 -08:00
Thomas Petazzoni
ba60360e41 toolchain-external: remove Linaro 2012.08
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:11:41 -08:00
Thomas Petazzoni
008f635d29 toolchain-external: add Linaro 2012.11
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:11:29 -08:00
Thomas Petazzoni
3a843a3a04 toolchain-external: assume that by default, glibc toolchains have RPC support
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:20 +01:00
Thomas Petazzoni
31ab4e7da3 toolchain-external: remove Linaro 2012.07
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
0da625e2ff toolchain-external: remove Linaro 2012.06
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
5680b69c3f toolchain-external: remove Sourcery CodeBench x86/x86_64 2010.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
4b7fc1a96d toolchain-external: remove Sourcery CodeBench SH 2010.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
436d27c4ac toolchain-external: remove Sourcery CodeBench ARM 2010.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
9b3fba22d7 toolchain-external: remove Sourcery CodeBench ARM 2010q1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:19 +01:00
Thomas Petazzoni
1c81123cef toolchain-external: add Sourcery CodeBench x86/x86_64 2012.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:18 +01:00
Thomas Petazzoni
e067a449df toolchain-external: add support for Sourcery CodeBench SH 2012.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:18 +01:00
Thomas Petazzoni
363cb60e0d toolchain-external: add Sourcery CodeBench x86 2012.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:18 +01:00
Thomas Petazzoni
41d85c0ba4 toolchain-external: add Sourcery CodeBench SuperH 2012.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-06 08:20:18 +01:00
Thomas Petazzoni
78f136ad8b toolchain-external: ARM 2012.03 has RPC support
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-05 09:19:18 +01:00
Thomas Petazzoni
9fbdf062b9 toolchain-external: improve glibc support to test availability of RPC
Basically, the BR2_TOOLCHAIN_EXTERNAL_GLIBC option no longer
unconditionally selects BR2_TOOLCHAIN_HAS_NATIVE_RPC since there are
glibc toolchains that don't have RPC support. All the predefined
toolchain profiles are updated to take into account this change: for
the moment, all glibc toolchains that have pre-defined toolchains have
RPC support, but further patches in the series add pre-defined glibc
toolchains that don't have RPC support. In the case of custom glibc
toolchains, a question is asked to the user so that he can say whether
the external glibc toolchain has RPC support or not. The validity of
this configuration option is checked by the new
check_glibc_rpc_feature function in helpers.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:22:43 +01:00
Thomas Petazzoni
0858e000fe Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
The BR2_INET_RPC has for a long time been a not very descriptive
configuration option name, and with the advent of non-RPC glibc
toolchains and the apparition of libtirpc, we really need to rename it
to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:14:48 +01:00
Thomas Petazzoni
7c7512de16 toolchain-external: add aarch64 external toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:06:30 +01:00
Thomas Petazzoni
c90897b7db toolchain-external: remove support for Linaro 2012.05 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-26 13:12:49 +02:00
Thomas Petazzoni
94ca09c472 toolchain-external: add support for Linaro 2012.10 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-26 13:12:33 +02:00
Baruch Siach
96688934c4 external-toolchain: BR2_TOOLCHAIN_EXTERNAL_GLIBC includes eglibc
Yann E. MORIN says:

    "Although eglibc can be configured to include/exclude parts of the
    features, it seems to not be in wide use, if at all."

Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-04 22:20:37 +02:00
Fabio Porcedda
7bcb494dcc external-toolchain: add Sourcery CodeBench ARM 2012.03
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-29 09:56:26 +02:00
Peter Korsgaard
820cf37152 toolchain-external: add linaro 2012.0{7,8,9}
And remove the 2012.0{2,3,4} versions.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-29 09:54:34 +02:00
Thomas Petazzoni
1f6e2b4a95 toolchain-external: microblaze toolchains are glibc-based
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-02 21:44:15 +02:00
Thomas Petazzoni
701940770b toolchain-external: make preinstall the default for custom toolchains
All the defconfig files used by the autobuilders that use
pre-installed external toolchains are making the assumption that the
default for a custom external toolchain is "pre-installed". We keep
this default for now, since changing it breaks the autobuilders.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 20:57:26 +02:00
Thomas Petazzoni
5cc4924825 toolchain-external: add Sourcery CodeBench MIPS 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:29:37 +02:00
Thomas Petazzoni
adf586ecb9 toolchain-external: add Blackfin toolchain 2012R1-BETA1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00
Thomas Petazzoni
67ef65600d toolchain-external: remove ARM CodeSourcery 2009q3
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00
Thomas Petazzoni
9d1fd3affb toolchain-external: remove Linaro 2012.01
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:02 +02:00
Thomas Petazzoni
b64233fc24 toolchain-external: add Linaro 2012.06
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:52 +02:00
Thomas Petazzoni
e8d9fa9d60 toolchain-external: add Linaro 2012.05
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:25 +02:00
Thomas De Schampheleire
163aeb14e2 toolchain-external: line up comments with reality
Line-up with changes from commit 3367d5ce77
"external-toolchain: run checks even on extracted toolchains"

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:25 +02:00
Thomas De Schampheleire
df0c125994 toolchain-external: allow downloading a custom toolchain
This patch adds the possibility to download a custom external
toolchain, in addition to the existing support of preinstalled custom
external toolchains.

With the modified configuration, the user is presented with the
following options:
- Toolchain type: Buildroot toolchain | External toolchain | Ct-ng toolchain

In case of External toolchain:
- Toolchain: the CodeSourcery toolchains | Custom toolchain
- Toolchain origin: Toolchain to be downloaded and installed | Pre-installed toolchain

In case of Toolchain to be downloaded, the user is presented with:
- Toolchain URL
In case of Pre-installed toolchain, the users sees:
- Toolchain Path

For CodeSourcery toolchains, the toolchain URL field is not used (the
URLs are directly coded in ext-tool.mk).

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:24 +02:00
Thomas De Schampheleire
5022fa823c toolchain-external/Config.in: fix indentation
Fix the indentation of the external toolchain Config file, where tabs
and spaces are mixed as indentation even within the same block.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-21 15:57:42 +02:00
Peter Korsgaard
d8e1ecb855 ext-tool.mk: fix SUPPORT_LIB_DIR calculation for toolchains without libstdc++
SUPPORT_LIB_DIR would get resolved to the main buildroot directory for
external toolchains without C++ support, as:

 - gcc -print-file-name=<nonexisting-file> returns <nonexisting-file>
 - readlink -f <nonexisting-file> returns $PWD/<nonexisting-file>

So fix it by ensuring output of gcc -print-file-name actually exists
before using it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-15 22:44:17 +02:00
Thomas Petazzoni
057c729c24 external-toolchain: add support for Linaro 2012.04
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-05-07 17:08:37 +02:00
Thomas Petazzoni
e1f0804cc1 external-toolchain: add support for recent Linaro toolchains
Starting from 2012.03, the Linaro toolchains have separated the GCC
support libraries (libstdc++, libgcc_s) from the sysroot itself. So we
no longer have the case where all libraries are inside the sysroot, as
we had for all the previously supported toolchains.

Therefore, we add some logic to detect if such a separate directory is
used for GCC support libraries, and if it's the case, we make sure
that we take into account this directory when creating our own
sysroot, and when copying libraries to the target filesystem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-05-07 17:08:37 +02:00
Thomas Petazzoni
9e3dac5045 external-toolchain: do not copy shared libraries when BR2_PREFER_STATIC_LIB=y
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-29 20:33:22 +02:00
Gustavo Zacarias
1eb46725de toolchain/microblaze: fix up big-endian characteristics
The big-endian microblaze external toolchain is missing vital
characteristics being set, such as LARGEFILE support, IPV6 and so on.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Stephan Hoffmann <sho@reLinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-04 22:46:07 +02:00
Peter Korsgaard
1b7f5285fb toolchain: add linaro 2012.03 external ARM toolchain
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-30 00:22:47 +02:00
Alvaro G. M
bb7788fd86 Microblaze: added external toolchain from Xilinx
Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Tested-by: Stephan Hoffmann <sho@relinux.de>
Downloading Microblaze LE toolchain works on a clean install
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 22:53:24 +01:00
Alvaro G. M
0a4856ce27 DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
This modifies the definition of DOWNLOAD to receive two arguments:
the first one is the full URL of the file to download, whereas the second
(and optional) is the name the file will have once downloaded.

Same thing with the SOURCE_CHECK_WGET and SCP functions.

All calls to these functions have been changed to the shortest form of
the new API, except for toolchains acquisition. Since there is quite a
number of different toolchains this call to DOWNLOAD is better set to the
generic one.

Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Stephan Hoffmann <sho@relinux.de>
Downloading Microblaze LE toolchain works on a clean install
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 22:21:16 +01:00
Thomas Petazzoni
c56b58b4b7 debug: provide an option to copy the gdbserver to the target
When an external toolchain is used, it is very likely that it contains
a pre-built version of a gdbserver that has the same version as the
cross-gdb included in the external toolchain. So, we now provide an
option that allows to copy this pre-built gdbserver to the target.

As the location of the gdbserver in the external toolchain is not
standardized, we only support the CodeSourcery and Crosstool-NG
layouts for the moment. Other locations can be added later.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:04:39 +01:00
Arnout Vandecappelle (Essensium/Mind)
a22dc0f230 ext-toolchain: Automatically set -m64 if the architecture is x86_64
Without the -m64, choosing the x86_64 architecture with a Sourcery external
toolchain will result in a 32-bit rootfs.

Also simplified the help text to reflect this change.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 00:00:57 +01:00
Peter Korsgaard
6131e47af0 toolchain-external: add linaro 2012.02
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-06 23:38:39 +01:00
Thomas Petazzoni
e6e60becb0 external-toolchain: add support for Linaro 2012.01
Linaro has just released a new pre-built toolchain, available as a
tarball, which is a pure toolchain (only the C library is
included). This makes this new Linaro 2012.01 toolchain usable in
Buildroot, so let's integrate the support for it.

In addition to simply adding the new external toolchain at the usual
locations, this patch allows need to adapt a few things to support
Linaro toolchains. Most toolchains store their libraries in the "lib/"
or "usr/lib" directories relative to the toolchain. Buildroot
toolchains on the other hand, store the libraries in the
"usr/<target-name>/lib" directory. And the Linaro toolchain has
choosen to use the "lib/<target-name>" directory. Therefore, this
patch adjust:

 * The logic to search a particular library when that library needs to
   be copied to the target directory

 * The logic to deduce the sysroot directory from the libc.a file
   location in the toolchain: removing "(usr/?)lib(64?)" is no longer
   sufficient, we need to take into account the "lib/<target-name>/"
   case.

Since the Linaro toolchain generates code for Cortex-A processors
only, the selection of this toolchain is limited to Cortex-A8 and
Cortex-A9.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
2ec3e6db46 external-toolchain: fix description of PowerPC 2010.09 from Mentor Graphics
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
3367d5ce77 external-toolchain: run checks even on extracted toolchains
When the mechanism that allows Buildroot to download external
toolchains automatically was added, all the sanity checks on the
external toolchains were not performed. This commit re-enables those
checks that we already do on external toolchains that are not
downloaded/extracted by Buildroot. This makes the toolchain checks
more consistent accross various configurations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
c5c1064e49 external-toolchain: details on selecting the multilib variants
Each multilib variant need to be selected using a special combination
of flags, requiring specific choices of the Buildroot options. This
commit documents those configuration choices to make it easier to use
the various multilib variants.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
91d4336cbc external-toolchain: Blackfin.uclinux.org 2011R1-RC4
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
d00bd2a1f7 external-toolchain: add Sourcery CodeBench x86/x86_64 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
22e0698eb8 external-toolchain: add Sourcery CodeBench PowerPC 2011.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
851508dedd external-toolchain: bump MIPS 2011.03 from -93 to -110
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
102c6b5fa1 external-toolchain: add Sourcery CodeBench ARM 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
17b8cc930c external-toolchain: remove 2009q1 ARM Sourcery toolchain
We are going to add one more ARM Sourcery toolchain version, so it's
time to remove the oldest version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
b95e436ee0 Expand external toolchain wrapper to custom flags
The BR2_TARGET_OPTIMIZATION flags were not used by the external
toolchain wrapper, which broke the multilib selection logic of
multilib external toolchains. It also simplifies the compilation of
external programs since all flags are properly passed automatically by
the toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
0729b544b3 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>
2012-03-01 20:26:36 +01:00
Peter Korsgaard
5931db0de9 gdb: fix kconfig dependency handling with !BR_TOOLCHAIN_BUILDROOT
Newer versions of GDB need pthread debugging support if threads are
enabled, which is always the case for glibc but is a configure option
for uClibc.

We have solved this for internal toolchains by selecting the
BR2_PTHREAD_DEBUG option from the GDB selection if needed, but as this
option isn't available when ctng/external toolchains are used, mconf
prints ugly warnings and the build may fail if an external uClibc
toolchain without pthread debugging support is used.

Fix it by introducing 2 more hidden config options:
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED

The first tells us if the toolchain HAS pthreads debugging support,
and is checked by check_uclibc_feature in helper.mk for external uClibc
based toolchains.

The second tells us if the toolchain is ABLE TO provide pthreads debugging
support if threads are enabled, either because it's an internal toolchain
where we can force enable it or an external glibc/eglibc toolchain or
uClibc with the option enabled.

Crosstool-ng forcibly enables this support, so those will always work.
The preconfigured uClibc-based toolchains we have also all enable it.

Finally, show a comment if this isn't the case so the (external toolchain)
user knows why. This is placed outside the choice option, as menuconfig
has a bug where it doesn't show choice selections which only contain
comments.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-24 14:26:52 +01:00
Peter Korsgaard
69f34bafa8 toolchain-external: fix x86 codesourcery config symbol typo
As noticed on irc.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-08 17:06:13 +01:00
Stany MARCEL
3fb6010dca toolchain: Add the possibility to have a mcpu option with wrapper
Permit to define the mcpu of the external toolchain wrapper, based on
BR2_GCC_TARGET_CPU.

Signed-off-by: Stany MARCEL <stanypub@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-02 11:48:05 +01:00
Stany MARCEL
d64c4ed3f7 toolchain: Correct test for external tools symlink creation
When the external tools chain is installed in a path that match one of
the first case test, all symlink are created to the external
wrapper. The proposed solution is to test only the base name not the
full path.

Signed-off-by: Stany MARCEL <stanypub@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-02 11:46:07 +01:00
Thomas Petazzoni
2e57043b4d external-toolchain: Slightly optimize toolchain extraction
Some CodeSourcery toolchains contain a huge number of locales that are
not useful, even though they account for 70-80% of the total toolchain
size. By skipping the extraction of those useless locales, we make the
toolchain extraction process slightly faster, and also make the output
directory size a lot smaller (host/opt/ is 213 MB instead of 1.5 GB
with a 2010.09 ARM CodeSourcery toolchain).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-10 09:46:36 +02:00
Thomas Petazzoni
3a7149347c ext-toolchain: Take into account Mentor Graphics acquisition of CodeSoucery
Now that CodeSourcery has been bought by Mentor Graphics, the
toolchains are named "Sourcery CodeBench". We rename the config short
description and adjust the help text, but we keep the option name in
order not to break existing configurations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:36:22 +02:00
Thomas Petazzoni
1459fc24c5 ext-toolchain: Add CodeSoucery x86 GNU/Linux 2010.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:35:13 +02:00
Thomas Petazzoni
42c0fb4dc3 ext-toolchain: Add CodeSourcery SH GNU/Linux 2011.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:33:57 +02:00
Thomas Petazzoni
062288f173 ext-toolchain: Bump version of CodeSourcery MIPS 2011.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:32:53 +02:00
Thomas Petazzoni
ae2364676f ext-toolchain: Add CodeSourcery SH uClinux 2011.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:32:20 +02:00
Thomas De Schampheleire
c72f54bba4 toolchain-external: allow specifying extra external libraries
Custom toolchains may provide extra libraries that need to be copied to the
target. This patch adds a configuration option for this.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-09 21:30:44 +02:00
Subramaniam C.A
d1a9698bec ext-toolchain: fix download url
The website for downloading the toolchain has changed from
http://www.codesourcery.com to http://sourcery.mentor.com

Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-12 23:58:22 +02:00
Maxime Ripard
68c344a372 Fix the CodeSourcery ARM 2009q3 toolchain use
The prefix is not set when selecting this toolchain, resulting in a
build failure.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-29 22:38:17 +02:00
Thomas De Schampheleire
54624512d8 toolchain-external: fix some typos CodeSoucery -> CodeSourcery
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-04 21:56:33 +02:00
Thomas Petazzoni
d63a817f55 external toolchains: fix SuperH toolchain configuration
The CodeSourcery toolchain for SH2-A platforms provide largefile
support, inet RPC, wide char and threads, so adjust the configuration
accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-04 21:00:50 +02:00
Peter Korsgaard
4ee9d569f9 uClibc: drop BR2_PROGRAM_INVOCATION option
Remove the BR option and enable the configuration setting in the
uClibc defconfigs.

The BR2_PROGRAM_INVOCATION option only adds very little overhead to
uClibc, and we have a number of packages needing it, so simply always
enable it - Simplifying the kconfig logic and the number of choices
users have to make.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-27 11:56:53 +02:00
Peter Korsgaard
04d0689cc4 toolchain-external: sync toolchain options with the internal toolchain
The internal toolchain defaults to thread support enabled (and
most external toolchains have thread support as well), so enable
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS by default.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-26 15:28:19 +02:00
Phil Edworthy
d5247aa842 sh: Fix Buildroot sh targets to match gnuconfig targets
sh2eb and sh2a_nofpueb gnuconfig targets are no longer supported
in Buildroot. This patch replaces these Buildroot targets with sh2
and sh2a respectively, and adds sh4a targets as these are widely
used.

To build for devices without an fpu, the relevant toolchain flags
will have to be specified.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-18 23:26:12 +02:00
Peter Korsgaard
b51b664727 toolchain-external: download/show external toolchain with make source/external-deps
Based on patch by Hervé Fache <h-fache@ti.com>.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-13 08:50:46 +02:00