Commit Graph

151 Commits

Author SHA1 Message Date
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