When CT_PARALLEL_JOBS is -1, set the number of parallel jobs to the
number of online CPUs + 1. Update documentation to match.
I find this useful when building in the cloud. You can use the same
.config file and have the build adapt to the number of processors
available. Limited testing shows that NCPUS+1 is faster than NCPUS+0
or NCPUS+2.
Signed-off-by: Michael Hope <michael.hope@linaro.org>
Add 'build', 'build-*', and 'install' as phony targets to the top level
Makefile.
I tend to do everything in tree with the build in a directory called
'build'. This interfered with the target 'build', making it think the
target was up to date, and stopping scripts/crosstool-NG.sh from being
regenerated.
Added 'install' as I often set the prefix to $PWD/install.
Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split gcc/gdb in two patches]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split gcc/gdb in two patches]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
[yann.morin.1998@anciens.enib.fr: add pointer to ML thread]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Allows using either a tarball or a directory as the custom kernel
source location.
Signed-off-by: Vincent BENOIT <sinseman44@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix space damage, detailed commit message]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Since kernel.org is dead, and there is no announced or known estimated
time or return to normality, it is impossible to download any kernel at
this time.
Add a known-working mirror.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Even if the current process is highly parallel, crosstool-NG spends most
of its time in single-job steps on fast machines (with a 12-CPU system,
I approximate the parallel vs. non-parallel time to be in the order os
1 to 3; that is crostool-NG spends two-thirds of its time running
non-parallel jobs).
Some steps to build gcc can be paralleled, gaining a litle bit of time
on the whole compilation.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
make-3.82 now refuses to have both normal and implicit rules in the
same definition, so document the issue with a known workaround.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Building uClibc with libubacktrace requires libgcc_eh.a to be available,
but gcc does not build it unless it is configured to generate shared libs.
However, libgcc_eh.a does not *require* shared libs support, as it is a
static library.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
uClibc-0.9.32 requires libgcc_eh.a (for ARM EABI), but only when libubacktrace
is enabled. As this is not the default, provide a workaround to disable linking
with libgcc_eh.a if libubacktrace is not selected.
This will however still break if uClibc is configured to enable libubacktrace,
but it requires a fix in gcc, and we can take care of that later.
Reported-by: Grant Edwards <grant.b.edwards@gmail.com>
Reported-by: Tor Krill <tor@codeknot.com>
Tested-by: Tor Krill <tor@codeknot.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Some macros declarations were missing, so we duplicate them.
See the added patch description for more information.
----> THIS IS A DIRTY HACK! <----
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Recently, all binutils versions have been renamed after a GPL compliance
issue was found and fixed in binutils;
http://sourceware.org/ml/binutils/2011-08/msg00198.html
Although legacy symlinks have been put in place, we should now use
the new, real version strings.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Recently, all binutils versions have been renamed after a GPL compliance
issue was found and fixed in binutils;
http://sourceware.org/ml/binutils/2011-08/msg00198.html
Old versions are no-longer available since the rename (eg. 2.19 has been
superseeded by 2.19.1, and only 2.19.1a was regenerated).
Remove now-missing versions.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Virtually all FTP server available on-line support passive FTP.
At least, this is the case for the servers crosstool-NG needs to
connect to.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Currently, we use either wget or curl, whichever is installed.
In case both are installed, both are used. This means that it
takes a while trying all extensions.
Remove use of wget, and use only curl.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Almost all versions have been renamed, but the gdb folks did not
setup legacy symlinks.
For more information, see this message:
http://sourceware.org/ml/gdb/2011-09/msg00002.html
Reported-by: ManuelStahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
The sysroot prefix dir was broken in #4960f5d9f829 due to a mishap
when making the out-of-sysroot lib/ symlink: the './' was mistakenly
changed into a single '.' .
Although Jonathan suggested restoring the missing '/' to restore it to
normal operation, I prefered using an explicit pushd/popd to be extra
sure of the symlink location and target, along with a fix in the sysroot
relative directory calculation.
Reported-by: Jonathan Grundon <JGrundon@xos.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Finally fix typo introduced in #6eb0189d7225 and partially fixed in
#61ec8b08f98d...
Seems I'm fast at introducing trivial typoes, but bad at fixing them... :-(
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Having the crosstool-NG version in the .config helps in case we
want to reproduce the toolchain with the exact same version of
crosstool-NG.
This also reverts #bb73e7632b54.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Allows to choose if one wants to keep or not the syscalls that are provided with
newlib. It passes the --disable-newlib-supplied-syscalls or
--enable-newlib-supplied-syscalls to the configure script. If one chooses to
disable the builtin syscalls, he/she will have to write his/her own. This can
be usefull to port newlib to a new platform/board.
Signed-off-by: Kévin PETIT <kpet@free.fr>
Some packages are available as LZMA tarballs. LZMA is a relatively recent
compression algorithm; it's slightly better than bzip2, but offers much
faster decompression. LZMA is now deprecated in favor of XZ, but some
packages switched to LZMA when XZ was not yet available, or still in its
infancy. Latest XZ (which totaly obsoletes LZMA) offers a backward LZMA-
compatible utility, so we can check for 'lzma' nonetheless.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
HOST_OS really is the target OS. Allow setting it for configure
via an environment variable.
libltrace.a should have an index:
Allow ar to be set as an environment variable, and generate
an index in this lib.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
On OSX stpcpy is a define which is not recognized by gdb's configure.
This results in a compilation error.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
With Xcode 4.1 'gcc' is symlinked llvm-gcc-4.2 which cannot bootstrap
other gccs.
See http://llvm.org/bugs/show_bug.cgi?id=9571
On my machine the faulty gcc is
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
Document a workaround.
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
Add patch files for uClibc-0.9.30:
extra/scripts/install_headers.sh: find must be called with path.
extra/scripts/unifdef.c: getline is declared in <stdio.h>, use different name.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Reported-by: "Titus von Boxberg" <titus@v9g.de>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
libtoolize must be checked_for and there needs to be a wrapper
that points to GNU libtoolize since that may be installed
as glibtoolize.
This fixes a problem with building Cloog/PPL that was
Reported-by: "Pierrick Brossin" <pierrick@bs-network.net>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
With the upcomming --program-{prefix,suffix,transform-name} options,
we'll have a need to centralise the actual executable name, that is
now no longer be a constant.
Rather than spread the prefix/suffix through-out the code, just
centralise the name setting in one place. Beside, transform-name
would not be possible without setting the name at a single location.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Autostuff tradiotionnally have some switches to set host, build and
target systems, static or shared libs, and a bunch of others...
In the crosstool-NG case, they do not matter, as crosstool-NG is
just a set of scripts (there are C files, but they are compiled
after installation, at runtime, so it does not count).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>