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@1495: config WRAPPER_NEEDED yann@1495: bool yann@1495: default n yann@1495: yann@602: config GMP_MPFR yann@602: bool yann@602: prompt "GMP and MPFR" yann@1495: select WRAPPER_NEEDED yann@602: help yann@1318: gcc 4.3.0 and above requires both GMP and MPFR to build some frontends, yann@1324: and some other components can use them as well. yann@1318: yann@1324: These will be automatically selected if you choose gcc>=4.3.0, but you yann@1324: can say 'Y' here if you want to build those two libraries 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@602: if GMP_MPFR yann@1318: source config/companion_libs/gmp.in yann@1318: source config/companion_libs/mpfr.in yann@602: endif yann@602: yann@1384: config PPL_CLOOG_MPC yann@1324: bool yann@1384: prompt "PPL, GLooG/PPL and MPC" yann@1496: select GMP_MPFR yann@1495: select WRAPPER_NEEDED yann@1324: help yann@1384: gcc-4.4.0 and above requires PPL and CLooG/PPL to build some parts yann@1384: of the optimiser (GRAPHITE loop optimisation, to be precise). yann@1384: yann@1384: In addition to those, gcc-4.4 also optionally uses MPC to enable yann@1384: additional optimisations on complex numbers. Although MPC is optional, yann@1384: crosstool-NG requires it and uses it to build gcc >= 4.4.0. yann@1324: yann@1324: These will be automatically selected if you choose gcc>=4.4.0, but you yann@1324: can say 'Y' here, although it is unknown yet if any other component yann@1324: can use them. yann@1324: yann@1384: if PPL_CLOOG_MPC yann@1324: source config/companion_libs/ppl.in yann@1380: source config/companion_libs/cloog.in 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@1386: depends on GMP_MPFR || PPL_CLOOG_MPC yann@1386: yann@1386: config COMP_LIBS_CHECK yann@1386: bool yann@1398: prompt "| Check the companion libraries builds (!!! READ HELP!!!)" yann@1386: depends on GMP_MPFR || PPL_CLOOG_MPC 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@1386: config COMP_LIBS_TARGET yann@1386: bool yann@1398: prompt "| Build companion libraries for the target" yann@1386: depends on GMP_MPFR || PPL_CLOOG_MPC 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@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