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@1809
|
19 |
select COMPLIBS
|
yann@602
|
20 |
help
|
yann@1808
|
21 |
gcc 4.3.0 and above requires GMP to build some frontends, and some
|
yann@1808
|
22 |
other components can use them as well.
|
yann@1318
|
23 |
|
yann@1808
|
24 |
This will be automatically selected if you choose gcc>=4.3.0, but you
|
yann@1808
|
25 |
can say 'Y' here if you want to build this library for the other
|
yann@1324
|
26 |
components (that don't select them by default).
|
yann@1318
|
27 |
|
yann@602
|
28 |
The packages that can use GMP and MPFR are:
|
yann@602
|
29 |
- binutils
|
yann@602
|
30 |
- gcc
|
yann@602
|
31 |
- gdb
|
yann@602
|
32 |
|
yann@1808
|
33 |
config MPFR
|
yann@1808
|
34 |
bool
|
yann@1808
|
35 |
select GMP
|
yann@1809
|
36 |
select COMPLIBS
|
yann@1808
|
37 |
help
|
yann@1808
|
38 |
gcc 4.3.0 and above requires MPFR to build some frontends, and some
|
yann@1808
|
39 |
other components can use them as well.
|
yann@1808
|
40 |
|
yann@1808
|
41 |
This will be automatically selected if you choose gcc>=4.3.0, but you
|
yann@1808
|
42 |
can say 'Y' here if you want to build this library for the other
|
yann@1808
|
43 |
components (that don't select them by default).
|
yann@1808
|
44 |
|
yann@1808
|
45 |
The packages that can use GMP and MPFR are:
|
yann@1808
|
46 |
- binutils
|
yann@1808
|
47 |
- gcc
|
yann@1808
|
48 |
- gdb
|
yann@1808
|
49 |
|
yann@1808
|
50 |
config PPL
|
yann@1808
|
51 |
bool
|
yann@1808
|
52 |
select GMP
|
yann@1808
|
53 |
select MPFR
|
yann@1809
|
54 |
select COMPLIBS
|
yann@1808
|
55 |
help
|
yann@1808
|
56 |
gcc-4.4.0 and above requires PPL to build some parts of the optimiser
|
yann@1808
|
57 |
(the GRAPHITE loop optimisation, to be precise).
|
yann@1808
|
58 |
|
yann@1808
|
59 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
60 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
61 |
can use it.
|
yann@1808
|
62 |
|
yann@1808
|
63 |
config CLOOG
|
yann@1808
|
64 |
bool
|
yann@1808
|
65 |
select GMP
|
yann@1808
|
66 |
select MPFR
|
yann@1808
|
67 |
select PPL
|
yann@1809
|
68 |
select COMPLIBS
|
yann@1808
|
69 |
help
|
yann@1808
|
70 |
gcc-4.4.0 and above requires CLooG/PPL to build some parts of the
|
yann@1808
|
71 |
optimiser (the GRAPHITE loop optimisation, to be precise).
|
yann@1808
|
72 |
|
yann@1808
|
73 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
74 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
75 |
can use it.
|
yann@1808
|
76 |
|
yann@1808
|
77 |
config MPC
|
yann@1808
|
78 |
bool
|
yann@1808
|
79 |
select GMP
|
yann@1808
|
80 |
select MPFR
|
yann@1808
|
81 |
select PPL
|
yann@1808
|
82 |
select CLOOG
|
yann@1809
|
83 |
select COMPLIBS
|
yann@1808
|
84 |
help
|
yann@1808
|
85 |
gcc-4.4.0 and above can also optionally use MPC to enable additional
|
yann@1808
|
86 |
optimisations on complex numbers. Although MPC is optional,
|
yann@1808
|
87 |
crosstool-NG requires it and uses it to build gcc >= 4.4.0.
|
yann@1808
|
88 |
|
yann@1808
|
89 |
This will be automatically selected if you choose gcc>=4.4.0, but you
|
yann@1808
|
90 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1808
|
91 |
can use it.
|
yann@1808
|
92 |
|
yann@1811
|
93 |
config LIBELF
|
yann@1811
|
94 |
bool
|
yann@1811
|
95 |
select COMPLIBS
|
yann@1811
|
96 |
help
|
yann@1811
|
97 |
gcc-4.5.0 and above can also use libelf to enable some optimisation
|
yann@1811
|
98 |
(LTO, Link-Time Optimisation, to be precise). Although libelf is
|
yann@1811
|
99 |
optional, crosstool-NG requires it and uses it to build gcc >= 4.5.0.
|
yann@1811
|
100 |
|
yann@1811
|
101 |
This will be automatically selected if you choose gcc>=4.5.0, but you
|
yann@1811
|
102 |
can say 'Y' here, although it is unknown yet if any other component
|
yann@1811
|
103 |
can use it.
|
yann@1811
|
104 |
|
yann@1810
|
105 |
config GMP_TARGET
|
yann@1810
|
106 |
bool
|
yann@1810
|
107 |
|
yann@1810
|
108 |
config MPFR_TARGET
|
yann@1810
|
109 |
bool
|
yann@1810
|
110 |
select GMP_TARGET
|
yann@1810
|
111 |
|
yann@1810
|
112 |
config PPL_TARGET
|
yann@1810
|
113 |
bool
|
yann@1810
|
114 |
select GMP_TARGET
|
yann@1810
|
115 |
select MPFR_TARGET
|
yann@1810
|
116 |
|
yann@1810
|
117 |
config CLOOG_TARGET
|
yann@1810
|
118 |
bool
|
yann@1810
|
119 |
select GMP_TARGET
|
yann@1810
|
120 |
select MPFR_TARGET
|
yann@1810
|
121 |
select PPL_TARGET
|
yann@1810
|
122 |
|
yann@1810
|
123 |
config MPC_TARGET
|
yann@1810
|
124 |
bool
|
yann@1810
|
125 |
select GMP_TARGET
|
yann@1810
|
126 |
select MPFR_TARGET
|
yann@1810
|
127 |
select PPL_TARGET
|
yann@1810
|
128 |
select CLOOG_TARGET
|
yann@1810
|
129 |
|
yann@1811
|
130 |
config LIBELF_TARGET
|
yann@1811
|
131 |
bool
|
yann@1811
|
132 |
|
yann@1810
|
133 |
if GMP || GMP_TARGET
|
yann@1810
|
134 |
comment "GMP version needed to build for target"
|
yann@1810
|
135 |
depends on !GMP
|
yann@1870
|
136 |
source "config/companion_libs/gmp.in"
|
yann@1808
|
137 |
endif
|
yann@1810
|
138 |
if MPFR || MPFR_TARGET
|
yann@1810
|
139 |
comment "MPFR version needed to build for target"
|
yann@1810
|
140 |
depends on !MPFR
|
yann@1870
|
141 |
source "config/companion_libs/mpfr.in"
|
yann@602
|
142 |
endif
|
yann@1810
|
143 |
if PPL || PPL_TARGET
|
yann@1810
|
144 |
comment "PPL version needed to build for target"
|
yann@1810
|
145 |
depends on !PPL
|
yann@1870
|
146 |
source "config/companion_libs/ppl.in"
|
yann@1808
|
147 |
endif
|
yann@1810
|
148 |
if CLOOG || CLOOG_TARGET
|
yann@1810
|
149 |
comment "CLOOG version needed to build for target"
|
yann@1810
|
150 |
depends on !CLOOG
|
yann@1870
|
151 |
source "config/companion_libs/cloog.in"
|
yann@1808
|
152 |
endif
|
yann@1810
|
153 |
if MPC || MPC_TARGET
|
yann@1810
|
154 |
comment "MPC version needed to build for target"
|
yann@1810
|
155 |
depends on !MPC
|
yann@1870
|
156 |
source "config/companion_libs/mpc.in"
|
yann@1324
|
157 |
endif
|
yann@1811
|
158 |
if LIBELF || LIBELF_TARGET
|
yann@1811
|
159 |
comment "libelf version needed to build for target"
|
yann@1811
|
160 |
depends on !LIBELF
|
yann@1870
|
161 |
source "config/companion_libs/libelf.in"
|
yann@1811
|
162 |
endif
|
yann@1324
|
163 |
|
yann@1398
|
164 |
config FOO
|
yann@1398
|
165 |
bool
|
yann@1398
|
166 |
|
yann@1892
|
167 |
if COMPLIBS
|
yann@1892
|
168 |
|
yann@1398
|
169 |
comment "Companion libraries common options"
|
yann@1809
|
170 |
|
yann@1890
|
171 |
config COMPLIBS_CHECK
|
yann@1386
|
172 |
bool
|
yann@1892
|
173 |
prompt "Check the companion libraries builds (!!! READ HELP!!!)"
|
yann@1386
|
174 |
default n
|
yann@1386
|
175 |
help
|
yann@1386
|
176 |
It is highly recommended to check the newly built companion libraries.
|
yann@1386
|
177 |
Unfortunately, this is a very intensive task, and takes a loooong time.
|
Yann@1407
|
178 |
|
yann@1386
|
179 |
Checking the newly built companion libraries is thus disabled by default,
|
yann@1388
|
180 |
but it is suggested that you check them at least once on your machine,
|
yann@1386
|
181 |
and if they work, disable the check on subsequent builds.
|
Yann@1407
|
182 |
|
yann@1386
|
183 |
If you suspect that one (or more) of your companion libraries is the
|
yann@1386
|
184 |
cause for incorrectly generated code, you should answer 'Y' here.
|
yann@1386
|
185 |
Note however that this will take a really long time. For example,
|
yann@1386
|
186 |
building PPL on my machine takes roughly 1'40", while checking it takes
|
yann@1398
|
187 |
about 1h40'...
|
yann@1386
|
188 |
|
yann@1892
|
189 |
config COMPLIBS_SHARED
|
yann@1892
|
190 |
bool
|
yann@1892
|
191 |
prompt "Build shared companion libraries"
|
yann@1892
|
192 |
default n
|
yann@1892
|
193 |
depends on COMPLIBS
|
yann@1892
|
194 |
select WRAPPER_NEEDED
|
yann@1892
|
195 |
help
|
yann@1892
|
196 |
By default, the companion libraries will be build static. If you want to
|
yann@1892
|
197 |
build shared libraries, then you can say 'Y' here, but a wrapper will be
|
yann@1892
|
198 |
needed (see docs/overview.txt,section "Tools wrapper").
|
yann@1892
|
199 |
|
yann@1892
|
200 |
It is highly recommended that you keep static libraries.
|
yann@1892
|
201 |
|
yann@1515
|
202 |
choice
|
yann@1515
|
203 |
bool
|
yann@1515
|
204 |
prompt "| Install tools wrapper as:"
|
yann@1515
|
205 |
depends on WRAPPER_NEEDED
|
yann@1515
|
206 |
default TOOLS_WRAPPER_SHELL
|
yann@1515
|
207 |
|
yann@1515
|
208 |
config TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
209 |
bool
|
yann@1515
|
210 |
prompt "shell script"
|
yann@1515
|
211 |
help
|
yann@1515
|
212 |
If your host has a shell, then you should say 'Y' here, to use
|
yann@1515
|
213 |
a (very very simple) shell script as wrapper.
|
yann@1515
|
214 |
|
yann@1515
|
215 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
216 |
|
yann@1515
|
217 |
config TOOLS_WRAPPER_EXEC
|
yann@1515
|
218 |
bool
|
yann@1515
|
219 |
prompt "executable"
|
yann@1515
|
220 |
help
|
yann@1515
|
221 |
If your host lacks a shell, then you should say 'Y' here, to use
|
yann@1515
|
222 |
an executable.
|
yann@1515
|
223 |
|
yann@1515
|
224 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
225 |
|
yann@1515
|
226 |
endchoice
|
yann@1515
|
227 |
|
yann@1515
|
228 |
config TOOLS_WRAPPER
|
yann@1515
|
229 |
string
|
yann@1515
|
230 |
default "script" if TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
231 |
default "exec" if TOOLS_WRAPPER_EXEC
|
yann@1515
|
232 |
|
yann@1892
|
233 |
endif # COMPLIBS
|
yann@1892
|
234 |
|
yann@602
|
235 |
endmenu
|