Commit Graph

345 Commits

Author SHA1 Message Date
Yann E. MORIN"
8b18c7d30d Message beautification when saving locally.
/trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-01-06 21:00:39 +00:00
Yann E. MORIN"
ebf01acb41 Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:
- it is unworkable to have CT_ExtactAndPAtch cope with all those silly glibc addons:
  - they can have 'short' (as 'ports') or 'long' (as glibc-ports-2.7) names
  - patches are against eithe the short or long name, but non-uniformly use one or the other
  - it is the reposibility of the component (glibc in this case) to handle corner cases such as those
- update all components to use the new functions

 /trunk/scripts/build/tools/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/tools/100-libelf.sh   |    3     2     1     0 +-
 /trunk/scripts/build/tools/200-sstrip.sh   |    3     2     1     0 +-
 /trunk/scripts/build/kernel/linux.sh       |    3     2     1     0 +-
 /trunk/scripts/build/binutils.sh           |    3     2     1     0 +-
 /trunk/scripts/build/cc/gcc.sh             |    3     2     1     0 +-
 /trunk/scripts/build/debug/000-template.sh |    3     2     1     0 +-
 /trunk/scripts/build/debug/100-dmalloc.sh  |    3     2     1     0 +-
 /trunk/scripts/build/debug/400-ltrace.sh   |    3     2     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh      |    9     6     3     0 +++--
 /trunk/scripts/build/debug/500-strace.sh   |    7     3     4     0 ++--
 /trunk/scripts/build/debug/200-duma.sh     |   19     8    11     0 ++++------
 /trunk/scripts/build/libc/glibc.sh         |   14    12     2     0 ++++++-
 /trunk/scripts/build/libc/uClibc.sh        |   13     9     4     0 +++++--
 /trunk/scripts/build/libc/eglibc.sh        |   14    12     2     0 ++++++-
 /trunk/scripts/build/gmp.sh                |    3     2     1     0 +-
 /trunk/scripts/build/mpfr.sh               |    3     2     1     0 +-
 /trunk/scripts/functions                   |   68    36    32     0 +++++++++++++++++++-----------------
 18 files changed, 108 insertions(+), 69 deletions(-)
2009-01-05 23:02:43 +00:00
Yann E. MORIN"
e3c489be38 Fix C library addons extraction:
- 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(-)
2009-01-05 20:37:03 +00:00
Yann E. MORIN"
31cc00829e Get rid of CT_LIBC_FILE, remove useless CT_MakeAbsolutePath.
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(-)
2009-01-04 22:17:53 +00:00
Yann E. MORIN"
7593ffbf36 Fix aborting when neither wget nor curl are present.
/trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-01-04 14:35:25 +00:00
Yann E. MORIN"
87daa7bd58 Add new wrapper fucntions:
- retrieve from local storage (CT_GetLocal)
- save to local storage (CT_SaveLocal)
- retrieve from CVS (CT_GetCVS)
- make CT_GetFile and CT_GetCVS use CT_GetLocal and CT_SaveLocal

 /trunk/scripts/functions |  126    91    35     0 +++++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 91 insertions(+), 35 deletions(-)
2009-01-04 12:43:54 +00:00
Yann E. MORIN"
b91d74858a Make it clear that, if the second argument of CT_GetFile starts with a dot, it is considered to be the preferred extension.
/trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-12-21 20:07:47 +00:00
Yann E. MORIN"
65bb3ac67c Get rid of the tols/ directory:
- move config.guess and config.sub from tools/ into scripts/
- update the scripts and makefile fragments accordingly

 /trunk/Makefile.in        |   10     5     5     0 +++++-----
 /trunk/scripts/functions  |   16     8     8     0 ++++++++--------
 /trunk/scripts/scripts.mk |   28    13    15     0 +++++++++++++---------------
 /trunk/ct-ng.in           |    4     2     2     0 ++--
 4 files changed, 28 insertions(+), 30 deletions(-)
