Commit Graph

361 Commits

Author SHA1 Message Date
Yann E. MORIN"
2f718dd60c complibs: fixup the host complibs install dir
It's easier to have as much as possible stuff in the same place to
ease backup/restore, and make things easier to follow.

Move the host companion libraries install dir as a sub-dir of the
build-tools install dir (but not directly in it, it would break
for canadian or cross-native).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-25 19:04:17 +02:00
Yann E. MORIN"
e960f66953 cc/gcc: install the core compilers in the build-tools dir
There really is no good reason to install the core compilers in their
own places, one for each pass. We can install them with the other
build tools.

Also, this implies that:
 - there are fewer directories to save/restore
 - there are fewer symlinks to create for binutils
 - the PATH is shorter

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-01 17:49:44 +01:00
Yann E. MORIN"
c0475188cb functions: add new helpers that create a dir and cd/pushd into it
A lot of places are currently doing:
    mkdir -p foo/bar
    cd foo/bar

Or even:
    mkdir -p foo/bar
    pushd foo/bar
    [...]
    popd

Provide both wrapper to ease doing this.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-24 20:08:13 +02:00
Yann E. MORIN"
301cadf45d configure: fix kconfig option names
In the process of converting to autoconf, the kconfig option
were not properly translated.

Fix that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2012-01-16 23:45:16 +01:00
Yann E. MORIN"
964f379a42 scripts: fix dumping execution backtrace
Dumping the backtrace has been broken since changeset #652e56d6d35a:
    scripts: execute each steps in a subshell

We can spawn sub-sub-shells in some cases.

The way the fault handler works is to dump the backtrace, but to avoid
printing it once for every sub-shell (which could get quite confusing),
it simply exits when it detects that it is being run in a sub-shell,
leaving to the top-level shell the work to dump the backtrace.

Because each step is executed in its own sub-shell, the variable arrays
that contain the step name, the source file and line number, are lost
when exiting the per-step sub-shell.

Hence, the backtrace is currently limited to printing only the top-level
main procedure of the shell.

Fix this thus:
- when dumping the bckatraces for the steps & the functions, remember
  it was dumped, and only dump it if it was not already dumped
- at the top-level shell, print the hints

Also, rename the top-level step label.

Reported-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13 23:32:39 +01:00
Titus von Boxberg
f084787743 scripts/functions: extract: portable call for old and defective tars
Instead of using -J, --lzma, --use-compress-program or the like
use <compressor> -dc <file> | tar -f -

Signed-off-by: Titus von Boxberg <titus@v9g.de>
2011-11-22 10:08:10 +01:00
Yann E. MORIN"
72f1c0b405 scripts/functions: use endian string in tests
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20 21:01:34 +01:00
Yann E. MORIN"
7e07a5043b scripts: use wget, not curl
It seems wget is more popular than curl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-07 21:40:28 +01:00
Yann E. MORIN"
4fc56b1d14 arch: add softfp support
Some architectures support a mixed hard/soft floating point, where
the compiler emits hardware floating point instructions, but passes
the operands in core (aka integer) registers.

For example, ARM supports this mode (to come in the next changeset).

Add support for softfp cross compilers to the GCC and GLIBC
configuration. Needed for Ubuntu and other distros that are softfp.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19 15:27:32 +13:00
Yann E. MORIN"
67ede2f5d4 scripts: use the hardfloat option to set configure and CFLAGS
When hardfloat is selected, we need to pass that selection down to
./configure and in the CFLAGS.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19 15:27:32 +13:00
Yann E. MORIN"
28e54116c3 scripts: introduce float type as a string
With the upcoming softfp support, the case..esac test would become
a bit convoluted if it were to test three different booleans.

Introduce a new blind string config option that defaults to the
selected floating point type used.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19 15:27:32 +13:00
Yann E. MORIN"
0c06bd8cae scripts/functions: Fix CT_ExtractGit function.
Change CT_ExtractGit so that it clones the repository, instead of just
symlinking it.  After cloning, any given ref is checked out, or if no
ref is given, the HEAD of the repository is checked out.

