config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 23:18:49 2010 +0200 (2010-08-23)
changeset 2099 1bb063c8a0ca
parent 1892 af092b4bf65c
child 2102 62834fa05290
permissions -rw-r--r--
complibs: noone is using companion libs on the target; nuke them

As there's no longer any user of the companion libraries on the
target, nuke the build for the target.

Well, at least, there's libelf that's still needed by ltrace, so
we keep it.

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