mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-23 14:42:26 +00:00
991b90f242
When gcc-4.5 is out, it will require libelf. So better make it a companion library now rather than postponing the ineluctable.
233 lines
6.1 KiB
Plaintext
233 lines
6.1 KiB
Plaintext
# Companion libraries config options
|
|
# Those libraries are required for different versions of gcc,
|
|
# and can be used by binutils and gdb (maybe others as well).
|
|
|
|
menu "Companion libraries"
|
|
|
|
comment "FIXME: check real dependencies!!!"
|
|
|
|
config COMPLIBS
|
|
bool
|
|
default n
|
|
|
|
config WRAPPER_NEEDED
|
|
bool
|
|
default n
|
|
|
|
config GMP
|
|
bool
|
|
prompt "GMP"
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc 4.3.0 and above requires GMP to build some frontends, and some
|
|
other components can use them as well.
|
|
|
|
This will be automatically selected if you choose gcc>=4.3.0, but you
|
|
can say 'Y' here if you want to build this library for the other
|
|
components (that don't select them by default).
|
|
|
|
The packages that can use GMP and MPFR are:
|
|
- binutils
|
|
- gcc
|
|
- gdb
|
|
|
|
config MPFR
|
|
bool
|
|
prompt "MPFR"
|
|
select GMP
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc 4.3.0 and above requires MPFR to build some frontends, and some
|
|
other components can use them as well.
|
|
|
|
This will be automatically selected if you choose gcc>=4.3.0, but you
|
|
can say 'Y' here if you want to build this library for the other
|
|
components (that don't select them by default).
|
|
|
|
The packages that can use GMP and MPFR are:
|
|
- binutils
|
|
- gcc
|
|
- gdb
|
|
|
|
config PPL
|
|
bool
|
|
prompt "PPL"
|
|
select GMP
|
|
select MPFR
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc-4.4.0 and above requires PPL to build some parts of the optimiser
|
|
(the GRAPHITE loop optimisation, to be precise).
|
|
|
|
This will be automatically selected if you choose gcc>=4.4.0, but you
|
|
can say 'Y' here, although it is unknown yet if any other component
|
|
can use it.
|
|
|
|
config CLOOG
|
|
bool
|
|
prompt "GLooG/PPL"
|
|
select GMP
|
|
select MPFR
|
|
select PPL
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc-4.4.0 and above requires CLooG/PPL to build some parts of the
|
|
optimiser (the GRAPHITE loop optimisation, to be precise).
|
|
|
|
This will be automatically selected if you choose gcc>=4.4.0, but you
|
|
can say 'Y' here, although it is unknown yet if any other component
|
|
can use it.
|
|
|
|
config MPC
|
|
bool
|
|
prompt "MPC"
|
|
select GMP
|
|
select MPFR
|
|
select PPL
|
|
select CLOOG
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc-4.4.0 and above can also optionally use MPC to enable additional
|
|
optimisations on complex numbers. Although MPC is optional,
|
|
crosstool-NG requires it and uses it to build gcc >= 4.4.0.
|
|
|
|
This will be automatically selected if you choose gcc>=4.4.0, but you
|
|
can say 'Y' here, although it is unknown yet if any other component
|
|
can use it.
|
|
|
|
config LIBELF
|
|
bool
|
|
# prompt "libelf"
|
|
select COMPLIBS
|
|
select WRAPPER_NEEDED
|
|
help
|
|
gcc-4.5.0 and above can also use libelf to enable some optimisation
|
|
(LTO, Link-Time Optimisation, to be precise). Although libelf is
|
|
optional, crosstool-NG requires it and uses it to build gcc >= 4.5.0.
|
|
|
|
This will be automatically selected if you choose gcc>=4.5.0, but you
|
|
can say 'Y' here, although it is unknown yet if any other component
|
|
can use it.
|
|
|
|
config GMP_TARGET
|
|
bool
|
|
|
|
config MPFR_TARGET
|
|
bool
|
|
select GMP_TARGET
|
|
|
|
config PPL_TARGET
|
|
bool
|
|
select GMP_TARGET
|
|
select MPFR_TARGET
|
|
|
|
config CLOOG_TARGET
|
|
bool
|
|
select GMP_TARGET
|
|
select MPFR_TARGET
|
|
select PPL_TARGET
|
|
|
|
config MPC_TARGET
|
|
bool
|
|
select GMP_TARGET
|
|
select MPFR_TARGET
|
|
select PPL_TARGET
|
|
select CLOOG_TARGET
|
|
|
|
config LIBELF_TARGET
|
|
bool
|
|
|
|
if GMP || GMP_TARGET
|
|
comment "GMP version needed to build for target"
|
|
depends on !GMP
|
|
source config/companion_libs/gmp.in
|
|
endif
|
|
if MPFR || MPFR_TARGET
|
|
comment "MPFR version needed to build for target"
|
|
depends on !MPFR
|
|
source config/companion_libs/mpfr.in
|
|
endif
|
|
if PPL || PPL_TARGET
|
|
comment "PPL version needed to build for target"
|
|
depends on !PPL
|
|
source config/companion_libs/ppl.in
|
|
endif
|
|
if CLOOG || CLOOG_TARGET
|
|
comment "CLOOG version needed to build for target"
|
|
depends on !CLOOG
|
|
source config/companion_libs/cloog.in
|
|
endif
|
|
if MPC || MPC_TARGET
|
|
comment "MPC version needed to build for target"
|
|
depends on !MPC
|
|
source config/companion_libs/mpc.in
|
|
endif
|
|
if LIBELF || LIBELF_TARGET
|
|
comment "libelf version needed to build for target"
|
|
depends on !LIBELF
|
|
source config/companion_libs/libelf.in
|
|
endif
|
|
|
|
config FOO
|
|
bool
|
|
|
|
comment "Companion libraries common options"
|
|
depends on COMPLIBS || WRAPPER_NEEDED
|
|
|
|
config COMP_LIBS_CHECK
|
|
bool
|
|
prompt "| Check the companion libraries builds (!!! READ HELP!!!)"
|
|
default n
|
|
depends on COMPLIBS
|
|
help
|
|
It is highly recommended to check the newly built companion libraries.
|
|
Unfortunately, this is a very intensive task, and takes a loooong time.
|
|
|
|
Checking the newly built companion libraries is thus disabled by default,
|
|
but it is suggested that you check them at least once on your machine,
|
|
and if they work, disable the check on subsequent builds.
|
|
|
|
If you suspect that one (or more) of your companion libraries is the
|
|
cause for incorrectly generated code, you should answer 'Y' here.
|
|
Note however that this will take a really long time. For example,
|
|
building PPL on my machine takes roughly 1'40", while checking it takes
|
|
about 1h40'...
|
|
|
|
choice
|
|
bool
|
|
prompt "| Install tools wrapper as:"
|
|
depends on WRAPPER_NEEDED
|
|
default TOOLS_WRAPPER_SHELL
|
|
|
|
config TOOLS_WRAPPER_SCRIPT
|
|
bool
|
|
prompt "shell script"
|
|
help
|
|
If your host has a shell, then you should say 'Y' here, to use
|
|
a (very very simple) shell script as wrapper.
|
|
|
|
See docs/overview.txt, section "Tools wrapper".
|
|
|
|
config TOOLS_WRAPPER_EXEC
|
|
bool
|
|
prompt "executable"
|
|
help
|
|
If your host lacks a shell, then you should say 'Y' here, to use
|
|
an executable.
|
|
|
|
See docs/overview.txt, section "Tools wrapper".
|
|
|
|
endchoice
|
|
|
|
config TOOLS_WRAPPER
|
|
string
|
|
default "script" if TOOLS_WRAPPER_SCRIPT
|
|
default "exec" if TOOLS_WRAPPER_EXEC
|
|
|
|
endmenu
|