config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 10:47:00 2010 +0200 (2010-08-23)
changeset 2101 f27cfe7ed56d
parent 1892 af092b4bf65c
child 2102 62834fa05290
permissions -rw-r--r--
debug/gdb: use libexpat

gdb can use libexpat to parse target memory descriptions,
among other things. See:
http://sourceware.org/ml/crossgcc/2010-08/msg00168.html

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