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@1808
|
7 |
comment "FIXME: check real dependencies!!!"
|
yann@1808
|
8 |
|
yann@1809
|
9 |
config COMPLIBS
|
yann@1809
|
10 |
bool
|
yann@1809
|
11 |
default n
|
yann@1809
|
12 |
|
yann@1495
|
13 |
config WRAPPER_NEEDED
|
yann@1495
|
14 |
bool
|
yann@1495
|
15 |
default n
|
yann@1495
|
16 |
|
yann@1808
|
17 |
config GMP
|
yann@602
|
18 |
bool
|
yann@1808
|
19 |
prompt "GMP"
|
yann@1809
|
20 |
select COMPLIBS
|
yann@1495
|
21 |
select WRAPPER_NEEDED
|
yann@602
|
22 |
help
|
yann@1808
|
23 |
gcc 4.3.0 and above requires GMP to build some frontends, and some
|
yann@1808
|
24 |
other components can use them as well.
|
yann@1318
|
25 |
|
yann@1808
|
26 |
This will be automatically selected if you choose gcc>=4.3.0, but you
|
yann@1808
|
27 |
can say 'Y' here if you want to build this library for the other
|
yann@1324
|
28 |
components (that don't select them by default).
|
yann@1318
|
29 |
|
yann@602
|
30 |
The packages that can use GMP and MPFR are:
|
yann@602
|
31 |
- binutils
|
yann@602
|
32 |
- gcc
|
yann@602
|
33 |
- gdb
|
yann@602
|
34 |
|
yann@1808
|
35 |
config MPFR
|
yann@1808
|
36 |
bool
|
yann@1808
|
37 |
prompt "MPFR"
|
yann@1808
|
38 |
select GMP
|
yann@1809
|
39 |
select COMPLIBS
|
yann@1808
|
40 |
select WRAPPER_NEEDED
|
yann@1808
|
41 |
help
|
yann@1808
|
42 |
gcc 4.3.0 and above requires MPFR to build some frontends, and some
|
yann@1808
|
43 |
other components can use them as well.
|
yann@1808
|
44 |
|
yann@1808
|
45 |
This will be automatically selected if you choose gcc>=4.3.0, but you
|
yann@1808
|
46 |
can say 'Y' here if you want to build this library for the other
|
yann@1808
|
47 |
components (that don't select them by default).
|
yann@1808
|
48 |
|
yann@1808
|
49 |
The packages that can use GMP and MPFR are:
|
yann@1808
|
50 |
- binutils
|
yann@1808
|
51 |
- gcc
|
yann@1808
|
52 |
- gdb
|
yann@1808
|
53 |
|
yann@1808
|
54 |
config PPL
|
yann@1808
|
55 |
bool
|
yann@1808
|
56 |
prompt "PPL"
|
yann@1808
|
57 |
select GMP
|
yann@1808
|
58 |
select MPFR
|
yann@1809
|
59 |
select COMPLIBS
|
yann@1808
|
60 |
select WRAPPER_NEEDED
|
yann@1808
|
61 |
help
|
yann@1808
|
62 |
gcc-4.4.0 and above requires PPL to build some parts of the optimiser
|
yann@1808
|
63 |
(the GRAPHITE loop optimisation, to be precise).
|
yann@1808
|
64 |
|
yann@1808
|
65 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
66 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
67 |
can use it.
|
yann@1808
|
68 |
|
yann@1808
|
69 |
config CLOOG
|
yann@1808
|
70 |
bool
|
yann@1808
|
71 |
prompt "GLooG/PPL"
|
yann@1808
|
72 |
select GMP
|
yann@1808
|
73 |
select MPFR
|
yann@1808
|
74 |
select PPL
|
yann@1809
|
75 |
select COMPLIBS
|
yann@1808
|
76 |
select WRAPPER_NEEDED
|
yann@1808
|
77 |
help
|
yann@1808
|
78 |
gcc-4.4.0 and above requires CLooG/PPL to build some parts of the
|
yann@1808
|
79 |
optimiser (the GRAPHITE loop optimisation, to be precise).
|
yann@1808
|
80 |
|
yann@1808
|
81 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
82 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
83 |
can use it.
|
yann@1808
|
84 |
|
yann@1808
|
85 |
config MPC
|
yann@1808
|
86 |
bool
|
yann@1808
|
87 |
prompt "MPC"
|
yann@1808
|
88 |
select GMP
|
yann@1808
|
89 |
select MPFR
|
yann@1808
|
90 |
select PPL
|
yann@1808
|
91 |
select CLOOG
|
yann@1809
|
92 |
select COMPLIBS
|
yann@1808
|
93 |
select WRAPPER_NEEDED
|
yann@1808
|
94 |
help
|
yann@1808
|
95 |
gcc-4.4.0 and above can also optionally use MPC to enable additional
|
yann@1808
|
96 |
optimisations on complex numbers. Although MPC is optional,
|
yann@1808
|
97 |
crosstool-NG requires it and uses it to build gcc >= 4.4.0.
|
yann@1808
|
98 |
|
yann@1808
|
99 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
100 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
101 |
can use it.
|
yann@1808
|
102 |
|
yann@1808
|
103 |
if GMP
|
yann@1318
|
104 |
source config/companion_libs/gmp.in
|
yann@1808
|
105 |
endif
|
yann@1808
|
106 |
if MPFR
|
yann@1318
|
107 |
source config/companion_libs/mpfr.in
|
yann@602
|
108 |
endif
|
yann@1808
|
109 |
if PPL
|
yann@1324
|
110 |
source config/companion_libs/ppl.in
|
yann@1808
|
111 |
endif
|
yann@1808
|
112 |
if CLOOG
|
yann@1380
|
113 |
source config/companion_libs/cloog.in
|
yann@1808
|
114 |
endif
|
yann@1808
|
115 |
if MPC
|
yann@1384
|
116 |
source config/companion_libs/mpc.in
|
yann@1324
|
117 |
endif
|
yann@1324
|
118 |
|
yann@1398
|
119 |
config FOO
|
yann@1398
|
120 |
bool
|
yann@1398
|
121 |
|
yann@1398
|
122 |
comment "Companion libraries common options"
|
yann@1809
|
123 |
depends on COMPLIBS || WRAPPER_NEEDED
|
yann@1809
|
124 |
|
yann@1809
|
125 |
if COMPLIBS
|
yann@1386
|
126 |
|
yann@1386
|
127 |
config COMP_LIBS_CHECK
|
yann@1386
|
128 |
bool
|
yann@1398
|
129 |
prompt "| Check the companion libraries builds (!!! READ HELP!!!)"
|
yann@1386
|
130 |
default n
|
yann@1386
|
131 |
help
|
yann@1386
|
132 |
It is highly recommended to check the newly built companion libraries.
|
yann@1386
|
133 |
Unfortunately, this is a very intensive task, and takes a loooong time.
|
Yann@1407
|
134 |
|
yann@1386
|
135 |
Checking the newly built companion libraries is thus disabled by default,
|
yann@1388
|
136 |
but it is suggested that you check them at least once on your machine,
|
yann@1386
|
137 |
and if they work, disable the check on subsequent builds.
|
Yann@1407
|
138 |
|
yann@1386
|
139 |
If you suspect that one (or more) of your companion libraries is the
|
yann@1386
|
140 |
cause for incorrectly generated code, you should answer 'Y' here.
|
yann@1386
|
141 |
Note however that this will take a really long time. For example,
|
yann@1386
|
142 |
building PPL on my machine takes roughly 1'40", while checking it takes
|
yann@1398
|
143 |
about 1h40'...
|
yann@1386
|
144 |
|
yann@1809
|
145 |
config COMPLIBS_TARGET
|
yann@1386
|
146 |
bool
|
yann@1398
|
147 |
prompt "| Build companion libraries for the target"
|
yann@1386
|
148 |
depends on ! BARE_METAL
|
yann@1386
|
149 |
default n
|
yann@1386
|
150 |
help
|
yann@1386
|
151 |
Also build companion libraries for the target. This can be usefull if
|
yann@1386
|
152 |
you want to later build a compiler that will run on the target, or if
|
yann@1386
|
153 |
you want to run gdb natively on the target.
|
yann@1386
|
154 |
|
yann@1386
|
155 |
Please note that for now, crosstool-NG can only build GMP and MPFR so.
|
yann@1386
|
156 |
|
yann@1809
|
157 |
endif # COMPLIBS
|
yann@1809
|
158 |
|
yann@1515
|
159 |
choice
|
yann@1515
|
160 |
bool
|
yann@1515
|
161 |
prompt "| Install tools wrapper as:"
|
yann@1515
|
162 |
depends on WRAPPER_NEEDED
|
yann@1515
|
163 |
default TOOLS_WRAPPER_SHELL
|
yann@1515
|
164 |
|
yann@1515
|
165 |
config TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
166 |
bool
|
yann@1515
|
167 |
prompt "shell script"
|
yann@1515
|
168 |
help
|
yann@1515
|
169 |
If your host has a shell, then you should say 'Y' here, to use
|
yann@1515
|
170 |
a (very very simple) shell script as wrapper.
|
yann@1515
|
171 |
|
yann@1515
|
172 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
173 |
|
yann@1515
|
174 |
config TOOLS_WRAPPER_EXEC
|
yann@1515
|
175 |
bool
|
yann@1515
|
176 |
prompt "executable"
|
yann@1515
|
177 |
help
|
yann@1515
|
178 |
If your host lacks a shell, then you should say 'Y' here, to use
|
yann@1515
|
179 |
an executable.
|
yann@1515
|
180 |
|
yann@1515
|
181 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
182 |
|
yann@1515
|
183 |
endchoice
|
yann@1515
|
184 |
|
yann@1515
|
185 |
config TOOLS_WRAPPER
|
yann@1515
|
186 |
string
|
yann@1515
|
187 |
default "script" if TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
188 |
default "exec" if TOOLS_WRAPPER_EXEC
|
yann@1515
|
189 |
|
yann@602
|
190 |
endmenu
|