2008-12-16 18:12:34 +00:00
Yann E. MORIN"
eb687c65b3 Sanity-check CT_TARGET_VENDOR, CT_TARGET_ALIAS and CT_TARGET_ALIAS_SED_EXPR:
- vendor and alias must not contain spaces
- vendor must not contain dashes '-'
- sed_expr must not generate an alias with a space in it

 /trunk/scripts/functions   |   17    16     1     0 ++++++++++++++++-
 /trunk/config/toolchain.in |    1     1     0     0 +
 2 files changed, 17 insertions(+), 1 deletion(-)
2008-12-09 22:02:20 +00:00
Yann E. MORIN"
c2a76991ce Minor POSIX compliance, and typo.
/trunk/scripts/crosstool.sh |    5     2     3     0 ++---
 /trunk/scripts/functions    |    3     2     1     0 ++-
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-11-28 23:33:04 +00:00
Yann E. MORIN"
c101cbccac Make it easy to use \n
/trunk/scripts/functions |    5     4     1     0 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
2008-11-28 17:51:39 +00:00
Yann E. MORIN"
6bfe4b1550 Transform LAN_MIRROR into plain MIRROR:
- it does not have to be in the LAN
- offer mirror preference over upstream
  - if selected, the mirror will be scanned before upstream servers
  - if not selected, upstream servers will be scanned before the mirror
- I've set up such an internet-accessible mirror
  - uClibc snapshot available
  - MPFR releases available (the MPFR site is down from time to time)
- update all samples to use my mirror as a failover

 /trunk/scripts/functions                                          |   45    16    29     0 +++++--------
 /trunk/samples/x86_64-unknown-linux-gnu/crosstool.config          |    8     7     1     0 ++
 /trunk/samples/sh4-unknown-linux-gnu/crosstool.config             |    8     7     1     0 ++
 /trunk/samples/armeb-unknown-linux-uclibc/crosstool.config        |    8     7     1     0 ++
 /trunk/samples/arm-unknown-elf/crosstool.config                   |    8     7     1     0 ++
 /trunk/samples/arm-unknown-linux-gnueabi/crosstool.config         |    8     7     1     0 ++
 /trunk/samples/ia64-unknown-linux-gnu/crosstool.config            |    8     7     1     0 ++
 /trunk/samples/x86_64-unknown-linux-uclibc/crosstool.config       |    8     7     1     0 ++
 /trunk/samples/armeb-unknown-linux-gnueabi/crosstool.config       |    8     7     1     0 ++
 /trunk/samples/powerpc-e500v2-linux-gnuspe/crosstool.config       |    8     7     1     0 ++
 /trunk/samples/i686-nptl-linux-gnu/crosstool.config               |    8     7     1     0 ++
 /trunk/samples/powerpc-unknown-linux-gnu/crosstool.config         |    8     7     1     0 ++
 /trunk/samples/arm-unknown-linux-gnu/crosstool.config             |    8     7     1     0 ++
 /trunk/samples/mips-unknown-linux-uclibc/crosstool.config         |    8     7     1     0 ++
 /trunk/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config   |    8     7     1     0 ++
 /trunk/samples/armeb-unknown-linux-gnu/crosstool.config           |    8     7     1     0 ++
 /trunk/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config   |    8     7     1     0 ++
 /trunk/samples/powerpc-unknown-linux-uclibc/crosstool.config      |    8     7     1     0 ++
 /trunk/samples/arm-unknown-linux-uclibc/crosstool.config          |    8     7     1     0 ++
 /trunk/samples/i586-geode-linux-uclibc/crosstool.config           |    8     7     1     0 ++
 /trunk/samples/powerpc-405-linux-gnu/crosstool.config             |    8     7     1     0 ++
 /trunk/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config |    8     7     1     0 ++
 /trunk/samples/mipsel-unknown-linux-gnu/crosstool.config          |    8     7     1     0 ++
 /trunk/samples/arm-unknown-eabi/crosstool.config                  |    8     7     1     0 ++
 /trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config       |    8     7     1     0 ++
 /trunk/samples/powerpc-860-linux-gnu/crosstool.config             |    8     7     1     0 ++
 /trunk/config/global/download.in                                  |   42    25    17     0 +++++++-----
 27 files changed, 216 insertions(+), 71 deletions(-)
