The glibc.sh script doesn't handle the glibc versions with
an underscore very well (bash expected integer error). I
have attached a small patch for that. Instead of looking
for "not period" I changed the sense to look for numbers.
I initially tried to make it look for either a period or
an underscore, but that didn't work like I wanted (probably
because I did something wrong).
Original patch modified to be more robust.
/trunk/scripts/build/libc/glibc.sh | 8 4 4 0 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
On 20090115.0012+0100, "Andy Johnson" <ajohnson@aecno.com> wrote:
ltrace wouldn't build on PowerPC because in the
sysdeps/linux-gnu directory in the ltrace source tree
the powerpc directory is called ppc. I added some code
in 400-ltrace.sh to create a symlink for it so it will
build now.
Patch slightly modified by me before applying.
/trunk/scripts/build/debug/400-ltrace.sh | 5 5 0 0 +++++
1 file changed, 5 insertions(+)
Andy JOHNSON wrote:
The Java compiler for GCC versions 4.3.0 and up requires the
Eclipse compiler "ecj1" to be built as well. I added "gcj" to
the list of utilities to make the initial link.
/trunk/scripts/build/cc/gcc.sh | 12 12 0 0 ++++++++++++
/trunk/scripts/crosstool.sh | 2 1 1 0 +-
/trunk/config/cc/gcc.in | 6 6 0 0 ++++++
3 files changed, 19 insertions(+), 1 deletion(-)
- DUMA separates its name from its version with an underscore, not with a dash.
/trunk/scripts/build/debug/200-duma.sh | 3 2 1 0 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
- renaming the dircetory in CT_ExtratAndPatch is wrong:
- patches against the C library addons may be build against the short *or* long name... :-(
- symlink is more robust, even if less nice
- renaming the directory _after_ CT_ExtractAndPatch is too late:
- if patches are against the short name, and we renamed too the long name, patches don't apply
- so we'll never reach the point where we rename
/trunk/scripts/build/libc/glibc.sh | 1 0 1 0 -
/trunk/scripts/build/libc/eglibc.sh | 1 0 1 0 -
/trunk/scripts/functions | 2 1 1 0 +-
3 files changed, 1 insertion(+), 3 deletions(-)
CT_LIBC_FILE:
- that one was not easy, as it had sneaked into CT_ExtractAndPatch
- which in turn made CT_ExtractAndPatch have references to C library addons
- which in turn relieved the C library _extract functions from doing their own job
- which in turn imposed some nasty tricks in CT_ExtractAndPatch
- which in turn made life easier for the DUMA _get and _extract functions
- which unveiled some bizare behavior for pushd and popd:
- if using smthg ike: 'pushd foo |bar':
- the directory is *neither* changed
- *nor* is it pushed onto the stack
- which made popd fail
CT_MakeAbsolutePath:
- used only to make CT_LOCAL_TARBALLS_DIR canonical
- which is ((almost) useless:
- hopefully, the user entered a full path already
- if it's not the case, too bad...
/trunk/scripts/build/debug/200-duma.sh | 5 1 4 0 +--
/trunk/scripts/build/libc/glibc.sh | 61 32 29 0 +++++++++++++++++---------------
/trunk/scripts/build/libc/uClibc.sh | 16 10 6 0 +++++---
/trunk/scripts/build/libc/eglibc.sh | 48 26 22 0 ++++++++++++++-----------
/trunk/scripts/crosstool.sh | 8 0 8 0 ----
/trunk/scripts/functions | 77 15 62 0 ++++++++--------------------------------
6 files changed, 84 insertions(+), 131 deletions(-)
- this is not really used yet, as only the iberty and bfd libraries are built
- if we ever are to build the full binutils for the target, then it is already configured to use the target GMP and MPFR.
/trunk/scripts/build/binutils.sh | 7 7 0 0 +++++++
1 file changed, 7 insertions(+)
Original patch by Thomas PETAZZONI, with soe improvement by myself.
/trunk/scripts/build/libc/uClibc.sh | 10 9 1 0 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
We need GNU Awk? Then check for, and use 'gawk', not plain 'awk'.
Be a little mre verbose if a tool was not found.
/trunk/configure | 7 4 3 0 ++++---
/trunk/scripts/build/kernel/linux.sh | 2 1 1 0 +-
/trunk/scripts/functions | 16 8 8 0 ++++++++--------
/trunk/scripts/saveSample.sh | 4 2 2 0 ++--
4 files changed, 15 insertions(+), 14 deletions(-)
This helps those who want to relocate their toolchains later.
Reported by Nye Liu: http://sourceware.org/ml/crossgcc/2008-10/msg00093.html
/trunk/scripts/build/cc/gcc.sh | 2 1 1 0 +-
1 file changed, 1 insertion(+), 1 deletion(-)
- copy sources to build directory, as it does not build out-of-tree
- add a patch to make it build for non *-linux-gnu host tuples
- add a patch to make it cross-build correctly
/trunk/patches/ltrace/0.4/100-fix-build-with-exotic-linux-host-OS.patch | 26 26 0 0 +++
/trunk/patches/ltrace/0.4/110-allow-cross-compile.patch | 89 89 0 0 ++++++++++
/trunk/scripts/build/debug/400-ltrace.sh | 5 3 2 0 +
3 files changed, 118 insertions(+), 2 deletions(-)
They are nonetheless in sync and need not be regenerated.
Fix that by touching the files to have 'make' believe they are up-to-date (which they are).
/trunk/scripts/build/libc/glibc.sh | 5 5 0 0 +++++
/trunk/scripts/build/libc/eglibc.sh | 7 6 1 0 ++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.
/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
- change the menu label from 'Target OS' to 'Operating System',
- bare-metal is a kind of kernel (OS), rename to 'bare-metal' from 'none',
- update the kconfig.mk to generate the kernel choice entries,
- update glibc&eglibc kernel version option accordingly.
Update the debug & tools confiog file generation to match with arch & kernel.
Print terse command lines when building in kconfig/ (a-la Linux kernel).
Fix the makefile rules in kconfig/kconfig.mk to be /simple/ rules.
/trunk/kconfig/kconfig.mk | 117 81 36 0 +++++++++++++++++++++----------
/trunk/config/kernel/linux.in | 4 4 0 0 +
/trunk/config/kernel/bare-metal.experimental.in | 15 15 0 0 ++++
/trunk/config/kernel.in | 33 5 28 0 +--------
/trunk/config/libc/glibc-eglibc-common.in | 4 2 2 0
5 files changed, 107 insertions(+), 66 deletions(-)