config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 1496 75a766c20552
child 1808 a1370757e6a1
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
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