This makes CT_Extract behave similar for git repositories as it does
for tarballs, so that it for example can be used for passing glibc-ports
as a git repository.

Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk>
[yann.morin.1998@anciens.enib.fr: fix incomplete var rename]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-07 15:06:44 +02:00
Yann E. MORIN"
77436f025f scripts/functions: only use passive FTP
Virtually all FTP server available on-line support passive FTP.
At least, this is the case for the servers crosstool-NG needs to
connect to.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-09 15:48:59 +02:00
Yann E. MORIN"
4b0155c24f scripts/functions: only use one download program
Currently, we use either wget or curl, whichever is installed.
In case both are installed, both are used. This means that it
takes a while trying all extensions.

Remove use of wget, and use only curl.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-09 15:34:04 +02:00
Yann E. MORIN"
4c1666134b configure: xz-utils alone can also handle LZMA-compressed tarballs
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-26 00:07:51 +02:00
Yann E. MORIN"
04250cc896 configure: check for lzma
Some packages are available as LZMA tarballs. LZMA is a relatively recent
compression algorithm; it's slightly better than bzip2, but offers much
faster decompression. LZMA is now deprecated in favor of XZ, but some
packages switched to LZMA when XZ was not yet available, or still in its
infancy. Latest XZ (which totaly obsoletes LZMA) offers a backward LZMA-
compatible utility, so we can check for 'lzma' nonetheless.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-25 18:30:18 +02:00
Yann E. MORIN"
09e5711dcb scripts/functions: add xz support
Add support for the new XZ-compressed tarballs. At least glibc
uses that new format.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-14 17:51:38 +02:00
Yann E. MORIN"
3910899c77 scripts/functions: test for decompressors before use
./configure does check for the presence of gz and bzip2, so we can
safely use them in the build scripts.

On the other hand, more recent formats (eg. XZ) are not yet widely
available, and we do not want, and can't, force the user to install
them as a pre-requisite.

So, build up a list of allowed tarball formats based on the available
decompressors. For no, this is a static list, but the upcoming XZ
support will conditionnaly add to this list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-04 00:04:23 +02:00
Yann E. MORIN"
ac058b1042 scripts/functions: commonalise tar options in CT_EXtract
This shortens command lines, so it's good! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-14 17:28:35 +02:00
Yann E. MORIN"
37db634a00 scripts/functions: remove messages about failed downloads
When downloading via svn/cvs/... an attempt to retrieve from the
mirror is made. If the mirror does not have the required tarball,
an error message is printed. This is misleading, as the download
may later succeed via svn/cvs/...

Remove the messages about failed downloads altogether.

At the same time, use "if ... then ... fi" instead of "... && ..."

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-10 23:09:06 +02:00
Yann E. MORIN"
03c3e02fb7 scripts: try the mirror even if downloads are forbidden
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-02 23:10:37 +02:00
Yann E. MORIN"
263c92b3eb scripts/functions: use array variables for URLs list
This is needed later, when we'll conditionnally use both the
upstream and the mirror URLs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-03 00:00:44 +02:00
Yann E. MORIN"
bb3519ad37 scripts/functions: always prefer the mirror
Currently, the mirror can be used either:
 - as a fallback in case upstream is unavailable (default behavior)
 - as the preferred source for downloads

But the most common use-case seems to provide a truely-LAN mirror
to speed up downloads in big corpos', and/or provide a 'trusted'
source for the tarballs.

So, make the following changes;
 - if a mirror is specified, always try that before trying upstream

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-02 23:11:25 +02:00
Yann E. MORIN"
cba6269810 scripts/functions: cvs retrieval first tries the mirror for tarballs
The cvs download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via cvs.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard cvs retrieval will kick in.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-02 18:26:53 +02:00
Yann E. MORIN"
5f79506725 scripts/functions: svn retrieval first tries the mirror for tarballs
The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-02 18:28:10 +02:00
Yann E. MORIN"
20b5380556 scripts/functions: if no upstream URL is given, silently ignore that
When retrieving tarballs from upstream, if no URL was given, do not
fail; simmply ignore that fact.

This will be used later when the SVN helper will call the standard
helper to try the LAN mirror before trying svn.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-08-01 18:56:15 +02:00
Benoît THÉBAUDEAU"
6c7f5488ee scripts/functions: force extract folder to archive basename
Some archives like those of the 2011.07 revisions of Linaro GCC contain a folder
name different from the archive basename, which leads to errors afterwards, e.g.
when patching. E.g.:
gcc-linaro-4.5-2011.07.tar.bz2 extracts to gcc-linaro-4.5-2011.07-0/

