config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Feb 17 23:47:47 2010 +0100 (2010-02-17)
changeset 1808 a1370757e6a1
parent 1515 545179329bc5
child 1809 b488b4815f9b
permissions -rw-r--r--
complibs: split-up selection for individual libs
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@1808
     7
comment "FIXME: check real dependencies!!!"
yann@1808
     8
yann@1495
     9
config WRAPPER_NEEDED
yann@1495
    10
    bool
yann@1495
    11
    default n
yann@1495
    12
yann@1808
    13
config GMP
yann@602
    14
    bool
yann@1808
    15
    prompt "GMP"
yann@1495
    16
    select WRAPPER_NEEDED
yann@602
    17
    help
yann@1808
    18
      gcc 4.3.0 and above requires GMP to build some frontends, and some
yann@1808
    19
      other components can use them as well.
yann@1318
    20
      
yann@1808
    21
      This will be automatically selected if you choose gcc>=4.3.0, but you
yann@1808
    22
      can say 'Y' here if you want to build this library for the other
yann@1324
    23
      components (that don't select them by default).
yann@1318
    24
      
yann@602
    25
      The packages that can use GMP and MPFR are:
yann@602
    26
        - binutils
yann@602
    27
        - gcc
yann@602
    28
        - gdb
yann@602
    29
yann@1808
    30
config MPFR
yann@1808
    31
    bool
yann@1808
    32
    prompt "MPFR"
yann@1808
    33
    select GMP
yann@1808
    34
    select WRAPPER_NEEDED
yann@1808
    35
    help
yann@1808
    36
      gcc 4.3.0 and above requires MPFR to build some frontends, and some
yann@1808
    37
      other components can use them as well.
yann@1808
    38
      
yann@1808
    39
      This will be automatically selected if you choose gcc>=4.3.0, but you
yann@1808
    40
      can say 'Y' here if you want to build this library for the other
yann@1808
    41
      components (that don't select them by default).
yann@1808
    42
      
yann@1808
    43
      The packages that can use GMP and MPFR are:
yann@1808
    44
        - binutils
yann@1808
    45
        - gcc
yann@1808
    46
        - gdb
yann@1808
    47
yann@1808
    48
config PPL
yann@1808
    49
    bool
yann@1808
    50
    prompt "PPL"
yann@1808
    51
    select GMP
yann@1808
    52
    select MPFR
yann@1808
    53
    select WRAPPER_NEEDED
yann@1808
    54
    help
yann@1808
    55
      gcc-4.4.0 and above requires PPL to build some parts of the optimiser
yann@1808
    56
      (the GRAPHITE loop optimisation, to be precise).
yann@1808
    57
      
yann@1808
    58
      This will be automatically selected if you choose gcc>=4.4.0, but you
yann@1808
    59
      can say 'Y' here, although it is unknown yet if any other component
yann@1808
    60
      can use it.
yann@1808
    61
yann@1808
    62
config CLOOG
yann@1808
    63
    bool
yann@1808
    64
    prompt "GLooG/PPL"
yann@1808
    65
    select GMP
yann@1808
    66
    select MPFR
yann@1808
    67
    select PPL
yann@1808
    68
    select WRAPPER_NEEDED
yann@1808
    69
    help
yann@1808
    70
      gcc-4.4.0 and above requires CLooG/PPL to build some parts of the
yann@1808
    71
      optimiser (the GRAPHITE loop optimisation, to be precise).
yann@1808
    72
      
yann@1808
    73
      This will be automatically selected if you choose gcc>=4.4.0, but you
yann@1808
    74
      can say 'Y' here, although it is unknown yet if any other component
yann@1808
    75
      can use it.
yann@1808
    76
yann@1808
    77
config MPC
yann@1808
    78
    bool
yann@1808
    79
    prompt "MPC"
yann@1808
    80
    select GMP
yann@1808
    81
    select MPFR
yann@1808
    82
    select PPL
yann@1808
    83
    select CLOOG
yann@1808
    84
    select WRAPPER_NEEDED
yann@1808
    85
    help
yann@1808
    86
      gcc-4.4.0 and above can also optionally use MPC to enable additional
yann@1808
    87
      optimisations on complex numbers. Although MPC is optional,
yann@1808
    88
      crosstool-NG requires it and uses it to build gcc >= 4.4.0.
yann@1808
    89
      
yann@1808
    90
      This will be automatically selected if you choose gcc>=4.4.0, but you
yann@1808
    91
      can say 'Y' here, although it is unknown yet if any other component
yann@1808
    92
      can use it.
yann@1808
    93
yann@1808
    94
if GMP
yann@1318
    95
source config/companion_libs/gmp.in
yann@1808
    96
endif
yann@1808
    97
if MPFR
yann@1318
    98
source config/companion_libs/mpfr.in
yann@602
    99
endif
yann@1808
   100
if PPL
yann@1324
   101
source config/companion_libs/ppl.in
yann@1808
   102
endif
yann@1808
   103
if CLOOG
yann@1380
   104
source config/companion_libs/cloog.in
yann@1808
   105
endif
yann@1808
   106
if MPC
yann@1384
   107
source config/companion_libs/mpc.in
yann@1324
   108
endif
yann@1324
   109
yann@1398
   110
config FOO
yann@1398
   111
    bool
yann@1398
   112
yann@1398
   113
comment "Companion libraries common options"
yann@1808
   114
    depends on GMP || MPFR || PPL || CLOOG || MPC
yann@1386
   115
yann@1386
   116
config COMP_LIBS_CHECK
yann@1386
   117
    bool
yann@1398
   118
    prompt "|  Check the companion libraries builds (!!! READ HELP!!!)"
yann@1808
   119
    depends on GMP || MPFR || PPL || CLOOG || MPC
yann@1386
   120
    default n
yann@1386
   121
    help
yann@1386
   122
      It is highly recommended to check the newly built companion libraries.
yann@1386
   123
      Unfortunately, this is a very intensive task, and takes a loooong time.
Yann@1407
   124
      
yann@1386
   125
      Checking the newly built companion libraries is thus disabled by default,
yann@1388
   126
      but it is suggested that you check them at least once on your machine,
yann@1386
   127
      and if they work, disable the check on subsequent builds.
Yann@1407
   128
      
yann@1386
   129
      If you suspect that one (or more) of your companion libraries is the
yann@1386
   130
      cause for incorrectly generated code, you should answer 'Y' here.
yann@1386
   131
      Note however that this will take a really long time. For example,
yann@1386
   132
      building PPL on my machine takes roughly 1'40", while checking it takes
yann@1398
   133
      about 1h40'...
yann@1386
   134
yann@1386
   135
config COMP_LIBS_TARGET
yann@1386
   136
    bool
yann@1398
   137
    prompt "|  Build companion libraries for the target"
yann@1808
   138
    depends on GMP || MPFR || PPL || CLOOG || MPC
yann@1386
   139
    depends on ! BARE_METAL
yann@1386
   140
    default n
yann@1386
   141
    help
yann@1386
   142
      Also build companion libraries for the target. This can be usefull if
yann@1386
   143
      you want to later build a compiler that will run on the target, or if
yann@1386
   144
      you want to run gdb natively on the target.
yann@1386
   145
      
yann@1386
   146
      Please note that for now, crosstool-NG can only build GMP and MPFR so.
yann@1386
   147
yann@1515
   148
choice
yann@1515
   149
    bool
yann@1515
   150
    prompt "|  Install tools wrapper as:"
yann@1515
   151
    depends on WRAPPER_NEEDED
yann@1515
   152
    default TOOLS_WRAPPER_SHELL
yann@1515
   153
yann@1515
   154
config TOOLS_WRAPPER_SCRIPT
yann@1515
   155
    bool
yann@1515
   156
    prompt "shell script"
yann@1515
   157
    help
yann@1515
   158
      If your host has a shell, then you should say 'Y' here, to use
yann@1515
   159
      a (very very simple) shell script as wrapper.
yann@1515
   160
      
yann@1515
   161
      See docs/overview.txt, section "Tools wrapper".
yann@1515
   162
yann@1515
   163
config TOOLS_WRAPPER_EXEC
yann@1515
   164
    bool
yann@1515
   165
    prompt "executable"
yann@1515
   166
    help
yann@1515
   167
      If your host lacks a shell, then you should say 'Y' here, to use
yann@1515
   168
      an executable.
yann@1515
   169
      
yann@1515
   170
      See docs/overview.txt, section "Tools wrapper".
yann@1515
   171
yann@1515
   172
endchoice
yann@1515
   173
yann@1515
   174
config TOOLS_WRAPPER
yann@1515
   175
    string
yann@1515
   176
    default "script" if TOOLS_WRAPPER_SCRIPT
yann@1515
   177
    default "exec"   if TOOLS_WRAPPER_EXEC
yann@1515
   178
yann@602
   179
endmenu