Commit Graph

1848 Commits

Author SHA1 Message Date
Yann E. MORIN"
b00d3ef516 libc/newlib: build in the 'start files' pass
A few facts:
- building the C library requires a proper core compiler
- core compiler is issued from one of the core passes
- the C library is required to build libstdc++
- newlib is only built for baremetal
- in bare metal, the final compiler is issued from one of the core passes

So we need to build the C library between core pass 1 and core pass 2.
The only place is eithe libc_headers() or libc_start_files(). The most
pertinent seems to be libc_start_files().

So we build newlib from libc_start_files(), and leave libc() empty.
2010-06-13 23:45:29 +02:00
Yann E. MORIN"
399e7f8f8a cc/gcc: store core build rules in an array
Using an array makes it easier to add new rules.
Besides, it is easy to expand from build rules to install rules
2010-06-13 20:43:02 +02:00
Yann E. MORIN"
3983fe1184 cc/gcc: implement default for core options 2010-06-13 20:31:42 +02:00
Yann E. MORIN"
7b3c12d9a3 cc/gcc: fix headers copy for core static 2010-06-13 20:25:00 +02:00
Yann E. MORIN"
59f1abd541 complibs/mpfr: update to latest version 2010-06-13 19:15:53 +02:00
Yann E. MORIN"
13b5487575 libc/uClibc: apply the threading model to the configuration
The threading model shall be be set in the .config file.
Also, offer the choice between 'old/stable' and 'new' linuxthreads.
2010-06-09 00:41:25 +02:00
Yann E. MORIN"
43ca5b4095 config: add support for a second part of the generated choices
Some components have configuration options that can depend on
generic options, so they should go below those.

uClibc for example:
- has its own options (wchar...)
- uses the generic options (threads...)
- if linuxthreads chosen, offers two impls

So we need to be able to split the components options in 2,
one part that is above the generic options, and one part that
ends up below the generic options.
2010-06-08 23:26:54 +02:00
Yann E. MORIN"
3c351b899d docs: update credtis, point to the repository log
The docs/CREDITS file dates back to the SVN repository.
Now that we use Mercurial, the repository stores appropriate
authorship for each commit. Say so in the CREDITS.
2010-05-30 18:19:05 +02:00
Yann E. MORIN"
2fb3eb2530 kernel/linux: update to latest versions 2010-05-27 10:36:03 +02:00
Titus von Boxberg
5428b220d6 kconfig/lxdialog: more portable and use ncurses from macports on MacOS
check-lxdialog.sh now correctly tests for ncurses and is a bit more portable.
On Darwin it uses the ncurses from macports.
2010-05-24 16:33:45 +02:00
Titus von Boxberg
d2d3c15c14 cc/gcc: Make usage of --enable-target-optspace configurable
Optionally configure to compile gcc-internal libs with -Os.

yann.morin.1998@anciens.enib.fr:
Rename the config options, it is in the GCC /namespace/.
2010-05-24 16:34:55 +02:00
Titus von Boxberg
9bc6e2e625 docs: Provide new Readme for MacOS
Short README for usage of ct-ng under MacOS.
Remove obsolete MacOS-X.txt

yann.morin.1998@anciens.enib.fr:
Make it 80-columns clean, plus a few fixes
2010-05-25 18:25:11 +02:00
Titus von Boxberg
b0c3365d15 scripts/build/internals.sh: compile wrapper with portable options.
static linking is not possible on MacOS, and unnessecary on other systems.
The old optimization and warning flags crash the gcc on MacOS
and (imho) are a bit overdone for this software.
2010-05-22 22:01:18 +02:00
Titus von Boxberg
7e0d63c969 configure: add path to libtool to pathlist
forgot var=libtool
2010-05-23 16:34:15 +02:00
Yann E. MORIN"
b196a612d6 debug/ltrace: fix LDFLAGS for libsupc++ and libiberty
The configure script correctly detects libsupc++ and libiberty, but in
the linker stage it tries to link in both libraries without taking care
of the test result.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
[yann.morin.1998@anciens.enib.fr: rework patch depth to be -p1]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-05-15 07:42:55 +02:00
Yann E. MORIN"
c0927b7ac6 libc/glibc: fix as/ld checks against recent binutils
Backported from:
  http://sourceware.org/ml/libc-alpha/2009-09/msg00024.html

Thanks to Khem RAJ for pointing to this fix:
  http://sourceware.org/ml/crossgcc/2010-05/msg00033.html