This patch changes CT_Extract() to force the extraction of all archives to a
folder named like the archive basename. E.g.:
gcc-linaro-4.5-2011.07.tar.bz2 now extracts to gcc-linaro-4.5-2011.07/

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-29 13:04:49 +02:00
Yann E. MORIN"
7f504c6c27 functions: save & restore the static companion libraries install dir
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02 22:30:55 +02:00
Yann E. MORIN"
3299aa7685 functions: fix downloading files
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02 23:56:13 +02:00
Yann E. MORIN"
3304d5c077 scripts/functions: do not abort on failed svn
In case of eglibc, some add-ons that were previously external are
now internal (bundled with the main sources).

So we do not want to fail if an add-on can't be downloaded; we
want to post-pone the check until we can extract the main archive.

So:
 - try to retrieve the add-on
 - if it fails, print a warning instead of calling CT_Abort
 - return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing retrieval procedure! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-31 00:57:36 +02:00
Yann E. MORIN"
1c3c90d0d4 scripts/functions: do not abort on failed extract
For glibc/eglibc, if the add-on can not be extracted, we want to catch
the error to print a meaningful error message.

So:
 - try to extract the tarball
 - if it fails, print a waring instead of calling CT_Abort
 - return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing extract procedure! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-30 23:24:45 +02:00
Yann E. MORIN"
0c73370023 scripts/functions: do not abort on failed download
In case of glibc/eglibc, some add-ons that were previously external are
now internal (bundled with the main sources).

So we do not want to fail if an add-on tarball can't be downloaded; we
want to post-pone the check until we can extract the main archive.

So:
 - try to download the tarball
 - if it fails, print a warning instead of calling CT_Abort
 - return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing retrieval procedure! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-30 23:24:11 +02:00
Yann E. MORIN"
81862cd306 functions: pretty print error messages
Reformat the error messages:
 - strip ${CT_LIB_DIR} from scripts path names
 - strip ${CT_TOP_DIR} from build.log path and docs path
 - overall shorter lines
 - point to the known-issues file

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-08 00:08:57 +02:00
Yann E. MORIN"
bdf0b26e19 functions: fix date calculations
In case date(1) does not support nanosecond resolution, it does
not interpret '%N', and leave it as-is. So we have to remove it.

Note that some versions replaces '%N' with 'N', so we have to
take this into account as well.

Reported-by: Kyle Grieb <grieb.kyle@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-08 00:02:44 +02:00
Javier Viguera
98ceb8faf3 functions: avoid CR when progress bar is not enabled
Using CT-NG with progress bar disabled, still prints CR ('\r') characters
on the output. When you capture the output to a file as part of an
automated build, it shows extra empty lines.

For example:

------------------------------------------------------------
[INFO ]  Performing some trivial sanity checks

[INFO ]  Build started 20110404.113619

[INFO ]  Building environment variables

[EXTRA]  Preparing working directories

[EXTRA]  Installing user-supplied crosstool-NG configuration
------------------------------------------------------------

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2011-04-07 11:52:23 +02:00
Yann E. MORIN"
5e27ad1e5a complibs: disable building shared libs
Managing the shared version of the companion libraries
has become cumbersome.

Also, it will one day be possible to use the companion
libraries from the host distribution, and then we will
be able to easily use either shared or static libs.

As a side note, while working on the canadian-rework
series, it has become quite more complex to properly
handle shared companion libraries, as they need to be
built both for the build and gost systems. That's not
easy to handle. At all.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-06 22:30:57 +02:00
Yann E. MORIN"
807daf12d0 scripts: allow logging of commands with variables
In a lot of places, we need to call some commands with specific
variable settings, a-la:
  var1=val1 var2=val2 /foo/bar/buz opt1 opt2

Unfortunately, we currently can not log the variable settings.

Enhance CT_DoExecLog with a crude heuristic that works pretty well
and that can also log setting variables.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-15 23:18:37 +01:00
Yann E. MORIN"
7bfa4139ad scripts: leave changelog in build dir, copy to install dir
Users tend to look for the build log in the current working directory,
rather than in the toolchain's installation dir. While bundling the build
log in the toolchain installation dir is nice for distribution and review,
it can be easier to have the build log readily available in the working
directory, as it is quicker to get to it.

