Modern versions of patch (2.6.1.81 / 85 tested) gets confused by the empty
git trailer referencing uClibc_errno.h (from when patch was forward ported
from 0.9.31), so drop it.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
Files package/lzma/lzmacheck.sh and toolchain/dependencies/check-host-lzma.sh
are present since the very beginning of buildroot, but do not appear to be
used (anymore). Let's remove them.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Currently, the dependencies target (that runs dependencies.sh) depends on
DEPENDENCIES_HOST_PREREQ. This means that the dependencies listed in
DEPENDENCIES_HOST_PREREQ (currently host-sstrip if sstrip is selected) are
built *before* the dependencies.sh script is run.
As a result, if e.g. there is no gcc compiler present on the build system, the
dependencies in DEPENDENCIES_HOST_PREREQ will fail to build, and buildroot
will fail non-gracefully.
This patch makes sure that the DEPENDENCIES_HOST_PREREQ are checked *after* the
dependencies.sh script, so that any problem in the build system is reported in
a clean way by dependencies.sh.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Closes#4021
Fix build breakage for sparc as reported in bug #4021
Patches from Konrad Eisele <konrad@gaisler.com>
Submitted in the uclibc mailing list.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Compiling gdb for the target requires thread support in the C library,
otherwise:
/home/test/outputs/test-888/toolchain/gdb-7.3.1/gdb/gdb_thread_db.h:37:21: fatal error: pthread.h: No such file or directory
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The gdb debugger does not have support for running as the native
debugger on the SuperH architecture:
configure: error: "*** Gdb does not support native target sh4-unknown-linux-gnu"
See also http://lists.debian.org/debian-superh/2010/04/msg00000.html.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The original name uclibc-update is confusing as it only updates a
configuration file.
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>
When using a CT-NG toolchain as external toolchain (not with the
integration) and said toolchain has u-w directories rsync fails.
So instruct rsync to chmod u+w directories in the target copy to avoid
the issue.
[Peter: notice that this is a workaround for a rsync 3.0.8 bug]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
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>
Update the version in the package description. Update the default
configuration files for the three different C libraries.
[Peter: Removed unneeded changes as noticed by Baruch Siach]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
When the user has Perl local::lib installed, its environment contains
a PERL_MM_OPT variables which defines
INSTALL_BASE="/some/location". Unfortunately, having this makes the
build of libxml-parser-perl (and probably other Perl related packages)
fail, because it complains that both PREFIX (passed in our .mk file)
and INSTALL_BASE (passed from the PERL_MM_OPT environment variable)
are defined. Since in Buildroot we want our PREFIX to be considered,
we error out when the user has PERL_MM_OPT defined.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The copy_toolchain_lib_root helper searches the entire sysroot, but is
only interested in files in certain subdirs. So rather than waste time
in walking the entire tree, walk the few subdirs at the depth level we
are actually going to be poaching files from.
Some simplification suggested by Yann E. MORIN
<yann.morin.1998@anciens.enib.fr> and Arnout Vandecappelle
<arnout@mind.be>, added by Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
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>
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>
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>
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>
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>
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>
The sysroot of an ARM CodeSourcery toolchain takes about 1.4 GB of
space, but 1.1+ GB of this space consists in locale-related
information which Buildroot doesn't use. By skipping the copy of those
unused files, we save quite a bit of time while importing the
toolchain sysroot.
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>
The gdb tarballs have been re-released after a GPL compliance
issue was found:
http://sourceware.org/ml/gdb/2011-09/msg00030.html
So all versions were re-packaged.
In the process, an 'a' was appended to the version strings, and
unlike the binutils people, the gdb folks are not inclined in
providing legacy symlinks:
http://sourceware.org/ml/gdb/2011-09/msg00036.html
So, this patch fixes the issue by renaming version strings. It is to be
noted that, although the versions got bumped to include an 'a' at the end,
the directory contained in the tarball is still named after the version
string without the 'a'. For example:
- old version : 6.6
- new version : 6.6a
- tarball name : gdb-6.6a.tar.bz2
- directory name : gdb-6.6/
In fact, it does not pose any problem for buildroot, as the extract process
explicitly mkdirs the directory to extract into, *and* strips the first level
of the tree extracted from the tarball.
[Peter: fixup patch to apply to head, don't rename config symbols]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
For some tarballs of gdb (see next patch), the extracted directory is
*not* named after the version string (eg. gdb-6.6a extract into gdb-6.6/)
Create the appropriate directory first, then use --strip-{components,path}
when extracting gdb (the same way it is done for the generic package
infrastructure).
At the same time, get rid of the snapshot special case, because:
1- it's no longer available in the menu
2- it would be handled by the above change
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
this version fixes compilation issue on some old build systems like
openSUSE 10.3 saying some host libraries were too old
[Peter: drop bugfix number from config name, similar to kernel-headers]
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
rsync can now be used for overriden package, and will also be used for
other purposes in the future (optimization of toolchain copy time,
etc.).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Fixes E.G. mtd/ubi-user.h, which otherwise breaks busybox 1.9 builds
with ubi applets.
Upstream post 3.0 and discussed here: https://lkml.org/lkml/2011/6/22/25
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The CONFIG_UPDATE macro is no longer defined in
package/gnuconfig/gnuconfig.mk, but instead in
package/Makefile.autotools.in. It it also changed a little bit to take
the directory of the package sources as argument, and the AUTOTARGETS
infrastructure is updated to use this macro.
[Peter: drop echo in CONFIG_UPDATE]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The name "patch-kernel.sh" is a bit stupid, since this script is used
to patch everything in Buildroot, not only kernel trees.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
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>
Bundled config files have architecture-specific values in them,
which may break if buildroot is configured with another architecture
that does not forcibly set these option.
For example, the bundled config files are for x86_64, and define:
CT_ARCH_TUNE="generic"
This comes from the BR2_GCC_TARGET_TUNE config option (in buildroot) that
is set accordingly to the selected (arch,sub-arch).
But if someone configures buildroot for, say, generic ARM, then the
BR2_GCC_TARGET_TUNE config option is not set, and the crosstool-NG backend
Makefile believes it should not be pushed down to the crosstool-NG config
file.
BUT...
The crosstool-NG backend Makefile can not forcibly push BR2_GCC_TARGET_TUNE
down to the CT-NG config file. If BR2_GCC_TARGET_TUNE is empty, the user can
still set CT_ARCH_TUNE by running ctng-menuconfig.
The backend Makefile already passes such values only if they are set.
In the end, we can't push options as-is to the crosstool-NG config, but we
MUST provide sane bundled config files, which this patch does.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>