2010-05-18 23:54:55 +02:00
Yann E. MORIN"
dbd5e50583 test-suite: apply cleanup pass
Remove all non-modifiable items (target tuple, gcc version, toolchain path...)
Makefile syntax ( use $(...) instead of ${...} )
Update doc
Space-damage cleanups
2010-05-22 22:04:31 +02:00
Martin Lund
1779c82ad2 test-suite: Added new test suite feature (experimental)
This patch adds support for installing the gcc test suite. A helper
Makefile is provided for building and running the gcc tests.

The default configuration runs all gcc tests and requires automatic
ssh/scp login access to a networked target board. See README for
more details.

Note: Current feature is tested with the powerpc-unknown-linux-gnu
sample but it should work with others as well.

Signed-off-by: Martin Lund <mgl@doredevelopment.dk>
2010-05-19 17:53:04 +02:00
Titus von Boxberg
0a63e8222c scripts/wrapper.c: Under MacOS set DYLD_LIBRARY_PATH
Depending on (predefined) macro __APPLE__, use DYLD_LIBRARY_PATH
instead of LD_LIBRARY_PATH.
2010-05-22 12:37:02 +02:00
Titus von Boxberg
d6d670bac2 docs/overview.txt: Provide short mercurial HOWTO
The usage of hg mq is imho not very well documented.
Give a short intro for the most important use cases
for contributions to ct-ng.

yann.morin.1998@anciens.enib.fr:
Slightly rewrote the explanations for the introductory message.
2010-05-22 18:48:50 +02:00
Titus von Boxberg
ebf80df032 ct-ng: Add ability to configure and use some GNU tools
Make the paths to libtool, objcopy, objdump, readelf, patch configurable.
2010-05-17 14:11:08 +02:00
Titus von Boxberg
afa2b0aa0d scripts/build/internals.sh: Always use binary wrapper under BSD/MacOS
The shell wrapper script uses a nonportable call to readlink.
Thus, always use the binary wrapper under BSD/MacOS.

yann.morin.1998@anciens.enib.fr:
  Use 'case' instead of 'if'.
2010-05-22 17:30:44 +02:00
Titus von Boxberg
98e7576024 scripts/wrapper.in: Add a comment about readlink not being portable.
Documented that the call to readlink will not work on BSD systems.
2010-05-17 12:27:32 +02:00
Titus von Boxberg
82af5a5d7b configure: make call to readlink portable to non-GNU (BSD) systems
The argument '-e' for readlink is a GNU extension.
In setting the variable 'where' the argument '-e' is not necessary, thus eliminated.
2010-05-17 12:23:24 +02:00
Titus von Boxberg
16ef145f50 scripts/crosstool-NG.sh.in: On MacOS/BSD use the output of CT_DoConfigGuess for CT_BUILD.
On 64bit MacOS `gcc -dumpmachine` gives i686 for the host machine.
This conflicts with the expectations of some following configure scripts
that a 64bit x86 is given as x86_64; i686 is understood as a 32 bit machine.
config.guess sets the host machine in CT_BUILD correctly.

yann.morin.1998@anciens.enib.fr:
As suggested by Khem RAJ on the ML, always use config.guess.
2010-05-19 18:13:00 +02:00
Titus von Boxberg
5417e0f79c configure: Do not require stat to be of GNU coreutils
calls to stat have been made portable, thus it is not necessary
that the GNU version is present on the user's system.
2010-05-17 11:29:26 +02:00
Titus von Boxberg
47af4ebf45 scripts/functions: Use stat correctly on non-GNU (BSD/Darwin) systems.
Call to get the directory mode depending on $CT_SYS_OS

yann.morin.1998@anciens.enib.fr:
CT_SYS_OS has changed on Linuxsystem, it only gets the kernel name "Linux",
and not the system name, 'GNU/'.
2010-05-19 18:22:32 +02:00
Titus von Boxberg
91381251a0 build/internals.sh: Replace nonportable call to stat
The call to stat to find out if a file is a symlink works only on GNU systems,
and the replacing portable call to readlink is also shorter and more concise code.

yann.morin.1998@anciens.enib.fr:
Apply simpler test, after discussion with author and Arnaud LACOMBE on the ML.
2010-05-19 18:08:23 +02:00
Titus von Boxberg
a85fc6dcb7 crosstool-NG.sh: suppress failure message from uname -o
On non-GNU systems (BSD/MacOS) there is no uname -o.
Suppress the failure message on these systems in the
call to set CT_SYS_OS (uname -s actually sets this variable).