So, the build log stays in the working directory until the toolchain is
completely and successfully built, and then a (compressed) copy is made.

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:02:21 +01:00
Yann E. MORIN"
32fd4c0963 scripts: do not chmod u+w the whole source directory
Doing a chmod on the whole source dir after every packages
are extracted can take a hell of a lot of time.

The offending packages are far from legion, and they now
have their own chmod u+w to cleanup their own mess...

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 23:46:03 +01:00
Yann E. MORIN"
742a6f6508 buildtools: the buildtools dir is in fact a prefix
Consider the buildtools install directory as a prefix directory,
that is, install buildtools in prefix/bin/, not in prefix/.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-20 00:07:29 +01:00
Yann E. MORIN"
5d175195f6 buildtools: move to working directory
There is absolutely *no* reason for the buildtools (wrappers to gcc, g++,
as, ld... for the local machine) to be in the toolchain directory. Moreover,
they are removed after the build completes.

Move them out of the toolchain directory, and into the build directory (but
yet the part specific to the current toolchain). This means we no longer
need to explicitly remove them either, BTW, but we need to save/restore them
for the restart feature.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-23 20:43:32 +01:00
Yann E. MORIN"
8efc6dae8a scripts: fix double slash in paths
Computed paths may contain double slashes.
This is not an issue but it is just ugly to look at.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 21:59:03 +01:00
Yann E. MORIN"
28c5ee8baf scripts: recover on partially downloaded files
Download to an intermediate temp file, and rename it to its final
name only of download succeeds.

This catches both a failed download, and also the case where the user
interrupts the download. Thus, the a partial download gets discarded,
and we no longer try to extract a partial tarball, which we would
previously have done.

Suggested by Thomas PETAZZONI.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-29 00:26:39 +01:00
Yann E. MORIN"
af6dd3f3f0 scripts: call curl and wget in sequence
It can happen, in some circumpstances, than one can succeed where
the other would fail. Those cases involves convoluted enterprise
networks with proxies playing tricks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 17:49:15 +01:00
Yann E. MORIN"
9dbbc8e5f6 scripts: remove aria2c as downloader, retain only curl and wget
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 10:00:27 +01:00
Anthony Foiani
90918d1095 scripts: add STATE logging level for state save/restore output.
The save/restore state output is voluminous; using this flag allows us
to quickly see or ignore when something is just being saved.

[Yann E. MORIN: this is a blind log level, and is used only to search
 in the build-log afterward.]

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22 22:02:49 +02:00
Anthony Foiani
92898249bd scripts: add "FILE" and "CFG" debug levels.
I ran into some minor difficulties looking through the build log for a
particular file: I wasn't interested in seeing it unpacked, but only
when it is built or installed.  Adding these two levels allows me to
differentiate between those cases.

[Yann E. MORIN: Those are blind log levels, and are used only to search
 in the build-log afterward.]

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22 22:02:57 +02:00
Yann E. MORIN"
cb1a6420e9 complibs: better deduce whether to backup complibs or not
To decide whether we need to backup the companion libraries,
do not rely on the !shared case. In the future other cases
may require not to save the companion libraries (eg. if using
the ones provided by the host distro).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-03 23:10:46 +02:00
Yann E. MORIN"
ae715a0a3c scripts/log: do not interpret log string as printf format
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-26 23:36:54 +02:00
Yann E. MORIN"
e8f9aeade3 scripts: in case of failed download, remove partial files
It happens from time to time that the server mis-behaves, and breaks the
connection right in the middle of nowhere, for no good reason, leaving us
with a partial file, on which the extract pass would choke.

Remove partial downloads, to fail early.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 20:07:18 +02:00
Yann E. MORIN"
63235bd89c scripts: when downloading, use aria2 only when //
Even when // downloads are not enabled, aria2 can
fail on some servers (eg. uclibc.org).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 19:13:10 +02:00
Johannes Stezenbach
6d084fb565 Fix CT_SanitizePath
Replace the over-engineered and buggy test in CT_SanitizePath
with a straight forward string pattern match, and also
handle empty PATH elements which are qeuivalent to ".".

