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@1811
|
105 |
config LIBELF_TARGET
|
yann@1811
|
106 |
bool
|
yann@1811
|
107 |
|
yann@2099
|
108 |
if GMP
|
yann@1870
|
109 |
source "config/companion_libs/gmp.in"
|
yann@1808
|
110 |
endif
|
yann@2099
|
111 |
if MPFR
|
yann@1870
|
112 |
source "config/companion_libs/mpfr.in"
|
yann@602
|
113 |
endif
|
yann@2099
|
114 |
if PPL
|
yann@1870
|
115 |
source "config/companion_libs/ppl.in"
|
yann@1808
|
116 |
endif
|
yann@2099
|
117 |
if CLOOG
|
yann@1870
|
118 |
source "config/companion_libs/cloog.in"
|
yann@1808
|
119 |
endif
|
yann@2099
|
120 |
if MPC
|
yann@1870
|
121 |
source "config/companion_libs/mpc.in"
|
yann@1324
|
122 |
endif
|
yann@1811
|
123 |
if LIBELF || LIBELF_TARGET
|
yann@1811
|
124 |
comment "libelf version needed to build for target"
|
yann@1811
|
125 |
depends on !LIBELF
|
yann@1870
|
126 |
source "config/companion_libs/libelf.in"
|
yann@1811
|
127 |
endif
|
yann@1324
|
128 |
|
yann@1398
|
129 |
config FOO
|
yann@1398
|
130 |
bool
|
yann@1398
|
131 |
|
yann@1892
|
132 |
if COMPLIBS
|
yann@1892
|
133 |
|
yann@1398
|
134 |
comment "Companion libraries common options"
|
yann@1809
|
135 |
|
yann@1890
|
136 |
config COMPLIBS_CHECK
|
yann@1386
|
137 |
bool
|
yann@1892
|
138 |
prompt "Check the companion libraries builds (!!! READ HELP!!!)"
|
yann@1386
|
139 |
default n
|
yann@1386
|
140 |
help
|
yann@1386
|
141 |
It is highly recommended to check the newly built companion libraries.
|
yann@1386
|
142 |
Unfortunately, this is a very intensive task, and takes a loooong time.
|
Yann@1407
|
143 |
|
yann@1386
|
144 |
Checking the newly built companion libraries is thus disabled by default,
|
yann@1388
|
145 |
but it is suggested that you check them at least once on your machine,
|
yann@1386
|
146 |
and if they work, disable the check on subsequent builds.
|
Yann@1407
|
147 |
|
yann@1386
|
148 |
If you suspect that one (or more) of your companion libraries is the
|
yann@1386
|
149 |
cause for incorrectly generated code, you should answer 'Y' here.
|
yann@1386
|
150 |
Note however that this will take a really long time. For example,
|
yann@1386
|
151 |
building PPL on my machine takes roughly 1'40", while checking it takes
|
yann@1398
|
152 |
about 1h40'...
|
yann@1386
|
153 |
|
yann@1892
|
154 |
config COMPLIBS_SHARED
|
yann@1892
|
155 |
bool
|
yann@1892
|
156 |
prompt "Build shared companion libraries"
|
yann@1892
|
157 |
default n
|
yann@1892
|
158 |
depends on COMPLIBS
|
yann@1892
|
159 |
select WRAPPER_NEEDED
|
yann@1892
|
160 |
help
|
yann@1892
|
161 |
By default, the companion libraries will be build static. If you want to
|
yann@1892
|
162 |
build shared libraries, then you can say 'Y' here, but a wrapper will be
|
yann@1892
|
163 |
needed (see docs/overview.txt,section "Tools wrapper").
|
yann@1892
|
164 |
|
yann@1892
|
165 |
It is highly recommended that you keep static libraries.
|
yann@1892
|
166 |
|
yann@1515
|
167 |
choice
|
yann@1515
|
168 |
bool
|
yann@1515
|
169 |
prompt "| Install tools wrapper as:"
|
yann@1515
|
170 |
depends on WRAPPER_NEEDED
|
yann@1515
|
171 |
default TOOLS_WRAPPER_SHELL
|
yann@1515
|
172 |
|
yann@1515
|
173 |
config TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
174 |
bool
|
yann@1515
|
175 |
prompt "shell script"
|
yann@1515
|
176 |
help
|
yann@1515
|
177 |
If your host has a shell, then you should say 'Y' here, to use
|
yann@1515
|
178 |
a (very very simple) shell script as wrapper.
|
yann@1515
|
179 |
|
yann@1515
|
180 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
181 |
|
yann@1515
|
182 |
config TOOLS_WRAPPER_EXEC
|
yann@1515
|
183 |
bool
|
yann@1515
|
184 |
prompt "executable"
|
yann@1515
|
185 |
help
|
yann@1515
|
186 |
If your host lacks a shell, then you should say 'Y' here, to use
|
yann@1515
|
187 |
an executable.
|
yann@1515
|
188 |
|
yann@1515
|
189 |
See docs/overview.txt, section "Tools wrapper".
|
yann@1515
|
190 |
|
yann@1515
|
191 |
endchoice
|
yann@1515
|
192 |
|
yann@1515
|
193 |
config TOOLS_WRAPPER
|
yann@1515
|
194 |
string
|
yann@1515
|
195 |
default "script" if TOOLS_WRAPPER_SCRIPT
|
yann@1515
|
196 |
default "exec" if TOOLS_WRAPPER_EXEC
|
yann@1515
|
197 |
|
yann@1892
|
198 |
endif # COMPLIBS
|
yann@1892
|
199 |
|
yann@602
|
200 |
endmenu
|