| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, we rely on an existing external cross-compiler targetting
the target, to build the C library.
This can pause quite a few problems if that compiler is different from
the one we are building, because it could introduce some ABI issues.
This patch removes this dependency, by building the core compilers
as we do for standard cross, and also by building the binutils and
gcc, for running on the build machine.
This means we no longer need to offer the cross-sompiler selection in
the menuconfig.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
|
|
|
| |
Bizarrely enough, the core gcc are not enough to be able to build a
canadian cross, and a real, full cross compiler is required so that
the canadian cross can be properly built... WTF?!? Sigh...
Add a build-frontend, as was done for the binutils and the complibs.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the actual complibs codes to backend functions that builds the
required combo of build/host/target as requested by a frontend.
This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build the complibs
twice, one for build/build, and one for build/host.
This applies to the six companion libraries:
- GMP
- MPFR
- PPL
- Cloog/PPL
- MPC
- libelf
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the actual binutils code to a backend function that builds the
required combo of build/host/target as requested by a frontend.
This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build two binutils,
one for build/build/target, and one for build/host/target.
This applies to the three binutils:
- GNU binutils
- elf2flt
- sstrip
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
|
| |
Since anciens.enib.fr has been dead for two months now, without any
hope of recovery, update my e-mail to point to @free.fr instead.
Reported-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
|
|
|
|
| |
Prepare for the incoming build/host/target frontends.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
|
|
| |
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
| |
The kernel headers are only needed just before we build
the C library headers, and need not be present before.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
| |
do_libc_headers is now a noop, and is no longer used, so remove that step.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
|
|
|
| |
As there's no longer any user of the companion libraries on the
target, nuke the build for the target.
Well, at least, there's libelf that's still needed by ltrace, so
we keep it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
- don't list samples in the main help screen
- improve the samples listing in list-samples
- don't document the 'config' action, it's long dead
- document the 'V' environment variable
- improve on START, STOP and PREFIX environment variables
- add PREFIX and V to autocomplete
- advertise auto-complete at install time
|
|
|
|
|
|
| |
sstrip is now alone in its 'tools' menu, and we will probably never gain
any other 'tool'. Besides, sstrip is just strip, but a little bit more
agressive, so it deserves going to the 'binary utilities' menu.
|
|
|
|
|
| |
When gcc-4.5 is out, it will require libelf. So better make it a
companion library now rather than postponing the ineluctable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add support for building the MPC library.
-------- diffstat follows --------
/devel/gcc-4.4/scripts/build/companion_libs/ppl.sh | 4 2 2 0 +-
/devel/gcc-4.4/scripts/build/companion_libs/mpc.sh | 57 57 0 0 ++++++++++++++++++++++++++++++++++
/devel/gcc-4.4/scripts/build/companion_libs/cloog.sh | 4 2 2 0 +-
/devel/gcc-4.4/scripts/crosstool-NG.sh.in | 3 3 0 0 ++
/devel/gcc-4.4/steps.mk | 1 1 0 0 +
/devel/gcc-4.4/config/companion_libs/mpc.in | 32 32 0 0 +++++++++++++++++++
/devel/gcc-4.4/config/companion_libs.in | 15 10 5 0 ++++++---
7 files changed, 107 insertions(+), 9 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add support for building CLooG
-------- diffstat follows --------
/devel/gcc-4.4/scripts/build/companion_libs/cloog.sh | 60 60 0 0 ++++++++++++++++++++++++++++++++++
/devel/gcc-4.4/scripts/addToolVersion.sh | 3 2 1 0 +-
/devel/gcc-4.4/scripts/crosstool-NG.sh.in | 3 3 0 0 ++
/devel/gcc-4.4/steps.mk | 1 1 0 0 +
/devel/gcc-4.4/config/companion_libs/cloog.in | 32 32 0 0 ++++++++++++++++++
/devel/gcc-4.4/config/companion_libs.in | 1 1 0 0 +
6 files changed, 99 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add support for uClinux, the MMU-less ports of Linux.
-------- diffstat follows --------
/trunk/scripts/build/kernel/linux.sh | 100 1 99 0 ---------------
/trunk/steps.mk | 1 1 0 0 +
/trunk/config/kernel/linux.in | 247 0 247 0 -------------------------------------
/trunk/config/kernel.in | 2 1 1 0
/trunk/config/libc/glibc.in | 2 1 1 0
/trunk/config/libc/eglibc.in | 2 1 1 0
/trunk/config/libc/glibc-eglibc.in-common | 5 5 0 0 +
/trunk/config/config.in | 1 1 0 0 +
8 files changed, 11 insertions(+), 349 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- PPL will be needed to correctly build gcc-4.4+ for the
GRAPHITE loop optimisation
-------- diffstat follows --------
/trunk/scripts/build/companion_libs/ppl.sh | 66 66 0 0 ++++++++++++++++++++++++++++++++++++
/trunk/scripts/build/companion_libs/gmp.sh | 24 19 5 0 ++++++++++---
/trunk/scripts/addToolVersion.sh | 3 2 1 0 +-
/trunk/scripts/crosstool-NG.sh.in | 3 3 0 0 ++
/trunk/steps.mk | 1 1 0 0 +
/trunk/config/companion_libs/ppl.in | 33 33 0 0 ++++++++++++++++++
/trunk/config/companion_libs.in | 22 19 3 0 ++++++++++--
7 files changed, 143 insertions(+), 9 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... I added a step after
"debug" called "finish", and moved the code in crosstool.sh
after the loop that processes the steps from crosstool.sh
into a do_finish function in functions. Thus, it is now
possible to restart after the "debug" step to re-do the
final few things (clean and compress).
/trunk/scripts/crosstool-NG.sh | 38 0 38 0 --------------------------------------
/trunk/scripts/functions | 42 42 0 0 ++++++++++++++++++++++++++++++++++++++++++
/trunk/steps.mk | 3 2 1 0 ++-
3 files changed, 44 insertions(+), 39 deletions(-)
|
|
|
|
|
|
|
|
| |
After all, this is not crosstool, but really crosstool-NG!
/trunk/steps.mk | 2 1 1 0 +-
/trunk/ct-ng.in | 2 1 1 0 +-
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
| |
- binutils can use GMP and MPFR if available, so invert the build order to later make use of GMP and MPFR on the target.
/trunk/steps.mk | 2 1 1 0 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
|
| |
/trunk/steps.mk | 4 4 0 0 ++++
/trunk/ct-ng.in | 2 0 2 0 --
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
| |
Pass on the V variable on the $(MAKE) command lines.
/trunk/steps.mk | 6 3 3 0 +++---
/trunk/ct-ng.in | 2 1 1 0 +-
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
| |
- comment the different parts
- re-order the code so that it is homogeneous amogst fragments
- eye-candy in some existing comments
/trunk/tools/tools.mk | 17 15 2 0 +++++++++++++++--
/trunk/steps.mk | 38 26 12 0 ++++++++++++++++++++++++++------------
/trunk/samples/samples.mk | 41 28 13 0 ++++++++++++++++++++++++++++-------------
/trunk/config/config.mk | 2 1 1 0 +-
4 files changed, 70 insertions(+), 28 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- silent/quiet/verbose build:
- ct-ng by default only prints quit messages, such as "CC xxx",
- if using V=0, nothing is printed,
- if using V=1, the full command lines are printed,
- other values are indeterminate,
- should help in debugging the kconfig stuff;
- complete kconfig/{,m}conf generation:
- fully dynamic dependencies on source files,
- compilation of .c into .o, then linking (instead of direct linking),
- VPATH usage when not --local;
Typo + a coment moved.
/trunk/kconfig/kconfig.mk | 140 87 53 0 +++++++++++++++++++++++++++++++++--------------------
/trunk/tools/tools.mk | 12 6 6 0 ++--
/trunk/steps.mk | 6 3 3 0 +-
/trunk/samples/samples.mk | 30 15 15 0 +++++-----
/trunk/ct-ng.in | 40 28 12 0 +++++++++++----
5 files changed, 139 insertions(+), 89 deletions(-)
|
|
|
|
|
|
|
| |
/trunk/ct-ng.comp | 2 1 1 0 +-
/trunk/ct-ng.in | 6 3 3 0 +++---
/trunk/steps.mk | 6 3 3 0 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.
/trunk/scripts/build/kernel/linux.sh | 146 11 135 0 +++---------------------------------------
/trunk/scripts/crosstool.sh | 2 1 1 0
/trunk/steps.mk | 1 0 1 0 -
/trunk/config/kernel/linux.in | 49 0 49 0 --------------
/trunk/config/kernel.in | 4 4 0 0 +
5 files changed, 16 insertions(+), 186 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Build and install GMP and MPFR for the target.
Use the target GMP and MPFR to build the native gdb.
Have separate extra_config for cross gdb, native gdb and gdbserver.
Check native GMP and MPFR in //.
/trunk/scripts/build/debug/300-gdb.sh | 27 19 8 0 ++++++++++++++++-------
/trunk/scripts/build/gmp.sh | 47 39 8 0 ++++++++++++++++++++++++++++++++-------
/trunk/scripts/build/mpfr.sh | 49 40 9 0 +++++++++++++++++++++++++++++++++--------
/trunk/steps.mk | 2 2 0 0 ++
/trunk/config/cc/gcc.in | 18 1 17 0 +--------------
/trunk/config/debug/gdb.in | 6 1 5 0 +----
/trunk/config/config.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 34 34 0 0 ++++++++++++++++++++++++++++
8 files changed, 137 insertions(+), 47 deletions(-)
|
|
|
|
|
|
|
|
| |
/trunk/docs/overview.txt | 2 1 1 0 +-
/trunk/steps.mk | 7 5 2 0 +++++--
/trunk/samples/samples.mk | 8 5 3 0 +++++---
/trunk/ct-ng.in | 5 3 2 0 +++--
4 files changed, 14 insertions(+), 8 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fortran is not supported for all targets, though. ARM at least does not work.
/trunk/scripts/build/binutils.sh | 8 8 0 0 ++++++++
/trunk/scripts/build/cc_gcc.sh | 11 6 5 0 ++++++-----
/trunk/scripts/crosstool.sh | 10 9 1 0 +++++++++-
/trunk/tools/addToolVersion.sh | 3 3 0 0 +++
/trunk/steps.mk | 2 2 0 0 ++
/trunk/config/cc/gcc.in | 16 16 0 0 ++++++++++++++++
6 files changed, 44 insertions(+), 6 deletions(-)
|
|
|
|
|
|
|
|
|
|
|
| |
Move build binutils' target libraries after final gcc.
Have a unique list of steps, it's easier to maintain.
/trunk/scripts/build/binutils.sh | 8 5 3 0 +++++---
/trunk/scripts/crosstool.sh | 16 2 14 0 ++--------------
/trunk/steps.mk | 29 16 13 0 ++++++++++++++++-------------
3 files changed, 23 insertions(+), 30 deletions(-)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Rationale:
Most of the time, soft-float problems are caused by this sucker of gcc:
it has support for soft float for all of the targets I've tried so far,
but does not activate this code until you dwelve into half a dozen of
files to make it accept to build and link the support code...
So, yes: gcc has soft-float support. And again, yes: gcc is a sucker.
|
| |
|
|
|