Thanks-To: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Johannes Stezenbach <js@sig21.net>
2010-07-30 17:50:34 +02:00
Yann E. MORIN"
8bd0034057 scripts: remove . from $PATH
Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL  ]    checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL  ]    config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-29 19:30:37 +02:00
Yann E. MORIN"
2ad6d48f78 scripts/functions: recognise Cygwin build hosts 2010-07-18 00:34:38 +02:00
Titus von Boxberg
47af4ebf45 scripts/functions: Use stat correctly on non-GNU (BSD/Darwin) systems.
Call to get the directory mode depending on $CT_SYS_OS

yann.morin.1998@anciens.enib.fr:
CT_SYS_OS has changed on Linuxsystem, it only gets the kernel name "Linux",
and not the system name, 'GNU/'.
2010-05-19 18:22:32 +02:00
Yann E. MORIN"
55ba3f6378 scripts/functions: log the test strings 2010-04-13 22:54:57 +02:00
Yann E. MORIN"
e87fb32624 scripts/functions: compress with gzip level 3, as stated in the documentation
Thanks to Bruno Tarquini <btarquini@gmail.com> for the report.
2010-04-13 21:47:34 +02:00
Yann E. MORIN"
2d54ce4a2c scripts/functions: add a save/restore handler
Saving and restoring the steps requires saving/restoring multiple
directories. Depending on the configuration, some may not exist.

Add a wrapper that checks before creating/extracting the tarballs.
2010-04-13 20:52:38 +02:00
Yann E. MORIN"
09154a7162 scripts/functions: fix CT_Patch again 2010-04-13 20:05:47 +02:00
Yann E. MORIN"
0f52a4c2de scripts/functions: fix CT_Patch 2010-04-13 00:07:00 +02:00
Yann E. MORIN"
bf86627982 scripts/functions: make CT_Patch dumber
It is the responsibility of the caller to split the package name from
its version. It already knows that.
2010-04-11 23:18:10 +02:00
Bart vdr Meulen
d068fcb19c scripts: prevent trailing - in CT_TARGET
Not all target tuples consist of an VENDOR, KERNEL and SYSTEM part, build up the
tuple in such a way to no extra or trailing dashes are added to CT_TARGET

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
2010-04-09 21:04:27 +02:00
Yann E. MORIN"
58de741ecf complibs: save directory with static complibs for stop/restart 2010-04-11 15:37:53 +02:00
Titus von Boxberg
f65b10457b scripts/functions: fix date munging when ns are not available
On some systems (eg. *BSD and Darwin), date does not support nanoseconds
(%N) precision. Instead of printing '%N' in this case, it just prints 'N'.
Fix the sed expression to handle this case.
2010-02-03 00:24:24 +01:00
Yann E. MORIN"
b44a9d9e34 scripts: Do not create backup files when patching
Some patches may apply with offset and/or fuzz, and would leave .orig files.
2010-01-31 12:07:44 +01:00
Yann E. MORIN"
58a53e7bf6 scripts/functions: add git wrapper
Add a git wrapper to retrieve components from their git tree.
Add a git wrapper to create a working copy (in our tarballs dir).
Recognise git trees when searching for local copies.
2010-01-14 20:54:47 +01:00
Yann E. MORIN"
e3a4063ac6 scripts/functions: change handling of nochdir
- 'nochdir' must be the first option
- have systematic pushd/popd, even if nochdir
2010-01-12 19:24:03 +01:00
Yann E. MORIN"
994427dbbe scripts/functions: do not compute CT_KERNEL_ARCH, it's obsolete
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 19:02:46 +01:00
Yann E. MORIN"
9bfea69431 scripts/functions: inverse log level ALL and DEBUG 2010-01-16 17:52:44 +01:00
Richard Strand
185ea5a640 scrips/functions: fix downloads using curl
By default curl doesn't folow redirects. This breaks sourceforge downloads.
Add the -L option to curl to fix this.

