Commit Graph

1845 Commits

Author SHA1 Message Date
Yann E. MORIN"
929c368541 Add support for the up-coming gcc-4.3.
Two new config options: pkgversion and bugurl.

 /trunk/scripts/build/cc_gcc.sh |    4     3     1     0 +++-
 /trunk/tools/addToolVersion.sh |   20    16     4     0 ++++++++++++++++----
 /trunk/config/cc/gcc.in        |   24    24     0     0 ++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 5 deletions(-)
2008-06-09 16:14:23 +00:00
Yann E. MORIN"
fddd535b29 Rework dumping the samples.
/trunk/scripts/showSamples.sh |    1     0     1     0 -
 /trunk/samples/samples.mk     |   10     7     3     0 +++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)
2008-05-26 21:49:36 +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"
832d6ba314 Fix building big-endian ARM EABI toolchains (build-tested only).
Patch highly inspired by the one from OpenWRT (http://openwrt.org/)

 /trunk/patches/gcc/4.2.3/930-eabi_fixes.patch |   13    13     0     0 +++++++++++++
 /trunk/scripts/build/cc_gcc.sh                |    6     4     2     0 ++++--
 2 files changed, 17 insertions(+), 2 deletions(-)
2008-05-25 22:10:32 +00:00
Yann E. MORIN"
5ad450e403 Multilib is gone, so don't use it when building gcc.
/trunk/scripts/build/cc_gcc.sh |    6     1     5     0 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
2008-05-24 22:49:54 +00:00
Yann E. MORIN"
8dd0e17c51 Use the arch-specific target LDFLAGS into the final target LDFLAGS.
Fix a help entry in the CFLAGS_for_target config entry.

 /trunk/scripts/crosstool.sh |    4     3     1     0 +++-
 /trunk/config/target.in     |    2     1     1     0 +-
 2 files changed, 4 insertions(+), 2 deletions(-)
2008-05-24 22:38:07 +00:00
Yann E. MORIN"
c68aacb799 Improve handling of __cxa_atexit by Arnaud Vrac <rawoul at zogzog dot org>.
/trunk/scripts/build/cc_gcc.sh |   18    15     3     0 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
2008-05-22 22:38:37 +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"
6bf2896c4e Build an MPFR library that is thread-safe (I don't know if either binutils or gcc are threaded themselves).
/trunk/scripts/build/mpfr.sh |    1     1     0     0 +
 1 file changed, 1 insertion(+)
2008-05-21 21:52:31 +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"
62c87c5adf In the future, we'll be able to download /old/ MPFR versions.
/trunk/scripts/build/mpfr.sh |    3     2     1     0 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
2008-05-19 21:41:19 +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"
ec169f9cc7 Fix forcing source extraction.
/trunk/scripts/crosstool.sh |    5     3     2     0 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
2008-05-15 20:42:45 +00:00
Yann E. MORIN"
cfdbd995e2 Better configure binutils, both for host and target.
/trunk/scripts/build/binutils.sh |   23    15     8     0 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)
2008-05-14 17:58:07 +00:00
Yann E. MORIN"
4ebe15e6b4 Sanitise and use CT_CC_NATIVE.
Comment inclusion of scripts/functions.

 /trunk/scripts/build/cc_gcc.sh |    6     6     0     0 ++++++
 /trunk/scripts/crosstool.sh    |    7     6     1     0 ++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)
2008-05-14 17:56:33 +00:00
Yann E. MORIN"
5e2851a219 Introduce a new option to render (or not) uClibc' build verbose.
/trunk/scripts/build/libc_uClibc.sh |    6     4     2     0 ++++--
 /trunk/config/libc/uClibc.in        |   23    23     0     0 +++++++++++++++++++++++
 2 files changed, 27 insertions(+), 2 deletions(-)
2008-05-14 17:52:53 +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"
e086c89afe Improve a comment in code.
/trunk/scripts/build/libc_glibc.sh |    1     1     0     0 +
 1 file changed, 1 insertion(+)
