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"
82c9d1aceb
Simplify the Tools and Debug facilities menu entries:
...
- each config file no longer have to define their own 'menuconfig foo - if FOO - endif' gym
- each build script no longer has to say wether they are enabled
- generation of the 'menuconfig' entries for the Tools and Debug facilities now uses the same code
Some re-ordering of the code to be consistent with the steps ordering (tools, then debug).
/trunk/kconfig/kconfig.mk | 66 43 23 0 +++++++++++++++++++++++-------------
/trunk/scripts/build/debug.sh | 14 9 5 0 +++++---
/trunk/scripts/build/tools/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/tools/100-libelf.sh | 3 0 3 0 --
/trunk/scripts/build/tools/200-sstrip.sh | 2 0 2 0 -
/trunk/scripts/build/debug/000-template.sh | 7 0 7 0 ----
/trunk/scripts/build/debug/100-dmalloc.sh | 3 0 3 0 --
/trunk/scripts/build/debug/400-ltrace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/300-gdb.sh | 3 0 3 0 --
/trunk/scripts/build/debug/500-strace.sh | 3 0 3 0 --
/trunk/scripts/build/debug/200-duma.sh | 3 0 3 0 --
/trunk/scripts/build/tools.sh | 14 9 5 0 +++++---
/trunk/scripts/crosstool.sh | 2 1 1 0
/trunk/config/debug/ltrace.in | 14 3 11 0 ++------
/trunk/config/debug/dmalloc.in | 9 1 8 0 +----
/trunk/config/debug/gdb.in | 9 1 8 0 +----
/trunk/config/debug/strace.in | 10 1 9 0 -----
/trunk/config/debug/duma.in | 10 1 9 0 -----
/trunk/config/tools/libelf.in | 12 2 10 0 +------
/trunk/config/tools/sstrip.in | 10 1 9 0 -----
/trunk/config/config.in | 4 2 2 0 +-
21 files changed, 74 insertions(+), 134 deletions(-)
2008-10-10 14:30:44 +00:00
Yann E. MORIN"
93c2e1f7fb
Install the config script following the naming of other files, eg. "${CT_TARGET}-" instead of "${CT_TARGET}." .
...
/trunk/scripts/crosstool.sh | 4 2 2 0 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
2008-10-06 21:23:31 +00:00
Yann E. MORIN"
b8d189b296
Separate the architecture config file and function script.
...
/trunk/kconfig/kconfig.mk | 46 23 23 0 +++++++++++++++++++++++-----------------------
/trunk/scripts/crosstool.sh | 2 1 1 0 +-
/trunk/docs/overview.txt | 28 11 17 0 +++++++++++-----------------
3 files changed, 35 insertions(+), 41 deletions(-)
2008-10-05 15:32:00 +00:00
Yann E. MORIN"
dcb7ca29ba
Fourth shot at moving arch/ into config/arch/ .
...
/trunk/scripts/crosstool.sh | 2 1 1 0 +-
1 file changed, 1 insertion(+), 1 deletion(-)
2008-10-03 13:01:10 +00:00
Yann E. MORIN"
16c6cc994f
Save the toolchain configuration to its own file, as an auto-extracting shell script:
...
- get rid of the 'extractconfig' action, it was cumbersome to use, and badly documented,
- introduce a skeleton for the config script,
- update auto-completion,
- document the config script.
/trunk/kconfig/kconfig.mk | 9 2 7 0 ++-------
/trunk/scripts/crosstool.sh | 6 5 1 0 +++++-
/trunk/docs/overview.txt | 21 9 12 0 +++++++++------------
/trunk/tools/toolchain-config.in | 8 8 0 0 ++++++++
/trunk/ct-ng.comp | 2 1 1 0 +-
5 files changed, 25 insertions(+), 21 deletions(-)
2008-10-01 18:10:40 +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"
7a0e770be1
Remove the now really obsolete Linux kernel headers copy and sanitised.
...
Remove orphanned Linux kernel patchsets.
Initiate a kernel build scripts directory. Move the Linux kernel build script there.
/trunk/scripts/build/kernel/linux.sh | 146 11 135 0 +++---------------------------------------
/trunk/scripts/crosstool.sh | 2 1 1 0
/trunk/steps.mk | 1 0 1 0 -
/trunk/config/kernel/linux.in | 49 0 49 0 --------------
/trunk/config/kernel.in | 4 4 0 0 +
5 files changed, 16 insertions(+), 186 deletions(-)
2008-09-10 21:40:23 +00:00
Yann E. MORIN"
4a7d144844
Allow using ash as the shell for ./configure and make.
...
After an idea by "Martin Guy" <martinwguy@yahoo.it>:
http://sourceware.org/ml/crossgcc/2008-08/msg00037.html
/trunk/scripts/crosstool.sh | 4 4 0 0 ++++
/trunk/config/global/build-behave.in | 14 14 0 0 ++++++++++++++
2 files changed, 18 insertions(+)
2008-08-25 19:44:39 +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"
e348d316b7
Beautify final output.
...
/trunk/scripts/crosstool.sh | 7 4 3 0 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
2008-08-07 07:52:09 +00:00
Yann E. MORIN"
379ea09dba
Michael ABBOTT reported that populate is not relocatable.
...
Fix this by determining both the cross-readelf and the sys-root at runtime, not at build time.
/trunk/configure | 1 1 0 0 +
/trunk/scripts/crosstool.sh | 14 6 8 0 ++++++--------
/trunk/tools/populate.in | 6 4 2 0 ++++--
3 files changed, 11 insertions(+), 10 deletions(-)
2008-08-04 08:44:54 +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"
5a28e26b8d
Fix building x86_64 on x86_64 (and hopefully all other *64 archs on the same *64):
...
- symlink all lib64/ dirs to the corresponding lib/ dir
Also, prevent gcc from installing some of its target libs outside of the sys-root, in the first place.
Thanks to Laurent DUFRECHOU for reporting the bug and testing the fix.
/trunk/scripts/build/cc_gcc.sh | 26 0 26 0 --------------------------
/trunk/scripts/crosstool.sh | 14 14 0 0 ++++++++++++++
2 files changed, 14 insertions(+), 26 deletions(-)
2008-07-27 16:35:37 +00:00
Yann E. MORIN"
e64bc999d5
Hmmm. The debug pause at each step never ever worked... Sigh...
...
/trunk/scripts/crosstool.sh | 2 1 1 0 +-
/trunk/config/global/ct-behave.in | 2 1 1 0 +-
2 files changed, 2 insertions(+), 2 deletions(-)
2008-07-25 22:57:35 +00:00
Yann E. MORIN"
ba5a96ad78
Remove the check for absolutely needed tools now ./configure checks for them.
...
Move the check for 'lynx' to where it is needed (that is when sstrip from buildroot is selected).
/trunk/scripts/build/tools/200-sstrip.sh | 1 1 0 0 +
/trunk/scripts/crosstool.sh | 5 0 5 0 -----
2 files changed, 1 insertion(+), 5 deletions(-)
2008-07-17 21:17:19 +00:00
Yann E. MORIN"
78d1209616
Move the check for tsocks' availability just before using tsocks: make it clear we check before we use.
...
Use CT_DoExecLog to validate tsocks configuration.
Don't use gawk, but awk. awk *is* GNU awk, check by ./configure.
/trunk/scripts/crosstool.sh | 9 5 4 0 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
2008-07-16 21:57:12 +00:00
Yann E. MORIN"
6180cc0ea5
Allow to store working files outside the build tree (eg. incase the working tree is on the network).
...
/trunk/scripts/crosstool.sh | 9 5 4 0 +++++----
/trunk/config/global/paths.in | 23 22 1 0 ++++++++++++++++++++++-
2 files changed, 27 insertions(+), 5 deletions(-)
2008-06-24 16:19:45 +00:00
Yann E. MORIN"
aa8a936a1d
Help glibc build by exporting PARALLELMFLAGS.
...
/trunk/scripts/crosstool.sh | 1 1 0 0 +
1 file changed, 1 insertion(+)
2008-06-17 11:30:36 +00:00
Yann E. MORIN"
1eaa6e6cbf
Some makeinfo versions are a pain in [somewhere very painful].
...
Work this around with a wrapper that always succeeds, and leave incomplete files in place.
/trunk/scripts/crosstool.sh | 7 7 0 0 +++++++
1 file changed, 7 insertions(+)
2008-06-15 22:02:45 +00:00
Yann E. MORIN"
8dd0e17c51
Use the arch-specific target LDFLAGS into the final target LDFLAGS.
...
Fix a help entry in the CFLAGS_for_target config entry.
/trunk/scripts/crosstool.sh | 4 3 1 0 +++-
/trunk/config/target.in | 2 1 1 0 +-
2 files changed, 4 insertions(+), 2 deletions(-)
2008-05-24 22:38:07 +00:00
Yann E. MORIN"
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"
ec169f9cc7
Fix forcing source extraction.
...
/trunk/scripts/crosstool.sh | 5 3 2 0 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
2008-05-15 20:42:45 +00:00
Yann E. MORIN"
4ebe15e6b4
Sanitise and use CT_CC_NATIVE.
...
Comment inclusion of scripts/functions.
/trunk/scripts/build/cc_gcc.sh | 6 6 0 0 ++++++
/trunk/scripts/crosstool.sh | 7 6 1 0 ++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
2008-05-14 17:56:33 +00:00
Yann E. MORIN"
86c54d8079
Merge the fortran stuff to trunk now it works!
...
Fortran is not supported for all targets, though. ARM at least does not work.
/trunk/scripts/build/binutils.sh | 8 8 0 0 ++++++++
/trunk/scripts/build/cc_gcc.sh | 11 6 5 0 ++++++-----
/trunk/scripts/crosstool.sh | 10 9 1 0 +++++++++-
/trunk/tools/addToolVersion.sh | 3 3 0 0 +++
/trunk/steps.mk | 2 2 0 0 ++
/trunk/config/cc/gcc.in | 16 16 0 0 ++++++++++++++++
6 files changed, 44 insertions(+), 6 deletions(-)
2008-04-30 10:43:41 +00:00
Yann E. MORIN"
daa31a0c34
Building target libraries before the cross-compiler is available is doomed! Move build binutils' target libraries after final gcc.
...
Have a unique list of steps, it's easier to maintain.
/trunk/scripts/build/binutils.sh | 8 5 3 0 +++++---
/trunk/scripts/crosstool.sh | 16 2 14 0 ++--------------
/trunk/steps.mk | 29 16 13 0 ++++++++++++++++-------------
3 files changed, 23 insertions(+), 30 deletions(-)
2008-04-28 07:38:36 +00:00
Yann E. MORIN"
e6ca02b829
Configure tsocks with a simple heuristic.
...
Consider the proxy has to be in a 'local' network. It means it is directly
reachable by the local machine, even if the local machine has to hop through
one or more gates to reach the proxy (often the case in enterprise networks
where class A 10.0.0.0/8 is in fact sub-divided into smaller networks, each
one of them in a different location, eg. 10.1.0.0/16 in a place, while
10.2.0.0/16 would be on the other side of the world). Not being in the same
subnet does not mean the proxy is not available.
So we will build a mask with at most high bits set, which defines a network
that has both the local machine and the proxy. Because a machine may have
more than one interface, build a mask for each of them, removing 127.0.0.1
which is added automagically by tsocks, and removing duplicate masks.
If all of this does not work, then it means the local machine can NOT in fact
reach the proxy, which in turn means the user mis-configured something (most
probably a typo...).
/trunk/scripts/crosstool.sh | 61 52 9 0 +++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 52 insertions(+), 9 deletions(-)
2008-04-26 21:31:05 +00:00
Yann E. MORIN"
08f2c57f96
Tss.... I was bieng real stupid while building up the tsocks.conf file. Implement a much simpler way.
...
/trunk/scripts/crosstool.sh | 27 5 22 0 +++++----------------------
1 file changed, 5 insertions(+), 22 deletions(-)
2008-04-20 18:04:20 +00:00
Yann E. MORIN"
59ed1ed600
Using SOCKS 4/5 proxy is no easy task:
...
- a machine may well be able to reach the proxy, even if it is not on the same sub-net(s) as the machine itself (absolutely legitimate)
- tsocks.conf needs a list of so-called 'local' networks that can be reached without the need for a SOCKS connection
- SOCKS proxies are expected to be in 'local' networks
- there is absolutely NO way to tell what networks are local, besides the sub-net(s) the machine is in
Therefore, appropriate configuration of SOCKS 4/5 configuration is really complex, and attempts to correctly overcome this issue are doomed.
/trunk/scripts/crosstool.sh | 52 46 6 0 ++++++++++++++++++++++++++++++++++----
/trunk/config/global/download_extract.in | 39 31 8 0 +++++++++++++++++++++++------
2 files changed, 77 insertions(+), 14 deletions(-)
2008-04-18 22:16:28 +00:00
Yann E. MORIN"
b44e4e652a
Fix using HTTP proxy.
...
/trunk/scripts/crosstool.sh | 9 5 4 0 +++++----
/trunk/config/global/download_extract.in | 2 1 1 0 +-
2 files changed, 6 insertions(+), 5 deletions(-)
2008-04-18 08:41:30 +00:00
Yann E. MORIN"
9e9d061e01
Add an option to use a SOCKS 4/5 proxy to connect to the internet.
...
As for the HTTP proxy, this is completetly untested, as I have no such proxy at home.
scripts/crosstool.sh | 45 31 14 0 +++++++++++++++++--------
config/global.in | 95 81 14 0 +++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 112 insertions(+), 28 deletions(-)
2008-04-17 18:07:26 +00:00
Yann E. MORIN"
0b89b1a938
Allow using an HTTP proxy to tunnel FTP and HTTP requests.
...
scripts/crosstool.sh | 14 14 0 0 +++++++++++++
config/global.in | 54 54 0 0 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+)
2008-04-13 22:46:02 +00:00
Yann E. MORIN"
07fa611771
Robet P. J. DAY: typoes.
2008-02-14 22:44:34 +00:00
Yann E. MORIN"
34c2acc77a
Patch from Michael Abbott <michael@araneidae.co.uk> to allow build to work with ancient findutils.
2008-01-28 18:40:31 +00:00
Yann E. MORIN"
8891e25cd6
Do not try to save new;y downloaded tarballs to local storage if the directory does not exist.
2007-09-23 17:18:18 +00:00
Yann E. MORIN"
b1e693e402
Renamed all patches file names so that locales are now irrelevant to sort the files.
...
Removed the locale check as it is now irrelevant.
Removed the experimental binutils 2.17.50.0.xx: 2.18 is here now.
2007-09-23 17:08:09 +00:00
Yann E. MORIN"
dd9e2b9602
ARM EABI is now working for little endian ARM targets.
...
Big endian is still missing, though...
2007-09-16 17:59:18 +00:00
Yann E. MORIN"
60b7c724bd
Call architecture-specific functions from all scripts needing them.
2007-09-16 08:52:26 +00:00
Yann E. MORIN"
3f09a4d4c6
Further improve the architecture-specific framework.
...
Apply this framework into building of glibc and gcc.
(Whoo! 500th commit! Yeah!)
2007-09-15 21:44:18 +00:00
Yann E. MORIN"
8ed77399de
We don't support Cygwin yet, no point in having quirks in.
2007-09-15 08:40:07 +00:00
Yann E. MORIN"
9501e62afa
Further expand the architecture-specific function: add CT_KERNEL_ARCH building.
2007-09-14 21:50:30 +00:00
Yann E. MORIN"
7b70a704e0
Add the framework to have architecture-specific configuration and functions.
...
API is not yet defined.
2007-09-14 17:43:16 +00:00
Yann E. MORIN"
ae7e017380
Small eye candy fix.
2007-09-14 17:29:39 +00:00
Yann E. MORIN"
09f0dcc66f
Change "triplet" (target triplet) to "tuple". That sounds better!
...
Document overriding the number of // jobs.
Some small documentation fixes.
2007-08-15 16:18:35 +00:00
Yann E. MORIN"
54cca9f2ba
Add the possibility to force the number of // jobs without reconfiguring.
2007-08-15 14:59:37 +00:00
Yann E. MORIN"
e58af8f79e
Get rid of the core cc selection. It is now the same as the final compiler.
2007-08-15 10:14:43 +00:00
Yann E. MORIN"
ab8763bedd
Introduce new config option: CT_TARGET_ALIAS_SED_EXPR
...
This option is used as a sed expression to pass onto CT_TARGET to create an alias.
2007-08-07 19:40:38 +00:00
Yann E. MORIN"
feb0328d7a
Make use of setsid to spawn removal processes: we don't want the rm's to stop if the main script fails and ends before all directories were removed.
2007-08-07 18:05:41 +00:00
Yann E. MORIN"
72caaf7717
Revert previous spurious commit.
2007-08-07 17:08:13 +00:00
Yann E. MORIN"
f1741dc507
Fix the Makefile.in to correctly remove generated documentation.
2007-08-07 17:07:39 +00:00