Commit Graph

106 Commits

Author SHA1 Message Date
Yann E. MORIN"
7817bcebe7 config: add an option not to remove the destination directory
In certain circumstances, removing the destination/installation directory
is a bad idea. For example, when the build environment is already taking
care of sanitising the build tree, and pre-installs stuff in there, it is
a very bad idea to remove the destination directory.

This happens now in buildroot, as the crostool-NG backend now installs the
toolchain in the common host-tools directory, and pre-install there a few
host-utilities (eg. host-automake and host-gawk).

Provide a config knob to turn on/off the removal of the destination
directory, defaulting to 'y' (previous behavior), and forced to 'n' when
used as a backend.

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28 22:06:49 +01:00
Yann E. MORIN"
6ef2caf1d3 docs: overview.txt is gone, point to the new documentation
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22 00:34:56 +01:00
Yann E. MORIN"
6cdc8c6d7e config: fix the patch fallbacks methods
Reported-by: Heiko Zuerker <heiko@zuerker.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 23:08:12 +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
Yann E. MORIN"
72ad9d45f8 config: change name of default build dir
'targets' is not really meaningfull.
'build' means what it means.
'.build' just hides it as well! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12 21:38:12 +02:00
Yann E. MORIN"
1c149fe46f scripts: do not download in // by default
Parallel downloads can be a bit harsh on the servers,
and some will fail (eg. uclibc.org) in some cases.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 19:10:45 +02:00
Remy Bohmer
b1ac0964f4 scripts: add option to strip all toolchain executables
To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-05-27 23:18:19 +02:00
Yann E. MORIN"
d0475b1f5a config: no need to push the download mirror in a sub menu 2010-07-10 14:20:16 +02:00
Yann E. MORIN"
712f0c9919 config: move backend-related options to their own file 2010-03-29 20:15:25 +02:00
Yann E. MORIN"
eb765a2a46 config: hide arch and kernel selection when used as a backend
When used as a backend, it is the responsibility of the upper-layer build
system to set the target architecture and kernel.
2010-03-29 12:06:58 +02:00
Yann E. MORIN"
a5c8cbcff7 config: hide options to debug crosstool-NG when a backend
When used as a backend, it does not make sense to debug crosstool-NG,
so hide the option.
2010-03-29 10:03:29 +02:00
Yann E. MORIN"
63f8c480c5 config: hide more config options when a backend
Hide the prompts for some behavioral options, for which the upper-layer build
system is responsible for:
- parallel jobs and maximum load
- use pipes
- use custom shell
2010-03-29 10:05:21 +02:00
Yann E. MORIN"
bf785b301b config: hide paths when used as a backend
When crosstool-NG is used as a backend, it is the responsibility of the
upper-layer build-system to properly set paths, so we just hide the
prompts in this case.
2010-03-29 12:04:27 +02:00
Yann E. MORIN"
daca7d6672 config: prepare for build-system backend
When acting as a backend for a build-system, we should not build
any application that runs on the target, that is:
- no native gdb
- no companion libraries
- no binutils libraries
- no debug tools (save for gdbserver)
- ...

Here, we simply prepare the (hidden) config option that will detect
that we are acting as a back-end.

Update doc accordingly.
2010-03-05 09:19:56 +01:00
Yann E. MORIN"
96f5d9003a config: re-order the log entries inthe menuconfig 2010-02-04 00:11:56 +01:00
Yann E. MORIN"
754060b02e config: rename mirror prompt, update help entry
The mirror is not necessarily on the /LAN/.
2010-01-31 12:39:42 +01:00
Yann E. MORIN"
f50cca2bc9 config: remove never used/implemented 'ls-lR'
Use of listing (ls-lR) was never implemented, and never used.
2010-01-31 12:36:50 +01:00
Yann E. MORIN"
88d3a95eca global: do not offer the renice option, let's the user handle that
It's broken anyway. Eg.:
- user is already niced at 10
- user configures to renice at 5
- breaks because user is not allowed to 'boost' his/her nice value

Bette let the user handle the renice with:
  nice -XX ct-ng 'action'
2010-01-29 23:14:53 +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"
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"
539a2357df config: move the patch choice to the extract section
Choosing the origin of the patches to apply is best
done in the 'extract' section.
2009-08-31 22:55:26 +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"
6370afc4f4 config: make CONFIG_SHELL default to bash
Some components (eg. GMP) will fail to correctly build if
the CONFIG_SHELL is not bash (eg. ash or dash). So make bash
the default CONFIG_SHELL.

Keep ash as a possible selection, as future versions of those
currently /broken/ tools may come fixed wrt to CONFIG_SHELL
being POSIX-ly compliant.
2009-08-06 19:40:26 +02:00
Yann E. MORIN"
70f87b8969 [config] Warn againt using ash as CONFIG_SHELL
It apears that more and more ./configure scripts and Makefiles
make use of non-POSIXly correct shell constructs, that don't
work with ash.

For now, just warn the user against using ash, but keep it as
an option in case newer versions of the /broken/ components
come fixed, and we can again use ash, as it is in some cases
really faster than bash.
2009-08-02 23:50:22 +02:00
Yann E. MORIN"
27cdd4367c [config] Allow user to specify custom CONFIG_SHELL
In case the shell the user wants to use as CONFIG_SHELL is located in a
weird place (eg. /opt/bash/bin/bash), or is weirdly named (eg. bash-4),
let the user enter the patch to the shell.
2009-08-02 20:06:44 +02:00
Yann E. MORIN"
d6195c6483 [config] Add bash as a possible CONFIG_SHELL
On some systems and/or for some components, it may be necessary to
explicitly use bash as the shell used by ./configure and Makefiles.
2009-08-02 20:06:06 +02:00
Yann E. MORIN"
a08142a02a [config] Change the way to select the CONFIG_SHELL
Transform the single boolean option to a 'choice' selection
with two options: "sh" and "ash".