2008-05-11 12:53:37 +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"
1b9a490601 Some people are reposrting that ftp does not work on their network, probably due to proxies, while http does work.
Some (most) of the sites we use toretrieve tarballs have http equivallent for the ftp service. Use http as a failover.
There's no solution for those sites that do not have such an http equivalent.

 /trunk/scripts/build/binutils.sh         |    5     2     3     0 ++---
 /trunk/scripts/build/libc_glibc.sh       |    4     2     2     0 ++--
 /trunk/scripts/build/libc_uClibc.sh      |    2     1     1     0 +-
 /trunk/scripts/build/debug/400-ltrace.sh |    2     1     1     0 +-
 /trunk/scripts/build/debug/300-gdb.sh    |    8     3     5     0 +++-----
 /trunk/scripts/build/kernel_linux.sh     |    7     2     5     0 ++-----
 /trunk/scripts/build/cc_gcc.sh           |    6     2     4     0 ++----
 /trunk/scripts/build/gmp.sh              |    4     1     3     0 +---
 8 files changed, 14 insertions(+), 24 deletions(-)
2008-05-03 17:51:16 +00:00
Yann E. MORIN"
a056fa7341 Fix tools.sh and debug.sh now the tools/ and debug/ sub-dirs are numerically sorted.
/trunk/scripts/build/debug.sh |    4     2     2     0 ++--
 /trunk/scripts/build/tools.sh |    4     2     2     0 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
2008-05-03 09:53:49 +00:00
Yann E. MORIN"
1dc26cbbcd Fix testing glibc versions for -pipe.
/trunk/scripts/build/libc_glibc.sh |    6     4     2     0 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
2008-05-02 22:47:43 +00:00
Yann E. MORIN"
3d8a1efd05 Comment more a mis-leading comment in the glibc build procedure.
/trunk/scripts/build/libc_glibc.sh |    5     5     0     0 +++++
 1 file changed, 5 insertions(+)
2008-05-02 22:21:43 +00:00
Yann E. MORIN"
ff1d30c4a3 For tools/ and debug/ build scripts, annd a numeric prefix, so that they always get built in the same order, in case of library dependencies.
/trunk/scripts/build/debug.sh |    2     1     1     0 +-
 /trunk/scripts/build/tools.sh |    2     1     1     0 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2008-05-02 21:59:14 +00:00
Yann E. MORIN"
8739aa7574 Add a new help entry to list each samples more verbosely, but only on-demand.
/trunk/samples/samples.mk     |    4     4     0     0 ++++
 /trunk/scripts/showSamples.sh |   32    31     1     0 +++++++++++++++++++++++++++++++-
 2 files changed, 35 insertions(+), 1 deletion(-)
2008-05-02 21:49:43 +00:00
Yann E. MORIN"
886c3e7c8b Do not try to download, extract, or build GMP and MPFR if not asked for.
/trunk/scripts/build/gmp.sh  |   12    11     1     0 +++++++++++-
 /trunk/scripts/build/mpfr.sh |   11    11     0     0 +++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)
2008-04-30 16:38:06 +00:00
Yann E. MORIN"
86c54d8079 Merge the fortran stuff to trunk now it works!
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(-)
2008-04-30 10:43:41 +00:00
Yann E. MORIN"
dacd159a98 Build both shared and static versions of binutils' libraries for target.
/trunk/scripts/build/binutils.sh |    1     1     0     0 +
 1 file changed, 1 insertion(+)
2008-04-28 09:27:21 +00:00
Yann E. MORIN"
7bb4d0d9ca Do not forget binutils' target libraries in the list.
/trunk/scripts/build/binutils.sh |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-04-28 08:55:00 +00:00
Yann E. MORIN"
f75ab94105 Be alittle less verbose in the core CC pass 1 & 2.
/trunk/scripts/build/cc_gcc.sh |    5     0     5     0 -----
 1 file changed, 5 deletions(-)
2008-04-28 07:44:22 +00:00
Yann E. MORIN"
daa31a0c34 Building target libraries before the cross-compiler is available is doomed! 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(-)
2008-04-28 07:38:36 +00:00
Yann E. MORIN"
f4012a128e Add building some binutils libraries for the target, as some utilities might need them.
/trunk/scripts/build/binutils.sh |   32    32     0     0 ++++++++++++++++++++++++++++++++
 /trunk/config/binutils.in        |   22    22     0     0 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)
2008-04-27 15:08:15 +00:00
Yann E. MORIN"
8a6d956634 Offer an option to build a static cross-gdb.
/trunk/scripts/build/debug/gdb.sh |    9     9     0     0 +++++++++
 /trunk/config/debug/gdb.in        |    9     9     0     0 +++++++++
 2 files changed, 18 insertions(+)
