config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Feb 17 23:50:49 2010 +0100 (2010-02-17)
changeset 1810 e44f67656c5f
parent 1809 b488b4815f9b
child 1811 35cf5e2f110a
permissions -rw-r--r--
complibs: hide companion libraries for target entry

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