2008-10-31 18:27:27 +00:00
Yann E. MORIN"
a5bbab574f Use 'gawk', not plain 'awk'.
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(-)
2008-10-29 22:27:30 +00:00
Yann E. MORIN"
1c625d676c Push the calculation of the tuple's kernel part down to kernel's build scripts:
- update the kernel script's API with the function CT_DiKernelTupleValues
- update doc accordingly (also with the architecture change, missing in the previous commit)
- small clean-up in the main script, remove useless test

 /trunk/scripts/build/kernel/bare-metal.sh |    5     5     0     0 +++++
 /trunk/scripts/build/kernel/linux.sh      |    5     5     0     0 +++++
 /trunk/scripts/crosstool.sh               |   31    13    18     0 +++++++++++++------------------
 /trunk/scripts/functions                  |   15     8     7     0 ++++++++-------
 /trunk/docs/overview.txt                  |   13     9     4     0 +++++++++----
 5 files changed, 40 insertions(+), 29 deletions(-)
2008-10-23 13:45:48 +00:00
Yann E. MORIN"
58e57f180c Architecture API change:
- rename the tuple function

 /trunk/scripts/build/arch/mips.sh    |    2     1     1     0 +-
 /trunk/scripts/build/arch/sh.sh      |    2     1     1     0 +-
 /trunk/scripts/build/arch/x86_64.sh  |    2     1     1     0 +-
 /trunk/scripts/build/arch/arm.sh     |    2     1     1     0 +-
 /trunk/scripts/build/arch/powerpc.sh |    2     1     1     0 +-
 /trunk/scripts/build/arch/ia64.sh    |    2     1     1     0 +-
 /trunk/scripts/build/arch/alpha.sh   |    2     1     1     0 +-
 /trunk/scripts/build/arch/x86.sh     |    2     1     1     0 +-
 /trunk/scripts/functions             |   12     7     5     0 +++++++-----
 9 files changed, 15 insertions(+), 13 deletions(-)
2008-10-23 13:00:45 +00:00
Yann E. MORIN"
2c6a4afc4a Fix using only custom patches.
Reported by Patrick FLAIG: http://sourceware.org/ml/crossgcc/2008-10/msg00032.html

 /trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-10-21 21:04:25 +00:00
Yann E. MORIN"
5276fc869d Use ERROR level for make errors.
Rename the C library addons directories rather than symlinking.

 /trunk/scripts/functions |   10     7     3     0 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
2008-10-12 11:09:57 +00:00
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00
Yann E. MORIN"
99691ee4d6 Log retrieved file emssages to DEBUG level, not EXTRA.
/trunk/scripts/build/libc_eglibc.sh |    2     1     1     0 +-
 /trunk/scripts/functions            |    6     3     3     0 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-08-17 14:13:00 +00:00
Yann E. MORIN"
5c18ddd8b9 Be a little less verbose when retrieving files if they are already present.
Be a little less verbose when extracting (and patching) files.

 /trunk/scripts/functions |    7     2     5     0 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
2008-08-12 07:47:19 +00:00
Yann E. MORIN"
59ef10f5d6 Merge the branches/eglibc stuff:
- Add support for eglibc

 /trunk/scripts/functions  |    6     4     2     0 ++++--
 /trunk/docs/CREDITS       |    1     1     0     0 +
 /trunk/config/libc.in     |   12    12     0     0 ++++++++++++
 /trunk/arch/arm/functions |    4     2     2     0 ++--
 4 files changed, 19 insertions(+), 4 deletions(-)
2008-08-11 12:22:47 +00:00
Yann E. MORIN"
57755ca74b Move two log messages around, so that output looks better.
/trunk/scripts/functions |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-08-11 09:42:13 +00:00
Yann E. MORIN"
5c77177873 Do not unset http_proxy, ftp_proxy and https_proxy in case of using a socks proxy.
Add a log message.

 /trunk/scripts/functions |    6     2     4     0 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
2008-08-09 20:48:39 +00:00
Yann E. MORIN"
dfad0fbd2f Merge #920 from branches/eglibc:
Fix saving tarballs locally in case downloads are forced.

 /trunk/scripts/functions |   14     6     8     0 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