2008-04-27 10:25:02 +00:00
Yann E. MORIN"
e6ca02b829 Configure tsocks with a simple heuristic.
Consider the proxy has to be in a 'local' network. It means it is directly
reachable by the local machine, even if the local machine has to hop through
one or more gates to reach the proxy (often the case in enterprise networks
where class A 10.0.0.0/8 is in fact sub-divided into smaller networks, each
one of them in a different location, eg. 10.1.0.0/16 in a place, while
10.2.0.0/16 would be on the other side of the world). Not being in the same
subnet does not mean the proxy is not available.

So we will build a mask with at most high bits set, which defines a network
that has both the local machine and the proxy. Because a machine may have
more than one interface, build a mask for each of them, removing 127.0.0.1
which is added automagically by tsocks, and removing duplicate masks.

If all of this does not work, then it means the local machine can NOT in fact
reach the proxy, which in turn means the user mis-configured something (most
probably a typo...).

 /trunk/scripts/crosstool.sh |   61    52     9     0 +++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 52 insertions(+), 9 deletions(-)
2008-04-26 21:31:05 +00:00
Yann E. MORIN"
08f2c57f96 Tss.... I was bieng real stupid while building up the tsocks.conf file. Implement a much simpler way.
/trunk/scripts/crosstool.sh |   27     5    22     0 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)
2008-04-20 18:04:20 +00:00
Yann E. MORIN"
59ed1ed600 Using SOCKS 4/5 proxy is no easy task:
- a machine may well be able to reach the proxy, even if it is not on the same sub-net(s) as the machine itself (absolutely legitimate)
 - tsocks.conf needs a list of so-called 'local' networks that can be reached without the need for a SOCKS connection
 - SOCKS proxies are expected to be in 'local' networks
 - there is absolutely NO way to tell what networks are local, besides the sub-net(s) the machine is in

Therefore, appropriate configuration of SOCKS 4/5 configuration is really complex, and attempts to correctly overcome this issue are doomed.

 /trunk/scripts/crosstool.sh              |   52    46     6     0 ++++++++++++++++++++++++++++++++++----
 /trunk/config/global/download_extract.in |   39    31     8     0 +++++++++++++++++++++++------
 2 files changed, 77 insertions(+), 14 deletions(-)
2008-04-18 22:16:28 +00:00
Yann E. MORIN"
b44e4e652a Fix using HTTP proxy.
/trunk/scripts/crosstool.sh              |    9     5     4     0 +++++----
 /trunk/config/global/download_extract.in |    2     1     1     0 +-
 2 files changed, 6 insertions(+), 5 deletions(-)
2008-04-18 08:41:30 +00:00
Yann E. MORIN"
301d9c8d57 Commit a long-standing eye-dcandy change in a log, that got lost in a vi crash...
scripts/build/tools/sstrip.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-04-17 19:16:17 +00:00
Yann E. MORIN"
9e9d061e01 Add an option to use a SOCKS 4/5 proxy to connect to the internet.
As for the HTTP proxy, this is completetly untested, as I have no such proxy at home.

 scripts/crosstool.sh |   45    31    14     0 +++++++++++++++++--------
 config/global.in     |   95    81    14     0 +++++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 112 insertions(+), 28 deletions(-)
2008-04-17 18:07:26 +00:00
Yann E. MORIN"
0b89b1a938 Allow using an HTTP proxy to tunnel FTP and HTTP requests.
scripts/crosstool.sh |   14    14     0     0 +++++++++++++
 config/global.in     |   54    54     0     0 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)
