config/debug/gdb.in.cross
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 23:51:25 2010 +0200 (2010-09-12)
changeset 2123 ff2181adbd28
parent 1916 e5b635bb9290
child 2209 cdafca8bdaa8
permissions -rw-r--r--
cc/gcc: disable complibs if not selected

Force gcc to not link with some companion libraries when
there are not needed (because selected-out).

There is no option to tell gcc *not* to build the Graphite and/or
LTO stuff. They *will* be built if gcc finds the suitable companion
libraries. If we do not provide them, but the host has them, then
gcc *will* find them, and link with them.

Consider the following:
- host has suitable PPL and CLooG (eg. Debian Squeeze)
- user wants to build gcc>=4.4
- user de-selects GRAPHITE
- gcc will find the hosts PPL and CLooG, and will use them
- the user moves the toolchain to an older host that does
not have them (eg. Debian Lenny)
- the toolchain fails, when it was properly setup not to

So, explicitly tell gcc *not* to use unneeded companion libs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # Menu for the cross GDB
     2 
     3 config GDB_CROSS
     4     bool
     5     prompt "Cross-gdb"
     6     default y
     7     select GDB_GDBSERVER if ! BARE_METAL
     8     help
     9       Build and install a cross-gdb for the target, to run on host.
    10 
    11 if GDB_CROSS
    12 
    13 config GDB_CROSS_STATIC
    14     bool
    15     prompt "Build a static cross gdb"
    16     default n
    17     help
    18       A static cross gdb can be usefull if you debug on a machine that is
    19       not the one that is used to compile the toolchain.
    20       
    21       That way, you can share the cross-gdb without installing a toolchain
    22       on every machine that will be used to debug target programs.
    23 
    24 endif # GDB_CROSS