Curl also downloads the html as a file even when it gets a 404. This breaks
http downloads when using the failback system. Add the -f option to curl to fix
this.

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-01-10 15:19:25 +00:00
Yann E. MORIN"
28d1a52859 scripts/functions: fix extraction 2010-01-09 17:31:25 +01:00
Yann E. MORIN"
a272b32bba config: don't force the vendor part in the tuple
Note however that some configurations (eg. arm-elf) will still
have the vendor part 'unknown' forced in (by config.sub).
2010-01-07 23:05:30 +01:00
Yann E. MORIN"
009eb2a247 scripts: protect against partially extracted source
In case of failure (eg. user hitting Ctrl-C), avoid extracting over
partially extracted source. Will help once we have git available.
2009-11-30 21:34:50 +01:00
Yann E. MORIN"
01a58679df scripts: handle custom or empty extension when extracting 2009-11-30 00:05:45 +01:00
Yann E. MORIN"
135ea6486f scripts/functions: do not double check if downloads are allowed
Only call the *_get functions if downloads are allowed, so there
is no need to check it again in the retrieval wrappers.
2009-11-25 20:36:04 +01:00
Yann E. MORIN"
9b5d316acc scripts/functions: make aria2 less verbose when downloading 2010-01-03 16:30:35 +01:00
Yann E. MORIN"
c20e01d094 scripts/functions: fix downloading with aria2
In case the remote file does not exist (and probably for some
other reasons as well), aria2 nonetheless creates an empty file
(or not empty for some other reasons).

The solution is to delete the file whenever aria2 fails.
2010-01-01 17:09:52 +01:00
Yann E. MORIN"
b9eba0996a scripts/functions: fix using Aria2
Latest aria2 no longer recognise the --retry-wait option.
2010-01-01 12:27:06 +01:00
Yann E. MORIN"
04c68600ea scripts/functions: add aria2, a powerfull downloader
aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
2009-12-30 15:36:22 +01:00
Yann E. MORIN"
2c077d6fac scripts/functions: simplify wget vs. curl check 2009-12-29 22:11:09 +01:00
Yann E. MORIN"
2b212bccad config/global: enable not using patches at all
It can be needed to build a toolchain with no patch at all.
2009-11-16 20:15:45 +01:00
Yann E. MORIN"
49e5b08739 libc/newlib: allow using CVS snapshots
The newlib "team" rolls new releases about once a year (december).
This is quite a long time between releases, in case code was fixed.
So, allow user to use a CVS snapshot to benefit early from fixes
and enhancements to newlib.
2009-10-26 22:00:30 +01:00
Yann E. MORIN"
e73418236d functions: allow using sub-dir of a module
Some projects' module (eg. newlib) are checked-out into a sudirectory
rather than into their own directory. Handle this case in the CT_GetCVS
function.
2009-10-26 19:49:50 +01:00
Yann E. MORIN"
68b9b30f6b libc/newlib: allow using newlib with archs other than avr32 2009-10-21 22:51:39 +02:00
Frederic Roussel
1215142d57 scripts/functions: Fix a variable name.
Signed-off-by: Frederic Roussel <fr.frasc@gmail.com>
2009-10-23 09:48:22 -07:00
Yann E. MORIN"
9ce2053352 log functions: fix CT_DoLog and CT_DoExecLog
$@ and $* are different when in double quotes; use $* to print the message.
2009-09-06 16:49:20 +02:00
Yann E. MORIN"
2efc2b2319 config: add fallback to patch order
Add the possibility to fallback to either bundled or local patches
if local or bundled are missing.
2009-08-31 12:47:58 +02:00
Yann E. MORIN"
b09e70bda5 config: add the local,bundled patch order
This ordering first applies the local patches, then the bundeld ones.
2009-08-31 12:51:53 +02:00
Yann E. MORIN"
dc836b5e4d config: make selecting the patch origin a choice rather than a bool 2009-08-31 12:05:52 +02:00
Yann E. MORIN"
c992de9eb5 functions: do not over-detect error when patching 2009-08-31 11:57:13 +02:00
Yann E. MORIN"
4cd607512b [functions] Allow newlines (\n) in log messages
Allow caller to log messages with embedded newlines when calling
CT_DoLog and other logging functions (eg. CT_Abort...).
2009-06-22 21:51:13 +02:00
Yann E. MORIN"
9a954cd1a2 /devel/gcc-4.4:
- functions: add a utility function that sets and exports LD_LIBRARY_PATH

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/functions |   30    30     0     0 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
2009-05-27 21:07:37 +00:00
Yann E. MORIN"
1805f4e62d There's no longer any reason to require GNU awk:
- the only part that required it (socks proxy settings) is gone,
- all remaining awk scripts are POSIXly correct (or should be).

 -------- diffstat follows --------
 /trunk/configure                     |    5     2     3     0 ++---
 /trunk/Makefile.in                   |    2     0     2     0 --
 /trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 /trunk/scripts/build/internals.sh    |    1     0     1     0 -
 /trunk/scripts/build/mpfr.sh         |    2     1     1     0 +-
 /trunk/scripts/functions             |    4     2     2     0 ++--
 /trunk/scripts/saveSample.sh.in      |    4     2     2     0 ++--
 7 files changed, 8 insertions(+), 12 deletions(-)