2008-08-09 17:48:13 +00:00
Yann E. MORIN"
5bc276a6f0 Merge #916 from branches/eglibc:
Use a little bit more of CT_DoExecLog.

 /trunk/scripts/functions |   35    18    17     0 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)
2008-08-09 17:46:56 +00:00
Yann E. MORIN"
ba23f53157 Merge #914 from branches/eglibc:
Fix setting the proxy.

 /trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-08-09 17:45:55 +00:00
Yann E. MORIN"
929970279c Merge #911 from banches/eglibc:
Fix testing for tool's presence.

 /trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-08-09 17:40:44 +00:00
Yann E. MORIN"
ef0f400c26 Introduce four new ARCH specific variables that CT_DoArchValues can set if they want:
- CT_ARCH_CC_CORE_EXTRA_CONFIG
  - CT_ARCH_CC_EXTRA_CONFIG
  - CT_ARCH_TARGET_CLFAGS
  - CT_ARCH_TARGET_LDFLAGS
This will hopefully enable architectures to specify specific flags.
PowerPC will need them to introduce SPE (coming RSN).

 /trunk/scripts/crosstool.sh |    2     2     0     0 ++
 /trunk/scripts/functions    |    4     2     2     0 ++--
 /trunk/docs/overview.txt    |   45    22    23     0 ++++++++++++++++++++++-----------------------
 /trunk/config/target.in     |   10    10     0     0 ++++++++++
 4 files changed, 36 insertions(+), 25 deletions(-)
2008-08-07 15:18:18 +00:00
Yann E. MORIN"
4eeadf87e2 Rework a little bit of the LAN mirror and proxy settings.
/trunk/scripts/crosstool.sh      |  105     4   101     0 +------------------------
 /trunk/scripts/functions         |  151   129    22     0 +++++++++++++++++++++++++++++++-----
 /trunk/config/global/download.in |  193    99    94     0 ++++++++++++++++++++++++----------------------
 3 files changed, 232 insertions(+), 217 deletions(-)
2008-08-01 09:23:58 +00:00
Yann E. MORIN"
8e512f9a95 Re-enable the restart functionality by removing some variables from the saved environment.
/trunk/scripts/functions |   16    10     6     0 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
2008-07-27 14:25:19 +00:00
Yann E. MORIN"
a586208ab4 In case of error, the error message would be printing in subshells, thus printing as many error message as there were subshells.
Limit printing this message only in the top-level shell.

 /trunk/scripts/functions |    2     2     0     0 ++
 1 file changed, 2 insertions(+)
2008-07-26 09:22:42 +00:00
Yann E. MORIN"
702532d61d While retrieving files, propagate the preferred extension down to sub-functions.
/trunk/scripts/functions |    8     5     3     0 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
2008-07-25 10:02:43 +00:00
Yann E. MORIN"
adc71fffcc When retrieving a file, allow preferred extension to be whatever starts with a dot, and not only one of .tar.bz2 .tar.gz .tgz or .tar.
/trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-07-24 06:42:29 +00:00
Yann E. MORIN"
2f6bd7b794 Introduce using a LAN mirror for retrieving tarballs.
/trunk/scripts/functions         |   40    36     4     0 ++++++++++++-
 /trunk/config/global/download.in |  146   115    31     0 ++++++++++++++++++++++++++++++++++++----------
 2 files changed, 151 insertions(+), 35 deletions(-)
2008-07-19 22:45:17 +00:00
Yann E. MORIN"
e377769fb1 Catching a double fault is doomed... Don't take action.
Simplify CT_DoExecLog: it does not support affectations prior to the command, anyway.

 /trunk/scripts/functions |    5     1     4     0 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
2008-07-14 21:56:58 +00:00
Yann E. MORIN"
4fcab60674 Don't print double-faults.
/trunk/scripts/functions |    3     3     0     0 +++
 1 file changed, 3 insertions(+)