2008-04-13 22:46:02 +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"
34c2acc77a Patch from Michael Abbott <michael@araneidae.co.uk> to allow build to work with ancient findutils. 2008-01-28 18:40:31 +00:00
Yann E. MORIN"
d257047760 Move improperly installed gcc libraries to the sysroot.
Remove a huge comment that itself says it should have been deleted ages ago.
2008-01-16 22:15:16 +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"
4850e20c26 Fix from Marco Fonseca <mfonseca@fortresstech.com> to use the newly-built, bootstrap cross-compiler when installing glibc headers. 2007-11-02 18:55:55 +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"
8891e25cd6 Do not try to save new;y downloaded tarballs to local storage if the directory does not exist. 2007-09-23 17:18:18 +00:00
Yann E. MORIN"
b1e693e402 Renamed all patches file names so that locales are now irrelevant to sort the files.
Removed the locale check as it is now irrelevant.
Removed the experimental binutils 2.17.50.0.xx: 2.18 is here now.
2007-09-23 17:08:09 +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"
60b7c724bd Call architecture-specific functions from all scripts needing them. 2007-09-16 08:52:26 +00:00
Yann E. MORIN"
398b1b8e69 When sstrip is already downloaded, link instead of copying (as for all other
components).
A little eye-candy fix.
2007-09-16 08:27:37 +00:00
Yann E. MORIN"
0b39dc5751 Revert multilib handling. Even if we don't do multilib, we need to at least
say we don't, and not let gcc choose on its own (which it does wrong).
2007-09-16 08:24:55 +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"
8ed77399de We don't support Cygwin yet, no point in having quirks in. 2007-09-15 08:40:07 +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"
7b70a704e0 Add the framework to have architecture-specific configuration and functions.
API is not yet defined.
2007-09-14 17:43:16 +00:00
Yann E. MORIN"
ae7e017380 Small eye candy fix. 2007-09-14 17:29:39 +00:00
Yann E. MORIN"
25fb1678c0 Fix setting floating point in uClibc (thanks to Szilveszter Ordog <ordog@mail.thot-soft.com>) 2007-09-14 16:02:45 +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"
011e23d094 Add D.U.M.A. 2_5_8 and associated patches.
Fix a patch for D.U.M.A 2_5_1.
Add libelf 0.8.10, still does not build... :-(
2007-09-07 21:31:01 +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"
ec13f54483 In some cases, dmalloc fails to build when building in parallel. Do not use -j# for dmalloc. 2007-09-06 08:57:45 +00:00
Yann E. MORIN"
9f3340951a Bah, a really small cosmetic fix... 2007-09-02 16:01:30 +00:00
Yann E. MORIN"
c64da6b7d4 Print a log message when entering/leaving the two core compiler passes. 2007-09-02 09:26:57 +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"
54cca9f2ba Add the possibility to force the number of // jobs without reconfiguring. 2007-08-15 14:59:37 +00:00
Yann E. MORIN"
46e19208cd Warn when using -pipe with glibc>=2.6. 2007-08-15 14:35:11 +00:00
Yann E. MORIN"
e58af8f79e Get rid of the core cc selection. It is now the same as the final compiler. 2007-08-15 10:14:43 +00:00
Yann E. MORIN"
ecd5005989 Don't use -pipe when building glibc>=2.6: ./configure chokes on it.
(This is because "gcc -pipe --help" doesn't print what it should print).
2007-08-12 15:19:45 +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"
ab8763bedd Introduce new config option: CT_TARGET_ALIAS_SED_EXPR
This option is used as a sed expression to pass onto CT_TARGET to create an alias.
2007-08-07 19:40:38 +00:00
Yann E. MORIN"
feb0328d7a Make use of setsid to spawn removal processes: we don't want the rm's to stop if the main script fails and ends before all directories were removed. 2007-08-07 18:05:41 +00:00
Yann E. MORIN"
72caaf7717 Revert previous spurious commit. 2007-08-07 17:08:13 +00:00
Yann E. MORIN"
f1741dc507 Fix the Makefile.in to correctly remove generated documentation. 2007-08-07 17:07:39 +00:00
Yann E. MORIN"
1dc89fa058 A little cleanup in the glibc's pthread headers install. 2007-08-03 20:27:15 +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"
96ef489cb4 Tidy up a bit the uClibc config munging. 2007-07-28 11:59:37 +00:00
Yann E. MORIN"
a69e51dc7c MAKEFLAGS was leaking into some components build system (dmalloc, for example). This fixes it. 2007-07-23 19:49:35 +00:00
Yann E. MORIN"
752c190425 Fix installing a glibc header for those archs that are in ports. 2007-07-22 13:27:04 +00:00
Yann E. MORIN"
fc70acd6e7 Update the download messages for sstrip.c to the same mesages used in scripts/functions. 2007-07-17 21:55:15 +00:00
Yann E. MORIN"
3f4ac101f2 When isntalling aliases, send symlinks creation to CT_DEBUG log level. 2007-07-17 21:41:39 +00:00
Yann E. MORIN"
1a32a0fbbc Remove the symlinks to the build/host tools earlier. 2007-07-17 21:38:35 +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"
d393b01cb1 Redirect the strace build messages to the logger! 2007-07-14 16:41:03 +00:00
Yann E. MORIN"
75fdf70a6c Print a message when installing populate. 2007-07-14 13:09:51 +00:00
Yann E. MORIN"
e4a493abc9 Add ltrace (and libelf) utilities.
Marked as BROKEN for others to debug that if they need it.
2007-07-13 12:22:34 +00:00
Yann E. MORIN"
7eeab77560 Add a test for lynx (needed to download sstrip.c from buildroot). 2007-07-13 10:26: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"
28f92e8b09 Add strace debugging aid. 2007-07-12 13:34:56 +00:00
Yann E. MORIN"
b405d20839 Use "$CT_CC}" instead of "gcc" when calling target compilers. 2007-07-12 13:22:26 +00:00
Yann E. MORIN"
21842b5910 Add D.U.M.A., the Electric Fence successor. 2007-07-12 08:47:15 +00:00
Yann E. MORIN"
429be50c73 Fix linking target-cc to target-gcc. 2007-07-12 08:46:50 +00:00
Yann E. MORIN"
a140410cfa Fix a type in the debug and tools templates. 2007-07-11 21:01:37 +00:00
Yann E. MORIN"
c818d161bf Change the target-cc link from soft to hard. This way, there's no soft link in this directory. 2007-07-11 14:51:38 +00:00
Yann E. MORIN"
1f16f7a6f7 Add a utility to populate a root directory with libraries from the toolchain. 2007-07-08 17:44:59 +00:00
Yann E. MORIN"
8b99fa0955 More uClibc parrallel compilation cleanup. 2007-07-07 16:12:38 +00:00
Yann E. MORIN"
f6e904567f Parrallel compilation is broken for uClibc (I don't know if any of my patches is doing it, or if mainline is already broken). 2007-07-07 16:11:17 +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"
1319b8882a Before trying to download sstrip (from buildroot), try a local copy first. 2007-07-04 21:56:14 +00:00
Yann E. MORIN"
5b1af13ea6 Make checking the linux installed headers optional (instead of systematic). 2007-07-03 22:16:42 +00:00
Yann E. MORIN"
9265403b8b Get rid of eclipse fiels once and for all.
Homogenise the references to crosstool-NG:
  - the project is named "crosstool-NG"
  - the front-end is named "ct-ng"
  - don't use shortcuts (such as "ct-ng" to stand for "crosstool-NG")
Default action is to print help.
Don't speak of make rules when dumping help, just speak of actions.
2007-07-02 19:40:54 +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"
b9f843657a Offer an option to build the gdbserver statically. This helps in case of debugging shared library loading. 2007-06-17 15:46:13 +00:00
Yann E. MORIN"
7746415b7d The log file is no longer configurable: it is always "${CT_PREFIX_DIR}/build.log".
Add an option to compress the log file upon successfull build.
Make rendering the toolchain read-only optional.
A few eye-candy fixes.
2007-06-17 14:51:37 +00:00
Yann E. MORIN"
ca5213a387 scripts/showSamples.sh:
- revert sample dumping to not show the components versions;

docs/overview.txt:
  - reorder docs/overview.txt so that configuring comes before running,
  - tell about regtest;

Makefile:
config/global.in:
  - point to docs/overview.txt for the list of steps;
2007-06-17 12:11:16 +00:00
Yann E. MORIN"
eae28ee8af Add the "regtest" make target: call "make regtest", and all samples wil be built, and a tarball made for each of them. First sample to fail causes the test to stop. 2007-06-17 11:13:48 +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"
d8bc11b165 Fix printing components' file names. 2007-06-16 21:44:45 +00:00
Yann E. MORIN"
37cce18efa Add a function to print each component's filename: this eases building the tarball of the generated toolchain.
Hard-link the libfloat tarball instead of soft-link: this also eases building the afore-mentioned tarball.
2007-06-16 18:08:14 +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"
c9c11c9768 Add two te;plates on how to add a new tool/debug facility. 2007-06-16 17:41:01 +00:00
Yann E. MORIN"
ef364dc50a Stale log files are now named "log.*", not "*.log". 2007-06-04 17:51:55 +00:00
Yann E. MORIN"
04882814af Small eye-candy fix. 2007-06-04 17:35:14 +00:00
Yann E. MORIN"
c3badb0b8a Be a little more explicit when the user wants to restart a non-restartable build. 2007-06-02 15:50:45 +00:00
Yann E. MORIN"
88b6a540e3 Revert revision 201: renaming the two cc_core passes was a bad idea. 2007-06-02 08:13:13 +00:00
Yann E. MORIN"
53a759c552 scripts/build/libc_glibc.sh:
- clean up addons list creation,
 - make NPTL work again with this.
2007-06-02 07:56:45 +00:00
Yann E. MORIN"
4d84cd7db1 Rename two steps to their real names:
- cc_core_pass_1 is really cc_core_static,
 - cc_core_pass_2 is really cc_core_shared.
2007-06-01 20:06:22 +00:00
Yann E. MORIN"
d472c9b951 Add the first tool facility: sstrip. 2007-06-01 17:00:43 +00:00
Yann E. MORIN"
51554bf237 Introduce the notion of tols facilities (none so far, sstrip coming right away...). 2007-06-01 16:55:33 +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"
2f451b0094 Fix and enhance the STOP/RESTART facility. 2007-05-28 21:33:35 +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"
e163ff9125 Fix libfloat when calling the compiler:
- when not compiling NPTL, the shared core C compiler does not exist,
 - PATH arranges for the shared core C compiler to be found before the static one, so no need to force it.
2007-05-27 21:30:34 +00:00
Yann E. MORIN"
080d42255c Forgot to remove all build system tools from the generated toolchain. 2007-05-27 20:23:41 +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"
e49e7c80a2 In the non-canadian case, also force the build system. 2007-05-24 19:00:26 +00:00
Yann E. MORIN"
814e303c3c We need to build libiberty before gcc only in the canadian case, not the opposite. 2007-05-24 17:49:24 +00:00
Yann E. MORIN"
ed8b7c0bab Correctly handle the log level overide in scripts/tarball.sh. 2007-05-23 21:40:57 +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"
af0f7c4d33 Correctly handle the log level overide in scripts/saveSample.sh.
Little eye candy in scripts/showSamples.sh.
2007-05-23 19:07:54 +00:00
Yann E. MORIN"
2e925f1569 Mark broken samples as such: use a file named 'broken' in the sample's directory.
Reflected this state when listing samples (in scripts/showSamples.sh).
2007-05-22 21:18:55 +00:00
Yann E. MORIN"
a7a625877c Be verbose when making build system tools available, and when access is removed. Log this to DEBUG.
Remove last remnants of color scheme.
Small fixes to some comments.
2007-05-22 21:16:17 +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"
fee99394cd Fix warning about setting --host and not --build. 2007-05-22 20:36:05 +00:00
Yann E. MORIN"
6f797c35f0 Upgrade scripts/tarball.sh and scripts/saveSample.sh to use the new logging facility. 2007-05-22 20:33:43 +00:00
Yann E. MORIN"
d3b53b8a20 Move the config script for the build dir to the source dir.
That will be useful when we have the restart functionality.
2007-05-21 22:01:28 +00:00
Yann E. MORIN"
94960ef7c3 Fix gdb to install in CT_PREFIX_DIR rather than CT_INSTALL_DIR.
One day, I swear, I will implement the install directory option. But later.
2007-05-20 16:18:40 +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"
aa6ae43fd7 Add uClibc-0.9.29:
- associated patch set
  - update the munging function to accomodate the new config variables
libfloat version was missing from the previous commit... :-(
Better handle the case where the sample directory already exist but isn't under revision control, and in case the destination file doesn't exist in the sample directory.
2007-05-19 22:52:47 +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"
41e8d132ce Un-mark gdb and dmalloc being EXPERIMENTAL.
Mark native gdb as being EXPERIMENTAL (it depends on termcap, which we don't have yet).
2007-05-18 19:55:49 +00:00
Yann E. MORIN"
db2d59f091 Little fix up in a message during the dmalloc build. 2007-05-18 15:59:22 +00:00
Yann E. MORIN"
5e43e3ea86 Add dmalloc debug library facility.
Add patches for dmalloc.
Ignore the generated config/debug.in
2007-05-18 15:57:16 +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"
4f4aa3cfb5 Remove even more documentation. 2007-05-18 15:48:11 +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"
721da92158 Move the whole threading ;odel choice out of glibc and into the generic C library options: even uClibc may have NPTL at one point in the (hopefully near) future.
Mark the progress bar as being CPU-intensive.
Little style fix to the core C compiler build step.
2007-05-14 19:59:41 +00:00
Yann E. MORIN"
9ce8af9fa5 Oupsss... Didn't save scripts/crosstool.sh prior to comiting. :-( 2007-05-13 21:12:56 +00:00
Yann E. MORIN"
4ef6286f11 Remove dead entries for components not yet integrated: cygwin kernel, tcc...
Some fixups in config entries, to avoid warnings when parsed by the kconfig parser.
2007-05-13 21:11:27 +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"
ffabd44084 New make target to save the configured nad built!) toolchain. 2007-05-12 09:54:29 +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"
c828dadf4b Clean the sample saving script. 2007-05-10 16:22:44 +00:00
Yann E. MORIN"
d4bbd9ff11 libfloat is a component by itself, not a sup-part of the C library. 2007-05-09 18:55: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"
9bed636293 Beautify the progress bar. 2007-05-08 20:24:26 +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"
ea1ed9627e Cosmetics: newline at end of file, ports are now a separate option. 2007-05-08 12:12:40 +00:00
Yann E. MORIN"
1bfad917b6 Print the major components and their version when calling "make help". 2007-05-08 10:57:34 +00:00
Yann E. MORIN"
095dfdceab Bah. Be silent when there is nothing to do: glibc has no config (file) to check. 2007-05-08 10:52:39 +00:00
Yann E. MORIN"
8df61a2186 Don't make checking the kernel config file a step by itself. Only make it a step if we need a not-provided kernel config file. 2007-05-07 22:09:36 +00:00
Yann E. MORIN"
13e8e5c773 Simplify kernel config file need.
Don't build a default config file when not needed.
2007-05-07 21:45:31 +00:00
Yann E. MORIN"
64d804c4f6 Fix glibc and uClibc downloading and extracting.
Although we no longer need the kernel config file, we now need to specify the kernel source directory when installing headers.
Re-order components downloading to match build order.
Fix the saveSample.sh script in case the referenced files are the same as the destination files.
2007-05-07 15:57:02 +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"
45e6df196b Linux kernel headers install does not need the kernel to be configured. Dropping this unneccessary step. 2007-05-06 21:47:29 +00:00
Yann E. MORIN"
3aa41a1751 Some little cosmetics in final compiler. 2007-05-01 09:03:40 +00:00
Yann E. MORIN"
4902ad7b07 The linux kernel config file is now optional. If none is given, a default one is created using the default target for the given architecture. 2007-04-23 21:06:09 +00:00
Yann E. MORIN"
dfe9efd35f Fixed a non-fatal bug in a sed expression.
Some cosmetics as well.
2007-04-23 21:03:49 +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"
9d86cde662 Merge missing ABI code from the MIPS branch. 2007-04-23 20:27:40 +00:00
Yann E. MORIN"
c1efc08c09 Merge first shot from the MIPS branch. 2007-04-21 17:31:51 +00:00
Yann E. MORIN"
66bc1c8896 Try to further fix using of the build and/or host tools for binutils to build properly. 2007-04-18 11:55:52 +00:00
Yann E. MORIN"
f1143ea8e9 Add an option for those having the kernel headers pre-installed from a customised local tree.
In that case, neither download, nor extract, nor patch.
2007-04-11 21:26:03 +00:00
Yann E. MORIN"
be398a9031 Ah! Recent versions of binutils need some of the build system (read CT_BUILD) tools to be accessible (ar is but an example).
Fix typo.
2007-04-10 16:05:59 +00:00
Yann E. MORIN"
0e479dbc93 Update config.guess.
Minor comment fix.
2007-04-10 14:55:15 +00:00
Yann E. MORIN"
aaea34768c Patch from Enrico WEIGELT <weigelt@metux.de> to disable __cxa_atexit for those C libraries with no support (old uClibc). 2007-03-21 21:03:22 +00:00
Yann E. MORIN"
a4a2447346 Fix C library addons/locales downloading.
Prepare for using the ports addon easily.
2007-03-10 14:46:35 +00:00
Yann E. MORIN"
dcdd2844e4 Add an option to remove the generated documentation.
(After an idea from Enrico Weigelt <weigelt@metux.de>).
2007-03-07 19:00:10 +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