2009-04-20 21:10:03 +00:00
Yann E. MORIN"
9643bcbb55 Simplify the mirror settings.
-------- diffstat follows --------
 /trunk/scripts/functions         |    7     3     4     0 ++---
 /trunk/config/global/download.in |   60    14    46     0 +++++++++++-----------------------------------
 2 files changed, 17 insertions(+), 50 deletions(-)
2009-04-19 16:58:21 +00:00
Yann E. MORIN"
15e04fe2de Get rid of the proxy settings, once and for all.
They have nothing to do in here, just let the user
configure his/her system appropriately.

 -------- diffstat follows --------
 /trunk/scripts/build/libc/eglibc.sh |    1     0     1     0 -
 /trunk/scripts/functions            |  100     0   100     0 -----------------------------
 /trunk/config/global/download.in    |  148     0   148     0 -------------------------------------------
 3 files changed, 249 deletions(-)
2009-04-19 16:34:59 +00:00
Yann E. MORIN"
9be02f047e Use "${awk}", not gawk.
/trunk/scripts/build/kernel/linux.sh |    2     1     1     0 +-
 /trunk/scripts/build/mpfr.sh         |    2     1     1     0 +-
 /trunk/scripts/functions             |    4     2     2     0 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
2009-04-06 20:27:17 +00:00
Yann E. MORIN"
91a189c7ba Only create the state dir if asked for a restartable build:
- introduce the config dir, where components can store their config files
- move the munged uClibc config file to the config dir
- now, the state dir really is an indication that a build can be restarted

Thanks to Groleo Marius <groleo@gmail.com> for spotting the inconsistency
of the state dir usage, and suggesting this change.

 /trunk/scripts/build/libc/uClibc.sh |    6     3     3     0 +++---
 /trunk/scripts/crosstool-NG.sh.in   |    9     7     2     0 +++++++--
 /trunk/scripts/functions            |   15    12     3     0 ++++++++++++---
 3 files changed, 22 insertions(+), 8 deletions(-)
2009-03-27 23:40:07 +00:00
Yann E. MORIN"
3a181fe514 Detect and abort on partially patched component.
/trunk/scripts/functions |   18    15     3     0 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
2009-03-27 21:30:47 +00:00
Yann E. MORIN"
0e4c0c8815 Log the save/restore messages at a level that is always visible.
/trunk/scripts/functions |    7     5     2     0 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
2009-03-24 17:37:52 +00:00
Yann E. MORIN"
6d392339c6 When patching, always assume the package has been previously extraacted (don't check).
"chmod u+w" the full src tree: because of nochdir and cvs snapshots, we can't reliably know were we are...

 /trunk/scripts/functions |   11     3     8     0 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)
2009-03-15 20:06:40 +00:00
Yann E. MORIN"
36871474d3 Correctly use CT_DoExecLog with wget and curl.
/trunk/scripts/functions |   16     8     8     0 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
2009-03-13 10:34:53 +00:00
Yann E. MORIN"
8e49c29255 Add CT_GetSVN to commonalise retrieval from SVN (ala CT_GetCVS).
/trunk/scripts/functions |   34    33     1     0 +++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)
2009-03-08 11:14:54 +00:00
Yann E. MORIN"
fec3baeca6 Check that a pacakge was previously extracted prior to patching.
Fix a comment.

 /trunk/scripts/functions |    8     5     3     0 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
2009-03-04 18:25:58 +00:00
Yann E. MORIN"
806a517cc2 Move do_finish from scripts/functions to its own file in scipts/build/internals.sh.
/trunk/scripts/build/internals.sh |  907     4   903     0 ---------------------------------------------
 /trunk/scripts/addToolVersion.sh  |    8     4     4     0
 /trunk/scripts/crosstool-NG.sh.in |    1     1     0     0 +
 /trunk/scripts/functions          |   48     0    48     0 --
 4 files changed, 9 insertions(+), 955 deletions(-)