yann.morin.1998@anciens.enib.fr: remove 'uname -o' altogether.
2010-05-19 18:17:39 +02:00
Yann E. MORIN"
cf395e3876 cc/gcc: add latest version
Add 4.4.4 and forward-port patchset from 4.4.3
2010-05-16 19:41:53 +02:00
Yann E. MORIN"
68cb21446d kernel/linux: update versions list 2010-05-18 23:03:48 +02:00
Yann E. MORIN"
9c83970d8b scripts/mk-release: pretty-up the per-author stats
Reverse sort first by number of changesets, then sort alphabetically
on the author's names.
2010-04-30 22:25:45 +02:00
Yann E. MORIN"
76b459919f docs: update the known issues 2010-04-30 14:33:07 +02:00
Yann E. MORIN"
9cdba4a57c samples: update 2010-04-30 14:28:14 +02:00
Yann E. MORIN"
c4e987288e debug/gdb: install tic in the buildtools directory
'tic' is a build tool, its place is in the buildtools
directory, not in the toolchain's bin directory.
2010-04-29 22:14:31 +02:00
Yann E. MORIN"
3fda8a4876 debug/gdb: be less verbose during the ncurses build 2010-04-29 22:12:27 +02:00
Yann E. MORIN"
9997da0725 scripts: don't set LD_PRELOAD with static companion libraries
When cpmpanion libraries are built statically, it is useless to set
LD_PRELOAD. Worse, it might break the build in some corner cases.
2010-04-29 00:25:17 +02:00
Yann E. MORIN"
52304e2e56 docs: update the section about the wrapper
The wrapper is no longer needed when building
non-shared companion libraries. Document that.
2010-04-28 22:24:01 +02:00
Yann E. MORIN"
572a4e4bd7 arch/sh: fix type in variant handling 2010-04-25 18:27:23 +02:00
Yann E. MORIN"
f1235bf562 scripts/savesample: be silent when checking for .config file 2010-04-22 19:21:03 +02:00
Yann E. MORIN"
8743f16f65 libc/newlib: don't do // downloads
The newlib FTP site does not like // downloads, and quickly
blocks the IP from the downloader.

Override the number of chunks when downloading newlib.
2010-04-21 19:06:29 +02:00
Yann E. MORIN"
49f0895649 libc/glibc: fix kernel version check
Since we log the test strings, it is no longer possible to call
the CT_Test* functions from sub-functions that print results to
their stdout.
2010-04-21 18:54:58 +02:00
Yann E. MORIN"
5c6ccff589 scripts: also prepare include symlink to sysroot/include 2010-04-20 09:58:41 +02:00
Yann E. MORIN"
9815852ae0 scripts: check g++ only for host
g++ is only needed when building additonal libs on the HOST,
so check wheter g++ is available for the HOST compiler only

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[Yann E. MORIN: fix space damage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-04-19 23:42:31 +02:00
Remy Bohmer
9c6c090d7b cc/gcc: use proper host compiler for canadian bare-metal
While compiling a canadian toolchain for host=mingw32, build=linux,
target=m68k-elf the build fails because in this step of the gcc build
the Host compiler is used in this stage with the build-flags for the
build system. This results in an error where the header <sys/wait.h>
cannot be found.
This problem happens at least in the GCC-4.3.x and GCC-4.4.x range.

This is solved by passing the proper compilers on the Make cmd-line

Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-04-09 21:04:37 +02:00
Bart vdr. Meulen
76ae48462a cc/gcc: allow building a canadian bare-metal compiler
Previous addition of the canadian cross compiler did not allow
to build a baremetal only variant, no reason why this is not
allowed

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-04-20 10:06:04 +02:00
Yann E. MORIN"
a6da1aa63a cc/gcc: fix cc symlink when executables have an extension
When building a cross-compiler for a host which depends
on file extensions the symlink for cc was not installed correctly

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[Yann E. MORIN: style fixes, enhancements, code prettying]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-04-20 11:39:13 +02:00
Yann E. MORIN"
8116e283fa cc/gcc: add 4.5.0 2010-04-15 22:35:22 +02:00
Yann E. MORIN"
3c160b2205 cc/gcc: add support for 4.5.0 or later versions
starting with 4.5.0, gcc requires libelf.
2010-04-15 22:35:18 +02:00
Yann E. MORIN"
c9b45d8751 complibs/libelf: remove old versions
Those old versions are not suitable for use by gcc.
2010-04-15 22:35:15 +02:00