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