2008-07-14 15:22:53 +00:00
Yann E. MORIN"
2a884e354a Log the command being run when calling CT_DoExecLog, which is kinda the point of CT_DoExecLog, anyway...
/trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-07-14 15:20:11 +00:00
Yann E. MORIN"
e171928b08 Also log the command being executed when calling CT_DoExecLog (no user yet).
/trunk/scripts/functions |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-07-13 10:44:26 +00:00
Yann E. MORIN"
6e2180c1f2 Print "Build completed" only if not in error, not the other way around.
/trunk/scripts/functions |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-06-20 11:58:13 +00:00
Yann E. MORIN"
e66d06e8e3 Only print "Build completed" if build was successful.
Print the time at which at step was finished (along with the time it took to complete).

 /trunk/scripts/functions |    7     5     2     0 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
2008-06-19 15:31:04 +00:00
Yann E. MORIN"
91c6e16780 Add a new helper function: CT_DoExecLog.
It is similar to CT_DoLog, but instead of printing its arguments, it uses them as a command, and logs the output of that command.

 /trunk/scripts/functions |    8     8     0     0 ++++++++
 1 file changed, 8 insertions(+)
2008-05-25 22:25:50 +00:00
Yann E. MORIN"
9d2e7e0b70 Introduce target-specific LDFLAGS, the same way we have CFLAGS for the target.
It seems to be helping gcc somewhat into telling the correct endianness to ld that sticks with little endian even when the target is big (eg armeb-unknown-linux-uclibcgnueabi).
There's still work to do, especially finish the gcc part that is not in this commit.

 /trunk/scripts/functions |    9     7     2     0 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
2008-05-21 22:00:52 +00:00
Yann E. MORIN"
0c4633c37f Get rid of all command (which is a bashism), and replace them with $(command), which is POSIX.
Get rid of all remaining \"text\" in log messages and replace them with 'text'.
Optimise the progress bar, should go un-noticed at log level DEBUG and below.

 /trunk/scripts/build/tools/200-sstrip.sh  |   16     8     8     0 ++--
 /trunk/scripts/build/libc_glibc.sh        |   50    25    25     0 +++++++-------
 /trunk/scripts/build/libc_uClibc.sh       |    4     2     2     0
 /trunk/scripts/build/debug/100-dmalloc.sh |    2     1     1     0
 /trunk/scripts/build/debug/400-ltrace.sh  |    2     1     1     0
 /trunk/scripts/build/debug/300-gdb.sh     |    8     4     4     0 +-
 /trunk/scripts/build/debug/200-duma.sh    |    6     3     3     0 +-
 /trunk/scripts/build/kernel_linux.sh      |   30    15    15     0 ++++----
 /trunk/scripts/build/cc_gcc.sh            |   14     7     7     0 ++--
 /trunk/scripts/crosstool.sh               |   54    27    27     0 ++++++++--------
 /trunk/scripts/functions                  |  128    64    64     0 ++++++++++++++++++------------------
 /trunk/scripts/saveSample.sh              |    4     2     2     0
 /trunk/scripts/tarball.sh.broken          |   20    10    10     0 +++---
 /trunk/tools/addToolVersion.sh            |    8     4     4     0 +-
 /trunk/tools/populate.in                  |   18     9     9     0 ++--
 15 files changed, 182 insertions(+), 182 deletions(-)
2008-05-20 21:32:39 +00:00
Yann E. MORIN"
7007cc858f Introduce a new option to overide components' config.{gues,sub} with the one provided with crosstool-NG.
Fix typoes in a comment.

 /trunk/scripts/functions                 |   13    11     2     0 +++++++++++--
 /trunk/config/global/download_extract.in |   20    20     0     0 ++++++++++++++++++++
 2 files changed, 31 insertions(+), 2 deletions(-)
2008-05-15 20:45:18 +00:00
Yann E. MORIN"
0dad6065a6 Export endianness CFLAGS.
Fix endianness CFLAGS for MIPS.

 /trunk/scripts/functions   |    1     1     0     0 +
 /trunk/arch/mips/functions |    6     6     0     0 ++++++
 2 files changed, 7 insertions(+)
