config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Jan 07 23:05:30 2010 +0100 (2010-01-07)
changeset 1704 6df0d71a7a55
parent 1496 75a766c20552
child 1808 a1370757e6a1
permissions -rw-r--r--
config: don't force the vendor part in the tuple

Note however that some configurations (eg. arm-elf) will still
have the vendor part 'unknown' forced in (by config.sub).
yann@1318
     1
# Companion libraries config options
yann@1318
     2
# Those libraries are required for different versions of gcc,
yann@1318
     3
# and can be used by binutils and gdb (maybe others as well).
yann@602
     4
yann@1318
     5
menu "Companion libraries"
yann@602
     6
yann@1495
     7
config WRAPPER_NEEDED
yann@1495
     8
    bool
yann@1495
     9
    default n
yann@1495
    10
yann@602
    11
config GMP_MPFR
yann@602
    12
    bool
yann@602
    13
    prompt "GMP and MPFR"
yann@1495
    14
    select WRAPPER_NEEDED
yann@602
    15
    help
yann@1318
    16
      gcc 4.3.0 and above requires both GMP and MPFR to build some frontends,
yann@1324
    17
      and some other components can use them as well.
yann@1318
    18
      
yann@1324
    19
      These will be automatically selected if you choose gcc>=4.3.0, but you
yann@1324
    20
      can say 'Y' here if you want to build those two libraries for the other
yann@1324
    21
      components (that don't select them by default).
yann@1318
    22
      
yann@602
    23
      The packages that can use GMP and MPFR are:
yann@602
    24
        - binutils
yann@602
    25
        - gcc
yann@602
    26
        - gdb
yann@602
    27
yann@602
    28
if GMP_MPFR
yann@1318
    29
source config/companion_libs/gmp.in
yann@1318
    30
source config/companion_libs/mpfr.in
yann@602
    31
endif
yann@602
    32
yann@1384
    33
config PPL_CLOOG_MPC
yann@1324
    34
    bool
yann@1384
    35
    prompt "PPL, GLooG/PPL and MPC"
yann@1496
    36
    select GMP_MPFR
yann@1495
    37
    select WRAPPER_NEEDED
yann@1324
    38
    help
yann@1384
    39
      gcc-4.4.0 and above requires PPL and CLooG/PPL to build some parts
yann@1384
    40
      of the optimiser (GRAPHITE loop optimisation, to be precise).
yann@1384
    41
      
yann@1384
    42
      In addition to those, gcc-4.4 also optionally uses MPC to enable
yann@1384
    43
      additional optimisations on complex numbers. Although MPC is optional,
yann@1384
    44
      crosstool-NG requires it and uses it to build gcc >= 4.4.0.
yann@1324
    45
      
yann@1324
    46
      These will be automatically selected if you choose gcc>=4.4.0, but you
yann@1324
    47
      can say 'Y' here, although it is unknown yet if any other component
yann@1324
    48
      can use them.
yann@1324
    49
yann@1384
    50
if PPL_CLOOG_MPC
yann@1324
    51
source config/companion_libs/ppl.in
yann@1380
    52
source config/companion_libs/cloog.in
yann@1384
    53
source config/companion_libs/mpc.in
yann@1324
    54
endif
yann@1324
    55
yann@1398
    56
config FOO
yann@1398
    57
    bool
yann@1398
    58
yann@1398
    59
comment "Companion libraries common options"
yann@1386
    60
    depends on GMP_MPFR || PPL_CLOOG_MPC
yann@1386
    61
yann@1386
    62
config COMP_LIBS_CHECK
yann@1386
    63
    bool
yann@1398
    64
    prompt "|  Check the companion libraries builds (!!! READ HELP!!!)"
yann@1386
    65
    depends on GMP_MPFR || PPL_CLOOG_MPC
yann@1386
    66
    default n
yann@1386
    67
    help
yann@1386
    68
      It is highly recommended to check the newly built companion libraries.
yann@1386
    69
      Unfortunately, this is a very intensive task, and takes a loooong time.
Yann@1407
    70
      
yann@1386
    71
      Checking the newly built companion libraries is thus disabled by default,
yann@1388
    72
      but it is suggested that you check them at least once on your machine,
yann@1386
    73
      and if they work, disable the check on subsequent builds.
Yann@1407
    74
      
yann@1386
    75
      If you suspect that one (or more) of your companion libraries is the
yann@1386
    76
      cause for incorrectly generated code, you should answer 'Y' here.
yann@1386
    77
      Note however that this will take a really long time. For example,
yann@1386
    78
      building PPL on my machine takes roughly 1'40", while checking it takes
yann@1398
    79
      about 1h40'...
yann@1386
    80
yann@1386
    81
config COMP_LIBS_TARGET
yann@1386
    82
    bool
yann@1398
    83
    prompt "|  Build companion libraries for the target"
yann@1386
    84
    depends on GMP_MPFR || PPL_CLOOG_MPC
yann@1386
    85
    depends on ! BARE_METAL
yann@1386
    86
    default n
yann@1386
    87
    help
yann@1386
    88
      Also build companion libraries for the target. This can be usefull if
yann@1386
    89
      you want to later build a compiler that will run on the target, or if
yann@1386
    90
      you want to run gdb natively on the target.
yann@1386
    91
      
yann@1386
    92
      Please note that for now, crosstool-NG can only build GMP and MPFR so.
yann@1386
    93
yann@1515
    94
choice
yann@1515
    95
    bool
yann@1515
    96
    prompt "|  Install tools wrapper as:"
yann@1515
    97
    depends on WRAPPER_NEEDED
yann@1515
    98
    default TOOLS_WRAPPER_SHELL
yann@1515
    99
yann@1515
   100
config TOOLS_WRAPPER_SCRIPT
yann@1515
   101
    bool
yann@1515
   102
    prompt "shell script"
yann@1515
   103
    help
yann@1515
   104
      If your host has a shell, then you should say 'Y' here, to use
yann@1515
   105
      a (very very simple) shell script as wrapper.
yann@1515
   106
      
yann@1515
   107
      See docs/overview.txt, section "Tools wrapper".
yann@1515
   108
yann@1515
   109
config TOOLS_WRAPPER_EXEC
yann@1515
   110
    bool
yann@1515
   111
    prompt "executable"
yann@1515
   112
    help
yann@1515
   113
      If your host lacks a shell, then you should say 'Y' here, to use
yann@1515
   114
      an executable.
yann@1515
   115
      
yann@1515
   116
      See docs/overview.txt, section "Tools wrapper".
yann@1515
   117
yann@1515
   118
endchoice
yann@1515
   119
yann@1515
   120
config TOOLS_WRAPPER
yann@1515
   121
    string
yann@1515
   122
    default "script" if TOOLS_WRAPPER_SCRIPT
yann@1515
   123
    default "exec"   if TOOLS_WRAPPER_EXEC
yann@1515
   124
yann@602
   125
endmenu