yann@1318: # Companion libraries config options yann@1318: # Those libraries are required for different versions of gcc, yann@1318: # and can be used by binutils and gdb (maybe others as well). yann@602: yann@1318: menu "Companion libraries" yann@602: yann@1808: comment "FIXME: check real dependencies!!!" yann@1808: yann@1809: config COMPLIBS yann@1809: bool yann@1809: default n yann@1809: yann@1495: config WRAPPER_NEEDED yann@1495: bool yann@1495: default n yann@1495: yann@1808: config GMP yann@602: bool yann@1808: prompt "GMP" yann@1809: select COMPLIBS yann@1495: select WRAPPER_NEEDED yann@602: help yann@1808: gcc 4.3.0 and above requires GMP to build some frontends, and some yann@1808: other components can use them as well. yann@1318: yann@1808: This will be automatically selected if you choose gcc>=4.3.0, but you yann@1808: can say 'Y' here if you want to build this library for the other yann@1324: components (that don't select them by default). yann@1318: yann@602: The packages that can use GMP and MPFR are: yann@602: - binutils yann@602: - gcc yann@602: - gdb yann@602: yann@1808: config MPFR yann@1808: bool yann@1808: prompt "MPFR" yann@1808: select GMP yann@1809: select COMPLIBS yann@1808: select WRAPPER_NEEDED yann@1808: help yann@1808: gcc 4.3.0 and above requires MPFR to build some frontends, and some yann@1808: other components can use them as well. yann@1808: yann@1808: This will be automatically selected if you choose gcc>=4.3.0, but you yann@1808: can say 'Y' here if you want to build this library for the other yann@1808: components (that don't select them by default). yann@1808: yann@1808: The packages that can use GMP and MPFR are: yann@1808: - binutils yann@1808: - gcc yann@1808: - gdb yann@1808: yann@1808: config PPL yann@1808: bool yann@1808: prompt "PPL" yann@1808: select GMP yann@1808: select MPFR yann@1809: select COMPLIBS yann@1808: select WRAPPER_NEEDED yann@1808: help yann@1808: gcc-4.4.0 and above requires PPL to build some parts of the optimiser yann@1808: (the GRAPHITE loop optimisation, to be precise). yann@1808: yann@1808: This will be automatically selected if you choose gcc>=4.4.0, but you yann@1808: can say 'Y' here, although it is unknown yet if any other component yann@1808: can use it. yann@1808: yann@1808: config CLOOG yann@1808: bool yann@1808: prompt "GLooG/PPL" yann@1808: select GMP yann@1808: select MPFR yann@1808: select PPL yann@1809: select COMPLIBS yann@1808: select WRAPPER_NEEDED yann@1808: help yann@1808: gcc-4.4.0 and above requires CLooG/PPL to build some parts of the yann@1808: optimiser (the GRAPHITE loop optimisation, to be precise). yann@1808: yann@1808: This will be automatically selected if you choose gcc>=4.4.0, but you yann@1808: can say 'Y' here, although it is unknown yet if any other component yann@1808: can use it. yann@1808: yann@1808: config MPC yann@1808: bool yann@1808: prompt "MPC" yann@1808: select GMP yann@1808: select MPFR yann@1808: select PPL yann@1808: select CLOOG yann@1809: select COMPLIBS yann@1808: select WRAPPER_NEEDED yann@1808: help yann@1808: gcc-4.4.0 and above can also optionally use MPC to enable additional yann@1808: optimisations on complex numbers. Although MPC is optional, yann@1808: crosstool-NG requires it and uses it to build gcc >= 4.4.0. yann@1808: yann@1808: This will be automatically selected if you choose gcc>=4.4.0, but you yann@1808: can say 'Y' here, although it is unknown yet if any other component yann@1808: can use it. yann@1808: yann@1808: if GMP yann@1318: source config/companion_libs/gmp.in yann@1808: endif yann@1808: if MPFR yann@1318: source config/companion_libs/mpfr.in yann@602: endif yann@1808: if PPL yann@1324: source config/companion_libs/ppl.in yann@1808: endif yann@1808: if CLOOG yann@1380: source config/companion_libs/cloog.in yann@1808: endif yann@1808: if MPC yann@1384: source config/companion_libs/mpc.in yann@1324: endif yann@1324: yann@1398: config FOO yann@1398: bool yann@1398: yann@1398: comment "Companion libraries common options" yann@1809: depends on COMPLIBS || WRAPPER_NEEDED yann@1809: yann@1809: if COMPLIBS yann@1386: yann@1386: config COMP_LIBS_CHECK yann@1386: bool yann@1398: prompt "| Check the companion libraries builds (!!! READ HELP!!!)" yann@1386: default n yann@1386: help yann@1386: It is highly recommended to check the newly built companion libraries. yann@1386: Unfortunately, this is a very intensive task, and takes a loooong time. Yann@1407: yann@1386: Checking the newly built companion libraries is thus disabled by default, yann@1388: but it is suggested that you check them at least once on your machine, yann@1386: and if they work, disable the check on subsequent builds. Yann@1407: yann@1386: If you suspect that one (or more) of your companion libraries is the yann@1386: cause for incorrectly generated code, you should answer 'Y' here. yann@1386: Note however that this will take a really long time. For example, yann@1386: building PPL on my machine takes roughly 1'40", while checking it takes yann@1398: about 1h40'... yann@1386: yann@1809: config COMPLIBS_TARGET yann@1386: bool yann@1398: prompt "| Build companion libraries for the target" yann@1386: depends on ! BARE_METAL yann@1386: default n yann@1386: help yann@1386: Also build companion libraries for the target. This can be usefull if yann@1386: you want to later build a compiler that will run on the target, or if yann@1386: you want to run gdb natively on the target. yann@1386: yann@1386: Please note that for now, crosstool-NG can only build GMP and MPFR so. yann@1386: yann@1809: endif # COMPLIBS yann@1809: yann@1515: choice yann@1515: bool yann@1515: prompt "| Install tools wrapper as:" yann@1515: depends on WRAPPER_NEEDED yann@1515: default TOOLS_WRAPPER_SHELL yann@1515: yann@1515: config TOOLS_WRAPPER_SCRIPT yann@1515: bool yann@1515: prompt "shell script" yann@1515: help yann@1515: If your host has a shell, then you should say 'Y' here, to use yann@1515: a (very very simple) shell script as wrapper. yann@1515: yann@1515: See docs/overview.txt, section "Tools wrapper". yann@1515: yann@1515: config TOOLS_WRAPPER_EXEC yann@1515: bool yann@1515: prompt "executable" yann@1515: help yann@1515: If your host lacks a shell, then you should say 'Y' here, to use yann@1515: an executable. yann@1515: yann@1515: See docs/overview.txt, section "Tools wrapper". yann@1515: yann@1515: endchoice yann@1515: yann@1515: config TOOLS_WRAPPER yann@1515: string yann@1515: default "script" if TOOLS_WRAPPER_SCRIPT yann@1515: default "exec" if TOOLS_WRAPPER_EXEC yann@1515: yann@602: endmenu