2008-05-14 17:49:52 +00:00
Yann E. MORIN"
edbd3bee45 Fix building uClibc-based, soft-float toolchains by correctly setting float support in the uClibc config file.
Correctly unset float CFLAGS and configure arguments before setting them.

 /trunk/scripts/build/libc_uClibc.sh |    4     2     2     0 ++--
 /trunk/scripts/functions            |    4     2     2     0 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-05-14 17:39:18 +00:00
Yann E. MORIN"
770bed1f53 Add a new option to set connection timeout while downloading.
/trunk/scripts/functions                 |   16     8     8     0 ++++++++--------
 /trunk/config/global/download_extract.in |   25    25     0     0 +++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 8 deletions(-)
2008-05-06 20:30:49 +00:00
Yann E. MORIN"
2dffee230a Fix a comment.
functions |    6     3     3     0 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
2008-04-13 18:25:30 +00:00
Yann E. MORIN"
b3841f0aa9 Matthias Kaehlcke <matthias@kaehlcke.net> reported hanged downloads on his
network, most probably due to proxies. Have downloaders (wget and curl)
timeout on too slow connections (they don't by default).

 scripts/functions |   17    12     5     0 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)
2008-04-13 18:16:58 +00:00
Yann E. MORIN"
07fa611771 Robet P. J. DAY: typoes. 2008-02-14 22:44:34 +00:00
Yann E. MORIN"
72e58fb2a3 Fix a long standing bug when setting compiler flags. 2008-01-16 21:51:18 +00:00
Yann E. MORIN"
5f568e5557 Fix by "Arvid Brodin" <Arvid.Brodin@enea.com> to CFLAGS coming from CT_ARCH_TUNE.
Thanks for spotting this one! ;-)
2007-10-30 19:13:51 +00:00
Yann E. MORIN"
dd9e2b9602 ARM EABI is now working for little endian ARM targets.
Big endian is still missing, though...
2007-09-16 17:59:18 +00:00
Yann E. MORIN"
3f09a4d4c6 Further improve the architecture-specific framework.
Apply this framework into building of glibc and gcc.

