Commit Graph

2369 Commits

Author SHA1 Message Date
Michael Hope
1c0488792d config: add a 'auto' value for the number of parallel jobs
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>
2011-09-29 12:40:42 +13:00
Michael Hope
89cf5bb67f Makefile: use phony targets
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>
2011-09-29 12:27:54 +13:00
Michael Hope
c61ad06f91 libc/glibc: spelling fixes in the menuconfig help entries
nits:
 - fix the spelling of changing.
 - 'chose' is the correct past tense.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
2011-10-04 10:30:54 +13:00
Yann E. MORIN"
3e76091024 debug/gdb: update to the Linaro 2011.09
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>
2011-09-28 15:28:23 +13:00
Yann E. MORIN"
03702b77b5 cc/gcc: update to the Linaro 2011.09
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>
2011-09-28 15:28:23 +13:00
Yann E. MORIN"
52c5b06255 kernel/linux: prepare for 3.1 and above
The real upstream location is not in the '3.0' directory, but
in the '3.x' directory.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-26 22:59:14 +02:00
Yann E. MORIN"
d09ded3f65 samples: add new mipsel-sde-elf sample.
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>
2011-09-25 15:21:29 -07:00
Yann E. MORIN"
bcb784e826 kernel/linux: use a custom kernel source directory
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>
2011-09-22 22:49:38 +02:00
Yann E. MORIN"
e8fc5b3407 kernel/linux: add alternate download locations
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>
2011-09-21 22:42:35 +02:00
Yann E. MORIN"
53e8799ece cc/gcc: speed up the build a little bit
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>
2011-09-14 12:59:17 +02:00
Yann E. MORIN"
6fea2cfd09 gcc: add support for the PowerPC EABI
Signed-off-by: Mircea Gherzan <mgherzan@gmail.com>
[yann.morin.1998@anciens.enib.fr: rm trailing space]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-17 14:30:52 +02:00
Yann E. MORIN"
4785e58e42 docs/known-issues: add the infamous "mixed implicit and normal rules"
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>
2011-09-16 17:49:28 +02:00
Yann E. MORIN"
ea7e2f9dfe samples: update this ARM sample.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-13 00:15:45 +02:00
Yann E. MORIN"
ef0f984b00 cc/gcc: libgcc_eh.a may be required, even from the stage-1 compiler
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>
2011-08-31 16:47:42 +02:00
Yann E. MORIN"
636271cb0c cc/gcc: propagate 4.5.2 patchset to 4.5.3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-12 18:12:52 +02:00
Yann E. MORIN"
b62f26ff95 cc/gcc: propagate 4.3.5 patchset to 4.3.6
They applied cleanly with only offsets

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-02 13:45:05 +02:00
Yann E. MORIN"
a292fbae0f libc/uClibc: add patch to fix fork in threads with ARM EABI
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>
2011-08-31 11:00:35 +02:00
Yann E. MORIN"
4f3b883071 samples: update that mips sample
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-12 12:54:45 +02:00
Yann E. MORIN"
03ecefbfc3 libc/uClibc: workaround for a MIPS TLS issue
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>
2011-09-12 14:09:31 +02:00
Yann E. MORIN"
b8aa940233 libc/uClibc: enable NPTL choice for uClibc >= 0.9.32
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-12 02:37:29 +02:00
Yann E. MORIN"
706d02f52d binutils/binutils: add latest version
Add patches used by buildroot.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-11 19:54:57 +02:00
Yann E. MORIN"
dc00d94ba3 binutils/binutils: fixup version strings
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>
2011-09-11 18:18:53 +02:00
Yann E. MORIN"
01d16b6f26 binutils/binutils: fixup version strings
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>
2011-09-11 18:26:12 +02:00
Yann E. MORIN"
76b124a4d6 debug/gdb: rename patch directories
Missed renaming the patch directories after the version renames... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-11 18:28:45 +02:00
Yann E. MORIN"
77436f025f scripts/functions: only use passive FTP
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>
2011-09-09 15:48:59 +02:00
Yann E. MORIN"
4b0155c24f scripts/functions: only use one download program
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>
2011-09-09 15:34:04 +02:00
Yann E. MORIN"
b0ff20b255 debug/gdb: update the version strings
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>
2011-09-09 14:15:10 +02:00
Yann E. MORIN"
3e7036062c scripts: fix sysroot prefix dir
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>
2011-09-07 01:22:37 +02:00
Yann E. MORIN"
c1ce4b21d1 kernel/linux: fix typo
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>
2011-09-07 00:20:30 +02:00
Yann E. MORIN"
afc8a7bd59 complibs/gmp: bump version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-30 19:38:10 +02:00
Yann E. MORIN"
6c62da4803 kconfig: print version in .config
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>
2011-08-30 11:35:29 +02:00
Yann E. MORIN"
229b5d2b15 kernel/linux: fix typoes
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-30 10:21:45 +02:00
Yann E. MORIN"
3b7100d206 kernel/linux: bump versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-30 09:43:48 +02:00
Kévin PETIT
1097bea2e0 libc/newlib: add a config option allowing to disable builtin syscalls
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>
2011-08-28 20:12:26 +02:00
Yann E. MORIN"
4c1666134b configure: xz-utils alone can also handle LZMA-compressed tarballs
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-26 00:07:51 +02:00
Yann E. MORIN"
04250cc896 configure: check for lzma
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>
2011-08-25 18:30:18 +02:00
Yann E. MORIN"
4bf42bfd02 configure: fix typo in xz-utils warning message
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-26 00:05:20 +02:00
Yann E. MORIN"
9a9e8385ba configure: use def_bool for available features
It's one line shorter, and easier to read.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-22 17:13:42 +02:00
Titus von Boxberg"
68cd6e6d26 debug/ltrace: Fix HOST_OS and ar
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>
2011-08-22 09:26:02 +02:00
Titus von Boxberg"
711ac75ad0 debug/gdb: correct compilation error when stpcpy is a define
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>
2011-08-22 09:35:29 +02:00
Titus von Boxberg"
2cdbc6e370 docs: Document usage with Xcode 4.1
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>
2011-08-22 09:36:30 +02:00
Titus von Boxberg"
7af1d22c17 libc/uClibc: portability fixes to install_headers
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>
2011-08-22 09:38:19 +02:00
Titus von Boxberg"
6b9c9e74b2 configure: require libtoolize, create wrapper to it
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>
2011-08-22 09:40:31 +02:00
Titus von Boxberg"
9e5e41568c configure: fix --with-prog=[...]
check_for didn't set variable 'where' when the path to a prog
was passed manually "(cached)".

Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
2011-08-22 09:41:35 +02:00
Titus von Boxberg"
aae55bbcc0 complibs/libelf: use target ranlib
For portability, the right ranlib for the target must be passed to
libelf's configure.

Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
2011-08-21 17:54:12 +02:00
Yann E. MORIN"
770a64c7ff configure: recognise and handle --program-transform-name
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-21 23:11:26 +02:00
Yann E. MORIN"
9ff2560230 configure: recognise and handle --program-suffix
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-19 22:43:01 +02:00
Yann E. MORIN"
f2f6d799c5 configure: handle --program-prefix
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-17 23:05:01 +02:00
Yann E. MORIN"
d706bf2e6b Makefile: introduce PROG_NAME to contain the 'ct-ng' executable name
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>
2011-08-19 22:53:48 +02:00
Yann E. MORIN"
fd91781fbe configure: document ignored switches
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>
2011-08-17 22:23:21 +02:00