2009-03-04 17:59:35 +00:00
Yann E. MORIN"
6822fae02e Allow user to add a directory component in the sys-root path.
Rename CT_DEBUG_INSTALL_DIR to CT_DEBUGROOT_DIR (to match CT_SYSROOT_DIR).
As a side effect, fix creating lib64->lib symlinks.

 /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     |    6     3     3     0 +++---
 /trunk/scripts/build/debug/500-strace.sh  |    2     1     1     0 +-
 /trunk/scripts/build/debug/200-duma.sh    |    6     3     3     0 +++---
 /trunk/scripts/crosstool-NG.sh.in         |   16     7     9     0 +++++++---------
 /trunk/scripts/functions                  |    2     1     1     0 +-
 /trunk/config/toolchain.in                |   17    17     0     0 +++++++++++++++++
 8 files changed, 34 insertions(+), 19 deletions(-)
2009-03-03 17:41:59 +00:00
Yann E. MORIN"
fd268ea38b Fix extracting tarballs.
/trunk/scripts/functions |    6     5     1     0 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
2009-02-19 07:38:32 +00:00
Yann E. MORIN"
f621e51c3d "chmod -R u+w" extracted tarballs, as some may have read-only files in them (ncurses-5.7 does).
/trunk/scripts/functions |    3     3     0     0 +++
 1 file changed, 3 insertions(+)
2009-02-10 08:52:13 +00:00
Yann E. MORIN"
8eed91405e Fix populate to correctly use tools discovered via ./configure.
/trunk/scripts/functions   |   11     8     3     0 ++++++++---
 /trunk/scripts/populate.in |    6     4     2     0 ++++--
 2 files changed, 12 insertions(+), 5 deletions(-)
2009-02-01 22:41:16 +00:00
Yann E. MORIN"
3f4bf75a27 Fix removing directories.
/trunk/scripts/functions |    7     4     3     0 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
2009-02-01 17:04:00 +00:00
Yann E. MORIN"
1a346ed273 Fix downloading with CT_GetFile when no mirror is set.
/trunk/scripts/functions |    8     5     3     0 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
2009-01-31 13:15:18 +00:00
Yann E. MORIN"
2aaa5b8b68 Update populate:
- use tools found by ./configure
- some POSIX and eye-candy cleanups

 /trunk/scripts/functions   |    7     4     3     0 +++--
 /trunk/scripts/populate.in |   70    46    24     0 ++++++++++++++++++++++++++++++++++------------------
 2 files changed, 50 insertions(+), 27 deletions(-)
2009-01-29 22:35:26 +00:00
Yann E. MORIN"
1115b43f86 On 20090115.0012+0100, "Andy Johnson" <ajohnson@aecno.com> wrote:
... 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(-)
2009-01-20 20:37:43 +00:00
Yann E. MORIN"
0fc2762de7 Forced-removing of a non-existing directory breaks the build.
Noticed by "Andy Johnson" <ajohnson@aecno.com>, who provided a patch that I adapted.

 /trunk/scripts/functions |   13    10     3     0 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)
2009-01-20 20:10:50 +00:00
Yann E. MORIN"
83f0bec915 Fix removing existing directories by chmod'ing them to be user-writeable.
/trunk/scripts/crosstool.sh |   21    10    11     0 ++++++++++-----------
 /trunk/scripts/functions    |    7     7     0     0 +++++++
 2 files changed, 17 insertions(+), 11 deletions(-)
2009-01-12 21:35:23 +00:00
Yann E. MORIN"
4732188b21 Don't print anything about LAN mirror if it is not used.
Don't re-compute a variable that has already been computed.

 /trunk/scripts/functions |   16     9     7     0 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
2009-01-12 18:54:34 +00:00
Yann E. MORIN"
f326356874 Add an option to forbid downloads.
Idea and code-base from Don Elwell <don@manifoldlabs.com>, adapted by me.

 /trunk/scripts/functions         |    6     6     0     0 ++++++
 /trunk/config/global/download.in |   18    18     0     0 ++++++++++++++++++
 2 files changed, 24 insertions(+)
2009-01-06 22:34:36 +00:00
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