config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Feb 18 20:43:31 2010 +0100 (2010-02-18)
changeset 1809 b488b4815f9b
parent 1808 a1370757e6a1
child 1810 e44f67656c5f
permissions -rw-r--r--
complibs: simplify config file

Although currently the wrapper is directly dependent on
companion libraries, let's still decorelate those two.
     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 if GMP
   104 source config/companion_libs/gmp.in
   105 endif
   106 if MPFR
   107 source config/companion_libs/mpfr.in
   108 endif
   109 if PPL
   110 source config/companion_libs/ppl.in
   111 endif
   112 if CLOOG
   113 source config/companion_libs/cloog.in
   114 endif
   115 if MPC
   116 source config/companion_libs/mpc.in
   117 endif
   118 
   119 config FOO
   120     bool
   121 
   122 comment "Companion libraries common options"
   123     depends on COMPLIBS || WRAPPER_NEEDED
   124 
   125 if COMPLIBS
   126 
   127 config COMP_LIBS_CHECK
   128     bool
   129     prompt "|  Check the companion libraries builds (!!! READ HELP!!!)"
   130     default n
   131     help
   132       It is highly recommended to check the newly built companion libraries.
   133       Unfortunately, this is a very intensive task, and takes a loooong time.
   134       
   135       Checking the newly built companion libraries is thus disabled by default,
   136       but it is suggested that you check them at least once on your machine,
   137       and if they work, disable the check on subsequent builds.
   138       
   139       If you suspect that one (or more) of your companion libraries is the
   140       cause for incorrectly generated code, you should answer 'Y' here.
   141       Note however that this will take a really long time. For example,
   142       building PPL on my machine takes roughly 1'40", while checking it takes
   143       about 1h40'...
   144 
   145 config COMPLIBS_TARGET
   146     bool
   147     prompt "|  Build companion libraries for the target"
   148     depends on ! BARE_METAL
   149     default n
   150     help
   151       Also build companion libraries for the target. This can be usefull if
   152       you want to later build a compiler that will run on the target, or if
   153       you want to run gdb natively on the target.
   154       
   155       Please note that for now, crosstool-NG can only build GMP and MPFR so.
   156 
   157 endif # COMPLIBS
   158 
   159 choice
   160     bool
   161     prompt "|  Install tools wrapper as:"
   162     depends on WRAPPER_NEEDED
   163     default TOOLS_WRAPPER_SHELL
   164 
   165 config TOOLS_WRAPPER_SCRIPT
   166     bool
   167     prompt "shell script"
   168     help
   169       If your host has a shell, then you should say 'Y' here, to use
   170       a (very very simple) shell script as wrapper.
   171       
   172       See docs/overview.txt, section "Tools wrapper".
   173 
   174 config TOOLS_WRAPPER_EXEC
   175     bool
   176     prompt "executable"
   177     help
   178       If your host lacks a shell, then you should say 'Y' here, to use
   179       an executable.
   180       
   181       See docs/overview.txt, section "Tools wrapper".
   182 
   183 endchoice
   184 
   185 config TOOLS_WRAPPER
   186     string
   187     default "script" if TOOLS_WRAPPER_SCRIPT
   188     default "exec"   if TOOLS_WRAPPER_EXEC
   189 
   190 endmenu