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@1809: select COMPLIBS 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: select GMP yann@1809: select COMPLIBS 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: select GMP yann@1808: select MPFR yann@1809: select COMPLIBS 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: select GMP yann@1808: select MPFR yann@1808: select PPL yann@1809: select COMPLIBS 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: select GMP yann@1808: select MPFR yann@1808: select PPL yann@1808: select CLOOG yann@1809: select COMPLIBS 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@1811: config LIBELF yann@1811: bool yann@1811: select COMPLIBS yann@1811: help yann@1811: gcc-4.5.0 and above can also use libelf to enable some optimisation yann@1811: (LTO, Link-Time Optimisation, to be precise). Although libelf is yann@1811: optional, crosstool-NG requires it and uses it to build gcc >= 4.5.0. yann@1811: yann@1811: This will be automatically selected if you choose gcc>=4.5.0, but you yann@1811: can say 'Y' here, although it is unknown yet if any other component yann@1811: can use it. yann@1811: yann@1810: config GMP_TARGET yann@1810: bool yann@1810: yann@1810: config MPFR_TARGET yann@1810: bool yann@1810: select GMP_TARGET yann@1810: yann@1810: config PPL_TARGET yann@1810: bool yann@1810: select GMP_TARGET yann@1810: select MPFR_TARGET yann@1810: yann@1810: config CLOOG_TARGET yann@1810: bool yann@1810: select GMP_TARGET yann@1810: select MPFR_TARGET yann@1810: select PPL_TARGET yann@1810: yann@1810: config MPC_TARGET yann@1810: bool yann@1810: select GMP_TARGET yann@1810: select MPFR_TARGET yann@1810: select PPL_TARGET yann@1810: select CLOOG_TARGET yann@1810: yann@1811: config LIBELF_TARGET yann@1811: bool yann@1811: yann@1810: if GMP || GMP_TARGET yann@1810: comment "GMP version needed to build for target" yann@1810: depends on !GMP yann@1870: source "config/companion_libs/gmp.in" yann@1808: endif yann@1810: if MPFR || MPFR_TARGET yann@1810: comment "MPFR version needed to build for target" yann@1810: depends on !MPFR yann@1870: source "config/companion_libs/mpfr.in" yann@602: endif yann@1810: if PPL || PPL_TARGET yann@1810: comment "PPL version needed to build for target" yann@1810: depends on !PPL yann@1870: source "config/companion_libs/ppl.in" yann@1808: endif yann@1810: if CLOOG || CLOOG_TARGET yann@1810: comment "CLOOG version needed to build for target" yann@1810: depends on !CLOOG yann@1870: source "config/companion_libs/cloog.in" yann@1808: endif yann@1810: if MPC || MPC_TARGET yann@1810: comment "MPC version needed to build for target" yann@1810: depends on !MPC yann@1870: source "config/companion_libs/mpc.in" yann@1324: endif yann@1811: if LIBELF || LIBELF_TARGET yann@1811: comment "libelf version needed to build for target" yann@1811: depends on !LIBELF yann@1870: source "config/companion_libs/libelf.in" yann@1811: endif yann@1324: yann@1398: config FOO yann@1398: bool yann@1398: yann@1892: if COMPLIBS yann@1892: yann@1398: comment "Companion libraries common options" yann@1809: yann@1890: config COMPLIBS_CHECK yann@1386: bool yann@1892: 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@1892: config COMPLIBS_SHARED yann@1892: bool yann@1892: prompt "Build shared companion libraries" yann@1892: default n yann@1892: depends on COMPLIBS yann@1892: select WRAPPER_NEEDED yann@1892: help yann@1892: By default, the companion libraries will be build static. If you want to yann@1892: build shared libraries, then you can say 'Y' here, but a wrapper will be yann@1892: needed (see docs/overview.txt,section "Tools wrapper"). yann@1892: yann@1892: It is highly recommended that you keep static libraries. yann@1892: 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@1892: endif # COMPLIBS yann@1892: yann@602: endmenu