(Whoo! 500th commit! Yeah!)
2007-09-15 21:44:18 +00:00
Yann E. MORIN"
9501e62afa Further expand the architecture-specific function: add CT_KERNEL_ARCH building. 2007-09-14 21:50:30 +00:00
Yann E. MORIN"
60b0bb1bab Migrate all supported architectures to use the architecture-specific framework. 2007-09-14 21:17:59 +00:00
Yann E. MORIN"
d409c9fd1a Merge from branches/ia64@476 : add ia64 preliminary support. 2007-09-11 17:24:09 +00:00
Yann E. MORIN"
07549c00fb Use symlinks to the localy stored tarballs rather than copying them.
If saving tarballs to local storage is selected, move newly downloaded tarballs there and symlink.
2007-09-08 19:00:45 +00:00
Yann E. MORIN"
0bee99ed38 Add a patch to enqable NPTL build on ARM OABI with glibc-2.6.1.
Fix a comment.
2007-09-06 12:38:52 +00:00
Yann E. MORIN"
1b80955d74 Fix restoring the environment. 2007-08-16 12:13:45 +00:00
Yann E. MORIN"
09f0dcc66f Change "triplet" (target triplet) to "tuple". That sounds better!
Document overriding the number of // jobs.
Some small documentation fixes.
2007-08-15 16:18:35 +00:00
Yann E. MORIN"
a2323d410a Fix a small typo when extracting non-compressed steps.
Have a go for a sane handlign of tar options and extensions.
2007-08-12 15:18:09 +00:00
Yann E. MORIN"
7ee3cc8bc9 Fix saving the environment. Thanks to Mark Vels <Mark.Vels@fundem.net> for pointed it out! 2007-08-12 08:43:56 +00:00
Yann E. MORIN"
7131764f9c Remove any reference to libfloat. That has gone once and for all.
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.
2007-07-30 20:02:13 +00:00
Yann E. MORIN"
d995e22025 Add an option to save downloaded tarballs to local tarballs directory.
Sanitise CT_GetFile.
Change some messages (Copying -> Retrieving).
2007-07-15 17:00:30 +00:00
Yann E. MORIN"
a464eeecda Get rid of the legacy local variable got_it.
Allow to download files without extension.
Allow to specify a preffered extension when downloading a file.
2007-07-12 19:52:09 +00:00
Yann E. MORIN"
1e7411cce7 Test for curl or wget only once, not at each download. 2007-07-12 19:20:36 +00:00
Yann E. MORIN"
674ee531e6 Silence "which" being verbose in some distros. (eg. Mandriva's which spawns "foobar was not found in /bin:/usr/bin:...." directly on stderr) 2007-07-07 09:58:14 +00:00
Yann E. MORIN"
26713d4210 Merge the build system to trunk: ct-ng is now installable:
- ./configure --prefix=/some/place
 - make
 - make install
 - export PATH="${PATH}:/some/place/bin"
 - ct-ng <action>
2007-07-01 19:04:20 +00:00
Yann E. MORIN"
5e07f7cfc3 scripts/functions is responsible for initiating the log file.
Users of the log facility are in charge to use, move, delete this log file, now.
2007-06-16 22:23:53 +00:00
Yann E. MORIN"
0b17dd664e When searching a matching extension for a file, also check for the empty extension. 2007-06-16 18:04:05 +00:00
Yann E. MORIN"
6d932e31d8 Messages from the downloaders should be tagged ALL, not DEBUG. 2007-06-01 16:20:20 +00:00
Yann E. MORIN"
1bb7c90a8d Small fix in the log level when dumping the last messages (elapsed time). 2007-05-29 19:56:21 +00:00
Yann E. MORIN"
e830653d1b Don't start a state restoration if it is not available.
Fortuitly discovered that $SECONDS is inherited from shell to sub-shells. Good!
2007-05-28 20:57:40 +00:00
Yann E. MORIN"
de5df0533c Merge the NPTL stuff.
That still leaves the linuxthreads stuff broken, but it was just before. I don't care anyway. Time to fix that later...
2007-05-27 20:22:06 +00:00
Yann E. MORIN"
266e38cc13 Add the possibility to stop after a specified step.
Update the Makefile help and the documentation accordingly.
2007-05-25 19:30:42 +00:00
Yann E. MORIN"
b521e3418d In CT_Abort(), don't send output to stderr. Let the log facility handle where things should go. 2007-05-23 21:08:24 +00:00
Yann E. MORIN"
266a81de2c Sanitise CT_DoBuildTargetTriplet a bit. 2007-05-23 20:49:02 +00:00
Yann E. MORIN"
cb0d1fef8c Implement a restart facility.
If you select to debug ct-ng, then you have two new options:
 - DEBUG_CT_PAUSE_STEPS : pause between every steps,
 - DEBUG_CT_SAVE_STEPS  : save state between every steps.
To restart a saved state, just set the RESTART make variable when calling make:
  - make RESTART=<step_name>
2007-05-22 20:46:07 +00:00
Yann E. MORIN"
4fb8055bf7 Ah! I finally have a progress bar that doesn't stall the build!
- pipe size in Linux is only 8*512=4096 bytes
 - pipe size is not setable
 - when the feeding process spits out data faster than the eating
   process can read it, then the feeding process stalls after 4KiB
   of data sent to the pipe
 - for us, the progress bar would spawn a sub-shell every line,
   and the sub-shell would in turn spawn a 'date' command.
   Which was sloooww as hell, and would cause some kind of a
   starvation: the pipe was full most of the time, and the
   feeding process was stalled all this time.

Now, we use internal variables and a little hack based onan offset
to determine the elapsed time. Much faster this way, but still
CPU-intensive.
2007-05-20 13:48:26 +00:00
Yann E. MORIN"
361c617308 Correctly handle the libfloat case: download, extract and patch sub-actions.
Small improvement in messages in scipts/functions when retrieving a file.
2007-05-19 13:10:11 +00:00
Yann E. MORIN"
a5a431f851 Really use local copy first in case it does not have the same extension as the downloadable tarball. 2007-05-18 15:54:42 +00:00
Yann E. MORIN"
340c3e2030 Make the debug config menu a generated file.
Add a uClibc-0.9.29 patch directory with one patch (from me!).
Update the armeb-unknown-linux-uclibc sample to uClibc-0.9.29.
Some eyecandy in the gdb build process.
2007-05-17 22:10:48 +00:00
Yann E. MORIN"
8d3f0a8781 Debug facilities:
- add a framework to easily add new ones
  - add gdb as a first debug facility
  - add patches for gdb
After the kernel checked its installed headers, clean up the mess of .checked.* files.
Reorder scripts/crosstool.sh:
  - dump the configuration early
  - renice early
  - get info about build system early, when setting up the environment
  - when in cross or native, the host tools are those of the build system, and only in this case
  - elapsed time calculations moved to scripts/functions
Remove handling of the color: it's gone once and for all.
Update tools/addToolVersion.sh:
  - handle debug facilities
  - commonalise some code
  - remove dead tools (cygwin, tcc)
Point to my address for bug reports.
2007-05-17 16:22:51 +00:00
Yann E. MORIN"
7ed70a0028 Correctly handle the version string, defined in a single place now.
Fix and update README.
2007-05-13 19:03:49 +00:00
Yann E. MORIN"
a845d72881 Update the way we handle directories supplied by the user:
- the tarball directory is considered as a local copy, and tarballs are copied to a working area,
 - the sources and build directories (CT_SRC_DIR and CT_BUILD_DIR) are now computed, and no longer an option,
 - the build dir has been renamed from 'build' to 'targets'.
That should ease preparing a tarball of the resulting target.
2007-05-10 21:33:35 +00:00
Yann E. MORIN"
56b73046a4 Again, some progress bar optimisation. 2007-05-09 13:11:04 +00:00
Yann E. MORIN"
823a283d19 Hop, a somewhat more efficient progress bar, less CPU consuming, if that was a problem :-)
(a litlle recreation while toochains are building...)
2007-05-08 20:41:08 +00:00
Yann E. MORIN"
5b29e80130 Fix handling of downloader output: they are now correctly logged using the internal log facility. 2007-05-08 18:43:26 +00:00
Yann E. MORIN"
8a2b17ab5e Huge fixes to glibc build, so that we can build at least (and at last):
- use ports addon even when installing headers,
 - use optimisation (-O) when installing headers, to avoid unnecessary warnings (thanks Robert P. J. DAY for pointing this out!),
 - lowest kernel version to use is only X.Y.Z, not X.Y.Z.T,
 - a bit of preparations for NPTL (RSN I hope),
 - fix fixing the linker scripts (changing the backup file is kind of useless and stupid);

