config: prepare for build-system backend
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Mar 05 09:19:56 2010 +0100 (2010-03-05)
changeset 18422535545dd450
parent 1841 8aa54bcb9b7d
child 1843 266166448ffd
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.
config/global/ct-behave.in
docs/overview.txt
     1.1 --- a/config/global/ct-behave.in	Fri Mar 19 19:02:30 2010 +0100
     1.2 +++ b/config/global/ct-behave.in	Fri Mar 05 09:19:56 2010 +0100
     1.3 @@ -2,6 +2,15 @@
     1.4  
     1.5  comment "crosstool-NG behavior"
     1.6  
     1.7 +config IS_A_BACKEND
     1.8 +    string
     1.9 +    option env="CT_IS_A_BACKEND"
    1.10 +
    1.11 +config BACKEND
    1.12 +    bool
    1.13 +    default y if IS_A_BACKEND =  "y" || IS_A_BACKEND =  "Y"
    1.14 +    default n if IS_A_BACKEND != "y" && IS_A_BACKEND != "Y"
    1.15 +
    1.16  config OBSOLETE
    1.17      bool
    1.18      prompt "Use obsolete features"
     2.1 --- a/docs/overview.txt	Fri Mar 19 19:02:30 2010 +0100
     2.2 +++ b/docs/overview.txt	Fri Mar 05 09:19:56 2010 +0100
     2.3 @@ -21,6 +21,7 @@
     2.4  Configuring crosstool-NG
     2.5    Interesting config options
     2.6    Re-building an existing toolchain
     2.7 +  Using as a backend for a build-system
     2.8  Running crosstool-NG
     2.9    Stopping and restarting a build
    2.10    Testing all toolchains at once
    2.11 @@ -350,6 +351,21 @@
    2.12  Then, you can review and change the configuration by running:
    2.13    ct-ng menuconfig
    2.14  
    2.15 +Using as a backend for a build-system |
    2.16 +--------------------------------------+
    2.17 +
    2.18 +Crosstool-NG can be used as a backend for an automated build-system. In this
    2.19 +case, some components that are expected to run on the target (eg. the native
    2.20 +gdb, ltrace, DUMA...) are not available in the menuconfig, and they are not
    2.21 +build either, as it is considered the responsibility of the build-system to
    2.22 +build its own versions of those tools.
    2.23 +
    2.24 +If you want to use crosstool-NG as a backend to generate your toolchains for
    2.25 +your build-system, you have to set and export this environment variable:
    2.26 +  CT_IS_A_BACKEND=y
    2.27 +
    2.28 +(case is not sensitive, you can say Y).
    2.29 +
    2.30  
    2.31  ________________________
    2.32                         /