config/backend.in
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 1877 b579a5cb53d1
child 2484 d1a8c2ae7946
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 # Options specific to crosstool-NG acting as a backend
     2 
     3 config IS_A_BACKEND
     4     string
     5     option env="CT_IS_A_BACKEND"
     6 
     7 config BACKEND
     8     bool
     9     default y if IS_A_BACKEND =  "y" || IS_A_BACKEND =  "Y"
    10     default n if IS_A_BACKEND != "y" && IS_A_BACKEND != "Y"
    11 
    12 config BACKEND_ARCH
    13     string
    14     option env="CT_BACKEND_ARCH"
    15 
    16 config BACKEND_KERNEL
    17     string
    18     option env="CT_BACKEND_KERNEL"
    19 
    20 config BACKEND_LIBC
    21     string
    22     option env="CT_BACKEND_LIBC"