Shut uClibc finish step: there really is nothing to do;

Add a patch for glibc-2.3.6 weak aliases handling on some archs (ARM and ALPHA at least);

Did not catch the make errors: fixed the pattern matching in scripts/functions;

Introduce a new log level, ALL:
 - send components' build messages there,
 - DEBUG log level is destined only for crosstool-NG debug messages,
 - migrate sub-actions to use appropriate log levels;

Update the armeb-unknown-linux-gnu sample:
 - it builds!
 - uses gcc-4.0.4 and glibc-2.3.6,
 - updated to latest config options set.
2007-05-08 17:48:32 +00:00
Yann E. MORIN"
5856bb8c5e Inform that a component is already extracted. 2007-05-08 12:57:52 +00:00
Yann E. MORIN"
b332ed5ab6 Print the elapsed time alongside with the progress bar, such as below:
[02:27] \
2007-05-08 12:54:06 +00:00
Yann E. MORIN"
58b4c6d0a4 Merge the save-sample branch to trunk:
- reorder most of the environment setup,
 - geting, extracting and patching are now components' sub-actions,
 - save the current config as a sample to be used as a pre-configured target.
2007-05-07 09:04:02 +00:00
Yann E. MORIN"
7779137ba8 Second shot at merging from the MIPS branch:
- log level boost for warnings and errors
- option re-ordering
- help updating
2007-04-23 20:30:34 +00:00
Yann E. MORIN"
1906cf93f8 Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
2007-02-24 11:00:05 +00:00