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