yann@1318
|
1 |
# Companion libraries config options
|
yann@1318
|
2 |
# Those libraries are required for different versions of gcc,
|
yann@1318
|
3 |
# and can be used by binutils and gdb (maybe others as well).
|
yann@602
|
4 |
|
yann@1318
|
5 |
menu "Companion libraries"
|
yann@602
|
6 |
|
yann@1495
|
7 |
config WRAPPER_NEEDED
|
yann@1495
|
8 |
bool
|
yann@1495
|
9 |
default n
|
yann@1495
|
10 |
|
yann@602
|
11 |
config GMP_MPFR
|
yann@602
|
12 |
bool
|
yann@602
|
13 |
prompt "GMP and MPFR"
|
yann@1495
|
14 |
select WRAPPER_NEEDED
|
yann@602
|
15 |
help
|
yann@1318
|
16 |
gcc 4.3.0 and above requires both GMP and MPFR to build some frontends,
|
yann@1324
|
17 |
and some other components can use them as well.
|
yann@1318
|
18 |
|
yann@1324
|
19 |
These will be automatically selected if you choose gcc>=4.3.0, but you
|
yann@1324
|
20 |
can say 'Y' here if you want to build those two libraries for the other
|
yann@1324
|
21 |
components (that don't select them by default).
|
yann@1318
|
22 |
|
yann@602
|
23 |
The packages that can use GMP and MPFR are:
|
yann@602
|
24 |
- binutils
|
yann@602
|
25 |
- gcc
|
yann@602
|
26 |
- gdb
|
yann@602
|
27 |
|
yann@602
|
28 |
if GMP_MPFR
|
yann@1318
|
29 |
source config/companion_libs/gmp.in
|
yann@1318
|
30 |
source config/companion_libs/mpfr.in
|
yann@602
|
31 |
endif
|
yann@602
|
32 |
|
yann@1384
|
33 |
config PPL_CLOOG_MPC
|
yann@1324
|
34 |
bool
|
yann@1384
|
35 |
prompt "PPL, GLooG/PPL and MPC"
|
yann@1496
|
36 |
select GMP_MPFR
|
yann@1495
|
37 |
select WRAPPER_NEEDED
|
yann@1324
|
38 |
help
|
yann@1384
|
39 |
gcc-4.4.0 and above requires PPL and CLooG/PPL to build some parts
|
yann@1384
|
40 |
of the optimiser (GRAPHITE loop optimisation, to be precise).
|
yann@1384
|
41 |
|
yann@1384
|
42 |
In addition to those, gcc-4.4 also optionally uses MPC to enable
|
yann@1384
|
43 |
additional optimisations on complex numbers. Although MPC is optional,
|
yann@1384
|
44 |
crosstool-NG requires it and uses it to build gcc >= 4.4.0.
|
yann@1324
|
45 |
|
yann@1324
|
46 |
These will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1324
|
47 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1324
|
48 |
can use them.
|
yann@1324
|
49 |
|
yann@1384
|
50 |
if PPL_CLOOG_MPC
|
yann@1324
|
51 |
source config/companion_libs/ppl.in
|
yann@1380
|
52 |
source config/companion_libs/cloog.in
|
yann@1384
|
53 |
source config/companion_libs/mpc.in
|
yann@1324
|
54 |
endif
|
yann@1324
|
55 |
|
yann@1398
|
56 |
config FOO
|
yann@1398
|
57 |
bool
|
yann@1398
|
58 |
|
yann@1398
|
59 |
comment "Companion libraries common options"
|
yann@1386
|
60 |
depends on GMP_MPFR || PPL_CLOOG_MPC
|
yann@1386
|
61 |
|
yann@1386
|
62 |
config COMP_LIBS_CHECK
|
yann@1386
|
63 |
bool
|
yann@1398
|
64 |
prompt "| Check the companion libraries builds (!!! READ HELP!!!)"
|
yann@1386
|
65 |
depends on GMP_MPFR || PPL_CLOOG_MPC
|
yann@1386
|
66 |
default n
|
yann@1386
|
67 |
help
|
yann@1386
|
68 |
It is highly recommended to check the newly built companion libraries.
|
yann@1386
|
69 |
Unfortunately, this is a very intensive task, and takes a loooong time.
|
Yann@1407
|
70 |
|
yann@1386
|
71 |
Checking the newly built companion libraries is thus disabled by default,
|
yann@1388
|
72 |
but it is suggested that you check them at least once on your machine,
|
yann@1386
|
73 |
and if they work, disable the check on subsequent builds.
|
Yann@1407
|
74 |
|
yann@1386
|
75 |
If you suspect that one (or more) of your companion libraries is the
|
yann@1386
|
76 |
cause for incorrectly generated code, you should answer 'Y' here.
|
yann@1386
|
77 |
Note however that this will take a really long time. For example,
|
yann@1386
|
78 |
building PPL on my machine takes roughly 1'40", while checking it takes
|
yann@1398
|
79 |
about 1h40'...
|
yann@1386
|
80 |
|
yann@1386
|
81 |
config COMP_LIBS_TARGET
|
yann@1386
|
82 |
bool
|
yann@1398
|
83 |
prompt "| Build companion libraries for the target"
|
yann@1386
|
84 |
depends on GMP_MPFR || PPL_CLOOG_MPC
|
yann@1386
|
85 |
depends on ! BARE_METAL
|
yann@1386
|
86 |
default n
|
yann@1386
|
87 |
help
|
yann@1386
|
88 |
Also build companion libraries for the target. This can be usefull if
|
yann@1386
|
89 |
you want to later build a compiler that will run on the target, or if
|
yann@1386
|
90 |
you want to run gdb natively on the target.
|
yann@1386
|
91 |
|
yann@1386
|
92 |
Please note that for now, crosstool-NG can only build GMP and MPFR so.
|
yann@1386
|
93 |
|
yann@1515
|
94 |
choice
|
yann@1515
|
95 |
bool
|
yann@1515
|
96 |
prompt "| Install tools wrapper as:"
|
yann@1515
|
97 |
depends on WRAPPER_NEEDED
|
yann@1515
|
98 |
default TOOLS_WRAPPER_SHELL
|
yann@1515
|
99 |
|
yann@1515
|
100 |
config TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
101 |
bool
|
yann@1515
|
102 |
prompt "shell script"
|
yann@1515
|
103 |
help
|
yann@1515
|
104 |
If your host has a shell, then you should say 'Y' here, to use
|
yann@1515
|
105 |
a (very very simple) shell script as wrapper.
|
yann@1515
|
106 |
|
yann@1515
|
107 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
108 |
|
yann@1515
|
109 |
config TOOLS_WRAPPER_EXEC
|
yann@1515
|
110 |
bool
|
yann@1515
|
111 |
prompt "executable"
|
yann@1515
|
112 |
help
|
yann@1515
|
113 |
If your host lacks a shell, then you should say 'Y' here, to use
|
yann@1515
|
114 |
an executable.
|
yann@1515
|
115 |
|
yann@1515
|
116 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
117 |
|
yann@1515
|
118 |
endchoice
|
yann@1515
|
119 |
|
yann@1515
|
120 |
config TOOLS_WRAPPER
|
yann@1515
|
121 |
string
|
yann@1515
|
122 |
default "script" if TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
123 |
default "exec" if TOOLS_WRAPPER_EXEC
|
yann@1515
|
124 |
|
yann@602
|
125 |
endmenu
|