This is needed to later add "bash" as override.
2009-08-02 23:43:15 +02:00
Yann E. MORIN"
683d230777 Add a bit more explanations on the meaning of OBSOLETE and EXPERIMENTAL.
-------- diffstat follows --------
 /trunk/config/global/ct-behave.in |   22    13     9     0 +++++++++++++---------
 /trunk/docs/overview.txt          |    8     6     2     0 ++++++--
 2 files changed, 19 insertions(+), 11 deletions(-)
2009-04-20 21:30:25 +00:00
Yann E. MORIN"
e70f9494cb Poit my mirror as the default.
-------- diffstat follows --------
 /trunk/config/global/download.in |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-04-19 16:59:40 +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"
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"
42fe84cd15 Overide locale to C so as to have readable logs.
Offer a DEBUG & EXPERIMENTAL setting to not overide locale.

 /trunk/scripts/crosstool.sh       |   10     7     3     0 +++++++---
 /trunk/config/global/ct-behave.in |   17    17     0     0 +++++++++++++++++
 2 files changed, 24 insertions(+), 3 deletions(-)
2008-11-20 17:48:10 +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"
ef2e479e1d Add a "NOTE" in the proxy settings help, telling it might not cover all possible proxy configurations.
/trunk/config/global/download.in |    4     4     0     0 ++++
 1 file changed, 4 insertions(+)
2008-10-31 12:46:59 +00:00
Yann E. MORIN"
4a1f2bf705 Remove CT_BROKEN.
Only one component is actually BROKEN (libelf), make it depend on EXPERIMENTAL, but state BROKEN in the prompt.
ltrace (which depends on libelf) is now marked as EXPERIMENTAL, with the reference to the BROKEN libelf in the help entry.

 /trunk/docs/overview.txt          |    6     0     6     0 ------
 /trunk/config/debug/ltrace.in     |    7     4     3     0 ++++---
 /trunk/config/global/ct-behave.in |    8     0     8     0 --------
 /trunk/config/tools/libelf.in     |    5     3     2     0 +++--
 4 files changed, 7 insertions(+), 19 deletions(-)
2008-10-09 19:17:49 +00:00
Yann E. MORIN"
02e8d1f0b4 extract-config.sh no longer exists, don't advertise it.
/trunk/config/global/logging.in |    3     0     3     0 ---
 1 file changed, 3 deletions(-)
2008-10-02 13:04:21 +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"
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"
2166fb982f Change some config items' default values.
/trunk/config/global/paths.in   |    4     2     2     0 ++--
 /trunk/config/global/logging.in |    2     1     1     0 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
2008-08-01 08:23:29 +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"
67eff1fce1 Using a SOCKS 4/5 proxy is no more EXPERIMENTAL.
/trunk/config/global/download.in |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2008-07-19 22:46:44 +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"
49f53cc108 Split-up download and extract options into two separate files, because download options are begining to be numerous.
/trunk/config/global/extract.in  |  193     1   192     0 ----------------------------------------------
 /trunk/config/global/download.in |   52     1    51     0 ------------
 /trunk/config/global.in          |    3     2     1     0 +
 3 files changed, 4 insertions(+), 244 deletions(-)
2008-07-19 21:22:58 +00:00
Yann E. MORIN"
710b79ab7a Change default path where toolchain will run from to "${HOME}/x-tools/${CT_TARGET}".
/trunk/config/global/paths.in |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-06-25 06:24:51 +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"
aec9074b72 Un-mark Socks proxy settings as BROKEN.
/trunk/config/global/download_extract.in |   16     4    12     0 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)
2008-06-20 14:00:01 +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"
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"
41c32c8b2b One-liner to fix default proxy config.
/trunk/config/global/download_extract.in |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-05-03 17:56:40 +00:00
Yann E. MORIN"
6e611c2e75 Try to make clear that SOCKS proxying is currently BROKEN.
/trunk/config/global/download_extract.in |   36    19    17     0 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)
2008-04-20 16:46:17 +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"
dd862bd7a4 Move config files around, and clean up the mess in the config/ directory.
config/kernel/kernel_linux.in            |   12     6     6     0 +-
 config/paths.in                          |   89     0    89     0 ----------------
 config/kernel_linux_headers_install.in   |  168     0   168     0 ------------------------------
 config/kernel.in                         |    2     1     1     0
 config/kernel_linux_headers_copy.in      |   42     0    42     0 --------
 config/cc.in                             |    2     1     1     0
 config/logging.in                        |  110     0   110     0 --------------------
 config/build-behave.in                   |   45     0    45     0 --------
 config/libc_uClibc.in                    |  101     0   101     0 ------------------
 config/kernel_linux_headers_sanitised.in |   62     0    62     0 -----------
 config/ct-behave.in                      |   82     0    82     0 ---------------
 config/kernel_linux.in                   |  134     0   134     0 ------------------------
 config/global.in                         |   10     5     5     0 +-
 config/download_extract.in               |  171     0   171     0 -------------------------------
 config/cc_gcc.in                         |  130     0   130     0 ------------------------
 config/libc_glibc.in                     |  124     0   124     0 ----------------------
 config/libc.in                           |    4     2     2     0
 17 files changed, 15 insertions(+), 1273 deletions(-)
2008-04-17 20:26:25 +00:00