Contents of /smage/branches/alx08x-stable/core/gcc/gcc-13.1.0-r2.smage2
Parent Directory
|
Revision Log
Revision 16673 -
(show annotations)
(download)
Fri Oct 6 16:20:35 2023 UTC (8 months, 1 week ago) by niro
File size: 58166 byte(s)
Fri Oct 6 16:20:35 2023 UTC (8 months, 1 week ago) by niro
File size: 58166 byte(s)
-release branches/alx08x-stable
1 | # $Id$ |
2 | |
3 | PNAME="gcc" |
4 | PVER="13.1.0" |
5 | PBUILD="r2" |
6 | |
7 | # package base name |
8 | _BASENAME="gcc" |
9 | |
10 | PCAT="sys-dev" |
11 | HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" |
12 | |
13 | sminclude mtools cleanutils libtool gcc-toolchain rpath |
14 | |
15 | # packages which needs rebuild: libtool, java-gcj-compat, llvm |
16 | |
17 | # languages to build into gcc |
18 | # options are: c,c++,ada,fortran,go,objc,obj-c++,lto,jit,d |
19 | # obj-c++ requires objc |
20 | # c++ requires c and lto |
21 | # c always goes along with lto |
22 | # gcc required minimum are c,c++,lto |
23 | # |
24 | # while toolchain bootstrap, only build c,c++ and after that rebuild the whole toolchain: |
25 | # linux-libc-headers -> binutils -> libc -> gcc -> binutils -> gcc -> libc |
26 | # |
27 | MyLanguages=c,c++,lto |
28 | # todo ada, d (libphobos) |
29 | |
30 | # 1=bootstrap the whole gcc suite, using bootstrap-lean method |
31 | # 0=no bootstrap, use this only for quick builds to test something but never for release |
32 | GCC_BOOTSTRAP="1" |
33 | |
34 | # 1=bootstrap ada, using precompiled gnat binaries |
35 | # 0=no bootstrap, build ada with system gnat - requires sys-dev/gcc-gnat |
36 | ADA_BOOTSTRAP="0" |
37 | |
38 | # 1=bootstrap d, using precompiled gcc-d binaries |
39 | # 0=no bootstrap, build d with system gcc-d - requires sys-dev/gcc-d |
40 | D_BOOTSTRAP="0" |
41 | |
42 | # 1=enable lib32 split packages |
43 | # 0=disable lib32 split packages |
44 | ENABLE_LIB32_PACKAGES="1" |
45 | |
46 | # 1=enable dev split packages |
47 | # 0=disable dev split packages |
48 | ENABLE_DEV_PACKAGES="1" |
49 | |
50 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
51 | then |
52 | sminclude lib32-split |
53 | fi |
54 | |
55 | # empty default |
56 | SPLIT_PACKAGES="" |
57 | |
58 | GLIBC_DEPEND=">= virtual/glibc" |
59 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
60 | then |
61 | GLIBC_LIB32_DEPEND=">= virtual/glibc-lib32" |
62 | fi |
63 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
64 | then |
65 | GLIBC_DEV_DEPEND=">= virtual/glibc-dev" |
66 | fi |
67 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
68 | then |
69 | ZLIB_DEPEND=">= sys-libs/zlib-1.2.13" |
70 | fi |
71 | ZLIB_LIB32_DEPEND=">= sys-libs/zlib-lib32-1.2.13" |
72 | COMMON_DEPEND="${GLIBC_DEPEND} |
73 | ${ZLIB_DEPEND} |
74 | >= dev-libs/gmp-6.2 |
75 | >= dev-libs/mpfr-4.2 |
76 | >= dev-libs/mpc-1.2 |
77 | >= dev-libs/isl-0.24" |
78 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
79 | then |
80 | COMMON_DEPEND="${GLIBC_LIB32_DEPEND} |
81 | ${ZLIB_LIB32_DEPEND} |
82 | >= dev-libs/gmp-lib32-6.2" |
83 | fi |
84 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
85 | then |
86 | COMMON_DEPEND="${COMMON_DEPEND} |
87 | >= dev-libs/gmp-dev-6.2" |
88 | fi |
89 | |
90 | # special handling for libtsan/liblsan, only x86-64 |
91 | DEPEND_x86_64="== sys-libs/libtsan-${PVER} |
92 | == sys-libs/liblsan-${PVER}" |
93 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
94 | then |
95 | DEPEND_x86_64="${DEPEND_x86_64} |
96 | == sys-libs/libtsan-dev-${PVER} |
97 | == sys-libs/liblsan-dev-${PVER}" |
98 | fi |
99 | SPECIAL_VARS="DEPEND_x86_64" |
100 | |
101 | if lang_enabled c |
102 | then |
103 | SPLIT_PACKAGES+="libgcc libgomp libquadmath libitm libatomic libasan libubsan libvtv" |
104 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
105 | then |
106 | SPLIT_PACKAGES+=" libgcc-lib32 libgomp-lib32 libquadmath-lib32 libitm-lib32 libatomic-lib32 libasan-lib32 libubsan-lib32 libvtv-lib32" |
107 | fi |
108 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
109 | then |
110 | SPLIT_PACKAGES+=" libgcc-dev libgomp-dev libquadmath-dev libitm-dev libatomic-dev libasan-dev libubsan-dev libvtv-dev" |
111 | fi |
112 | # thread/leak sanitizer is only available on x86_64 |
113 | if [[ ${ARCH} = x86_64 ]] |
114 | then |
115 | SPLIT_PACKAGES+=" libtsan liblsan" |
116 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
117 | then |
118 | SPLIT_PACKAGES+=" libtsan-dev liblsan-dev" |
119 | fi |
120 | fi |
121 | SPLIT_PACKAGES+=" gcc" |
122 | |
123 | LIBGCC_DEPEND="${GLIBC_DEPEND}" |
124 | LIBGOMP_DEPEND="${GLIBC_DEPEND}" |
125 | LIBQUADMATH_DEPEND="${GLIBC_DEPEND}" |
126 | LIBITM_DEPEND="${GLIBC_DEPEND}" |
127 | LIBATOMIC_DEPEND="${GLIBC_DEPEND}" |
128 | LIBASAN_DEPEND="${GLIBC_DEPEND}" |
129 | LIBLSAN_DEPEND="${GLIBC_DEPEND}" |
130 | LIBUBSAN_DEPEND="${GLIBC_DEPEND}" |
131 | LIBTSAN_DEPEND="${GLIBC_DEPEND}" |
132 | LIBVTV_DEPEND="${GLIBC_DEPEND}" |
133 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
134 | then |
135 | LIBGCC_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
136 | LIBGOMP_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
137 | LIBQUADMATH_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
138 | LIBITM_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
139 | LIBATOMIC_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
140 | LIBASAN_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
141 | LIBLSAN_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
142 | LIBUBSAN_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
143 | LIBTSAN_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
144 | LIBVTV_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
145 | fi |
146 | GCC_DEPEND="${COMMON_DEPEND} |
147 | >= sys-dev/binutils-2.40 |
148 | >= dev-libs/elfutils-0.189" |
149 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
150 | then |
151 | GCC_DEPEND="${GCC_DEPEND} |
152 | ${GLIBC_LIB32_DEPEND} |
153 | >= sys-libs/libelf-0.189 |
154 | >= dev-libs/elfutils-libs-lib32-0.189" |
155 | fi |
156 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
157 | then |
158 | GCC_DEPEND="${GCC_DEPEND} |
159 | ${GLIBC_DEV_DEPEND}" |
160 | fi |
161 | fi |
162 | |
163 | if lang_enabled c++ |
164 | then |
165 | SPLIT_PACKAGES+=" libstdc++" |
166 | LIBSTDCPP_DEPEND="${GLIBC_DEPEND}" |
167 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
168 | then |
169 | SPLIT_PACKAGES+=" libstdc++-lib32" |
170 | LIBSTDCPP_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
171 | fi |
172 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
173 | then |
174 | SPLIT_PACKAGES+=" libstdc++-dev" |
175 | fi |
176 | SPLIT_PACKAGES+=" gcc-c++" |
177 | CPP_DEPEND="${COMMON_DEPEND}" |
178 | fi |
179 | |
180 | if lang_enabled ada |
181 | then |
182 | SPLIT_PACKAGES+=" libgnat" |
183 | LIBGNAT_DEPEND="${GLIBC_DEPEND}" |
184 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
185 | then |
186 | SPLIT_PACKAGES+=" libgnat-lib32" |
187 | LIBGNAT_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
188 | fi |
189 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
190 | then |
191 | SPLIT_PACKAGES+=" libgnat-dev" |
192 | fi |
193 | SPLIT_PACKAGES+=" gcc-gnat" |
194 | ADA_DEPEND="${COMMON_DEPEND}" |
195 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
196 | then |
197 | GNAT_BIN_x86="gnatboot-7.2-i686.tar.xz" |
198 | GNAT_BIN_x86_64="gnatboot-7.2-amd64.tar.xz" |
199 | GNAT_BIN="$(eval echo \$GNAT_BIN_${ARCH/i*86/x86})" |
200 | GNAT_BIN_SRCDIR="${BUILDDIR}/gnat" |
201 | SRC_URI+=( mirror://${_BASENAME}/${GNAT_BIN_x86} ) |
202 | SRC_URI+=( mirror://${_BASENAME}/${GNAT_BIN_x86_64} ) |
203 | fi |
204 | fi |
205 | |
206 | if lang_enabled fortran |
207 | then |
208 | SPLIT_PACKAGES+=" libgfortran" |
209 | LIBGFORTRAN_DEPEND="${GLIBC_DEPEND}" |
210 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
211 | then |
212 | SPLIT_PACKAGES+=" libgfortran-lib32" |
213 | LIBGFORTRAN_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
214 | fi |
215 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
216 | then |
217 | SPLIT_PACKAGES+=" libgfortran-dev" |
218 | fi |
219 | SPLIT_PACKAGES+=" gcc-gfortran" |
220 | FORTRAN_DEPEND="${COMMON_DEPEND}" |
221 | fi |
222 | |
223 | if lang_enabled go |
224 | then |
225 | SPLIT_PACKAGES+=" libgo" |
226 | LIBGO_DEPEND="${GLIBC_DEPEND}" |
227 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
228 | then |
229 | SPLIT_PACKAGES+=" libgo-lib32" |
230 | LIBGO_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
231 | fi |
232 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
233 | then |
234 | SPLIT_PACKAGES+=" libgo-dev" |
235 | fi |
236 | SPLIT_PACKAGES+=" gcc-go" |
237 | GO_DEPEND="${COMMON_DEPEND}" |
238 | fi |
239 | |
240 | if lang_enabled objc |
241 | then |
242 | SPLIT_PACKAGES+=" libobjc" |
243 | LIBOBJC_DEPEND="${GLIBC_DEPEND}" |
244 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
245 | then |
246 | SPLIT_PACKAGES+=" libobjc-lib32" |
247 | LIBOBJC_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
248 | fi |
249 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
250 | then |
251 | SPLIT_PACKAGES+=" libobjc-dev" |
252 | fi |
253 | SPLIT_PACKAGES+=" gcc-objc" |
254 | OBJC_DEPEND="${COMMON_DEPEND}" |
255 | |
256 | if lang_enabled obj-c++ |
257 | then |
258 | SPLIT_PACKAGES+=" gcc-objc++" |
259 | OBJCPP_DEPEND="${COMMON_DEPEND}" |
260 | fi |
261 | fi |
262 | |
263 | if lang_enabled lto |
264 | then |
265 | SPLIT_PACKAGES+=" lto-dump" |
266 | fi |
267 | |
268 | if lang_enabled jit |
269 | then |
270 | SPLIT_PACKAGES+=" libgccjit" |
271 | fi |
272 | |
273 | if lang_enabled d |
274 | then |
275 | SPLIT_PACKAGES+=" libphobos" |
276 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
277 | then |
278 | SPLIT_PACKAGES+=" libphobos-lib32" |
279 | LIBPHOBOS_LIB32_DEPEND="${GLIBC_LIB32_DEPEND}" |
280 | fi |
281 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
282 | then |
283 | SPLIT_PACKAGES+=" libphobos-dev" |
284 | fi |
285 | SPLIT_PACKAGES+=" gcc-d" |
286 | D_DEPEND="${COMMON_DEPEND}" |
287 | fi |
288 | |
289 | SDEPEND="${LIBGCC_DEPEND} |
290 | ${LIBGOMP_DEPEND} |
291 | ${LIBQUADMATH_DEPEND} |
292 | ${LIBITM_DEPEND} |
293 | ${LIBATOMIC_DEPEND} |
294 | ${LIBASAN_DEPEND} |
295 | ${LIBLSAN_DEPEND} |
296 | ${LIBUBSAN_DEPEND} |
297 | ${LIBTSAN_DEPEND} |
298 | ${LIBVTV_DEPEND} |
299 | ${LIBSTDCPP_DEPEND} |
300 | ${GCC_DEPEND} |
301 | ${CPP_DEPEND} |
302 | ${LIBGCJ_DEPEND} |
303 | ${LIBGNAT_DEPEND} |
304 | ${ADA_DEPEND} |
305 | ${LIBGFORTRAN_DEPEND} |
306 | ${FORTRAN_DEPEND} |
307 | ${LIBGO_DEPEND} |
308 | ${GO_DEPEND} |
309 | ${LIBOBJC_DEPEND} |
310 | ${OBJC_DEPEND} |
311 | ${OBJCPP_DEPEND} |
312 | ${LIBPHOBOS_DEPEND} |
313 | ${D_DEPEND} |
314 | >= virtual/kernel-headers" |
315 | |
316 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
317 | then |
318 | SDEPEND="${LIBGCC_LIB32_DEPEND} |
319 | ${LIBGOMP_LIB32_DEPEND} |
320 | ${LIBQUADMATH_LIB32_DEPEND} |
321 | ${LIBITM_LIB32_DEPEND} |
322 | ${LIBATOMIC_LIB32_DEPEND} |
323 | ${LIBASAN_LIB32_DEPEND} |
324 | ${LIBUBSAN_LIB32_DEPEND} |
325 | ${LIBVTV_LIB32_DEPEND} |
326 | ${LIBSTDCPP_LIB32_DEPEND} |
327 | ${LIBGCJ_LIB32_DEPEND} |
328 | ${LIBGNAT_LIB32_DEPEND} |
329 | ${LIBGFORTRAN_LIB32_DEPEND} |
330 | ${LIBGO_LIB32_DEPEND} |
331 | ${LIBOBJC_LIB32_DEPEND} |
332 | ${LIBPHOBOS_LIB32_DEPEND}" |
333 | fi |
334 | |
335 | if lang_enabled ada |
336 | then |
337 | if [[ ${ADA_BOOTSTRAP} != 1 ]] |
338 | then |
339 | # add gnat to SDEPEND |
340 | SDEPEND="${SDEPEND} |
341 | >= sys-dev/gcc-gnat-7.3" |
342 | fi |
343 | fi |
344 | |
345 | if lang_enabled d |
346 | then |
347 | if [[ ${D_BOOTSTRAP} != 1 ]] |
348 | then |
349 | # add gnat to SDEPEND |
350 | SDEPEND="${SDEPEND} |
351 | >= sys-dev/gcc-d-12" |
352 | fi |
353 | fi |
354 | |
355 | if mqueryfeature "check" |
356 | then |
357 | # make check needs dejagnu |
358 | SDEPEND="${SDEPEND} |
359 | >= dev-util/dejagnu-1.6" |
360 | fi |
361 | |
362 | SRCFILE="${_BASENAME}-${PVER}.tar.xz" |
363 | SRCDIR="${BUILDDIR}/${_BASENAME}-${PVER}" |
364 | |
365 | # you better off when not using distcc to compile |
366 | # your new compiler :) maybe not all are the same |
367 | msetfeature "!distcc" |
368 | |
369 | # src_check() takes a very long time, so we dont want to run it at every rebuild |
370 | # we only run it at the last stage |
371 | msetfeature "!check" |
372 | |
373 | SRC_URI=( |
374 | ${SRC_URI[*]} |
375 | http://ftp.gwdg.de/pub/misc/${_BASENAME}/releases/${_BASENAME}-${PVER}/${SRCFILE} |
376 | #gnu://${_BASENAME}/${_BASENAME}-${PVER}/${SRCFILE} |
377 | mirror://${_BASENAME}/${SRCFILE} |
378 | ) |
379 | |
380 | UP2DATE="updatecmd 'https://ftp.gnu.org/gnu/${PNAME}/' | utf8encode | grep '\[DIR\].*${PNAME}' | sed 's:.*${PNAME}-\(.*\)/.*:\1:' | upsort_pipe" |
381 | |
382 | # gcc don't like strong CFLAGS |
383 | #export CFLAGS="${CFLAGS//-O?} -O2" |
384 | #export CXXFLAGS="${CFLAGS}" |
385 | |
386 | # from archlinux |
387 | # Credits @allanmcrae |
388 | # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD |
389 | # TODO: properly deal with the build issues resulting from this |
390 | export CFLAGS="${CFLAGS/-Werror=format-security/}" |
391 | export CXXFLAGS="${CXXFLAGS/-Werror=format-security/}" |
392 | |
393 | # check for crosscompile or export default CHOST |
394 | #if [[ -z ${CTARGET} ]] |
395 | #then |
396 | # # no crosscompile defined |
397 | # export CTARGET=${CHOST} |
398 | #else |
399 | # # use crosscompile host |
400 | # export CTARGET=${CTARGET} |
401 | #fi |
402 | |
403 | if lang_enabled c |
404 | then |
405 | split_info_gcc() |
406 | { |
407 | DESCRIPTION="Modern C compiler written by the GNU people." |
408 | |
409 | DEPEND="== sys-libs/libgcc-${PVER} |
410 | == sys-libs/libgomp-${PVER} |
411 | == sys-libs/libquadmath-${PVER} |
412 | == sys-libs/libitm-${PVER} |
413 | == sys-libs/libatomic-${PVER} |
414 | == sys-libs/libasan-${PVER} |
415 | == sys-libs/libubsan-${PVER} |
416 | == sys-libs/libvtv-${PVER} |
417 | $(marchdepend) |
418 | ${GCC_DEPEND}" |
419 | |
420 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
421 | then |
422 | DEPEND="${DEPEND} |
423 | == sys-libs/libgcc-lib32-${PVER} |
424 | == sys-libs/libgomp-lib32-${PVER} |
425 | == sys-libs/libquadmath-lib32-${PVER} |
426 | == sys-libs/libitm-lib32-${PVER} |
427 | == sys-libs/libatomic-lib32-${PVER} |
428 | == sys-libs/libasan-lib32-${PVER} |
429 | == sys-libs/libubsan-lib32-${PVER} |
430 | == sys-libs/libvtv-lib32-${PVER}" |
431 | fi |
432 | |
433 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
434 | then |
435 | DEPEND="${DEPEND} |
436 | == sys-libs/libgcc-dev-${PVER} |
437 | == sys-libs/libgomp-dev-${PVER} |
438 | == sys-libs/libquadmath-dev-${PVER} |
439 | == sys-libs/libitm-dev-${PVER} |
440 | == sys-libs/libatomic-dev-${PVER} |
441 | == sys-libs/libasan-dev-${PVER} |
442 | == sys-libs/libubsan-dev-${PVER} |
443 | == sys-libs/libvtv-dev-${PVER}" |
444 | fi |
445 | |
446 | # install libstdc++ and gcc-c++ too if enabled |
447 | if lang_enabled c++ |
448 | then |
449 | DEPEND="${DEPEND} |
450 | == sys-libs/libstdc++-${PVER} |
451 | == sys-dev/gcc-c++-${PVER}" |
452 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
453 | then |
454 | DEPEND="${DEPEND} |
455 | == sys-libs/libstdc++-lib32-${PVER}" |
456 | fi |
457 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
458 | then |
459 | DEPEND="${DEPEND} |
460 | == sys-libs/libstdc++-dev-${PVER}" |
461 | fi |
462 | fi |
463 | } |
464 | |
465 | split_info_libgcc() |
466 | { |
467 | DESCRIPTION="GCC shared support library." |
468 | DEPEND="${LIBGCC_DEPEND}" |
469 | PCAT="sys-libs" |
470 | } |
471 | |
472 | split_info_libgcc-lib32() |
473 | { |
474 | DESCRIPTION="GCC shared support library - 32bit." |
475 | DEPEND="${LIBGCC_LIB32_DEPEND}" |
476 | PCAT="sys-libs" |
477 | } |
478 | |
479 | split_info_libgcc-dev() |
480 | { |
481 | DESCRIPTION="Development files for libgcc." |
482 | DEPEND="== sys-libs/libgcc-${PVER}" |
483 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
484 | then |
485 | DEPEND="${DEPEND} |
486 | == sys-libs/libgcc-lib32-${PVER}" |
487 | fi |
488 | PCAT="sys-libs" |
489 | } |
490 | |
491 | split_info_libgomp() |
492 | { |
493 | DESCRIPTION="GNU OpenMP runtime library." |
494 | DEPEND="${LIBGOMP_DEPEND}" |
495 | PCAT="sys-libs" |
496 | } |
497 | |
498 | split_info_libgomp-lib32() |
499 | { |
500 | DESCRIPTION="GNU OpenMP runtime library - 32bit." |
501 | DEPEND="${LIBGOMP_LIB32_DEPEND}" |
502 | PCAT="sys-libs" |
503 | } |
504 | |
505 | split_info_libgomp-dev() |
506 | { |
507 | DESCRIPTION="Development files for libgomp." |
508 | DEPEND="== sys-libs/libgomp-${PVER}" |
509 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
510 | then |
511 | DEPEND="${DEPEND} |
512 | == sys-libs/libgomp-lib32-${PVER}" |
513 | fi |
514 | PCAT="sys-libs" |
515 | } |
516 | |
517 | split_info_libquadmath() |
518 | { |
519 | DESCRIPTION="GCC __float128 shared support library." |
520 | DEPEND="${LIBQUADMATH_DEPEND}" |
521 | PCAT="sys-libs" |
522 | } |
523 | |
524 | split_info_libquadmath-lib32() |
525 | { |
526 | DESCRIPTION="GCC __float128 shared support library - 32bit." |
527 | DEPEND="${LIBQUADMATH_LIB32_DEPEND}" |
528 | PCAT="sys-libs" |
529 | } |
530 | |
531 | split_info_libquadmath-dev() |
532 | { |
533 | DESCRIPTION="Development files for libquadmath." |
534 | DEPEND="== sys-libs/libquadmath-${PVER}" |
535 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
536 | then |
537 | DEPEND="${DEPEND} |
538 | == sys-libs/libquadmath-lib32-${PVER}" |
539 | fi |
540 | PCAT="sys-libs" |
541 | } |
542 | |
543 | split_info_libitm() |
544 | { |
545 | DESCRIPTION="The GNU Transactional Memory library." |
546 | DEPEND="${LIBITM_DEPEND}" |
547 | PCAT="sys-libs" |
548 | } |
549 | |
550 | split_info_libitm-lib32() |
551 | { |
552 | DESCRIPTION="The GNU Transactional Memory library - 32bit." |
553 | DEPEND="${LIBITM_LIB32_DEPEND}" |
554 | PCAT="sys-libs" |
555 | } |
556 | |
557 | split_info_libitm-dev() |
558 | { |
559 | DESCRIPTION="Development files for libitm." |
560 | DEPEND="== sys-libs/libitm-${PVER}" |
561 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
562 | then |
563 | DEPEND="${DEPEND} |
564 | == sys-libs/libitm-lib32-${PVER}" |
565 | fi |
566 | PCAT="sys-libs" |
567 | } |
568 | |
569 | split_info_libatomic() |
570 | { |
571 | DESCRIPTION="The GNU Atomic library." |
572 | DEPEND="${LIBATOMIC_DEPEND}" |
573 | PCAT="sys-libs" |
574 | } |
575 | |
576 | split_info_libatomic-lib32() |
577 | { |
578 | DESCRIPTION="The GNU Atomic library - 32bit." |
579 | DEPEND="${LIBATOMIC_LIB32_DEPEND}" |
580 | PCAT="sys-libs" |
581 | } |
582 | |
583 | split_info_libatomic-dev() |
584 | { |
585 | DESCRIPTION="Development files for libatomic." |
586 | DEPEND="== sys-libs/libatomic-${PVER}" |
587 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
588 | then |
589 | DEPEND="${DEPEND} |
590 | == sys-libs/libatomic-lib32-${PVER}" |
591 | fi |
592 | PCAT="sys-libs" |
593 | } |
594 | |
595 | split_info_libasan() |
596 | { |
597 | DESCRIPTION="The Address Sanitizer runtime library." |
598 | DEPEND="== sys-libs/libgcc-${PVER} |
599 | == sys-libs/libstdc++-${PVER} |
600 | ${LIBASAN_DEPEND}" |
601 | PCAT="sys-libs" |
602 | } |
603 | |
604 | split_info_libasan-lib32() |
605 | { |
606 | DESCRIPTION="The Address Sanitizer runtime library - 32bit." |
607 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
608 | == sys-libs/libstdc++-lib32-${PVER} |
609 | ${LIBASAN_LIB32_DEPEND}" |
610 | PCAT="sys-libs" |
611 | } |
612 | |
613 | split_info_libasan-dev() |
614 | { |
615 | DESCRIPTION="Development files for libasan." |
616 | DEPEND="== sys-libs/libasan-${PVER}" |
617 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
618 | then |
619 | DEPEND="${DEPEND} |
620 | == sys-libs/libasan-lib32-${PVER}" |
621 | fi |
622 | PCAT="sys-libs" |
623 | } |
624 | |
625 | split_info_liblsan() |
626 | { |
627 | DESCRIPTION="The Leak Sanitizer runtime library." |
628 | DEPEND="== sys-libs/libgcc-${PVER} |
629 | == sys-libs/libstdc++-${PVER} |
630 | ${LIBLSAN_DEPEND}" |
631 | PCAT="sys-libs" |
632 | } |
633 | |
634 | split_info_liblsan-dev() |
635 | { |
636 | DESCRIPTION="Development files for liblsan." |
637 | DEPEND="== sys-libs/liblsan-${PVER}" |
638 | PCAT="sys-libs" |
639 | } |
640 | |
641 | split_info_libubsan() |
642 | { |
643 | DESCRIPTION="The Undefined behavior Sanitizer runtime library." |
644 | DEPEND="== sys-libs/libgcc-${PVER} |
645 | == sys-libs/libstdc++-${PVER} |
646 | ${LIBUBSAN_DEPEND}" |
647 | PCAT="sys-libs" |
648 | } |
649 | |
650 | split_info_libubsan-lib32() |
651 | { |
652 | DESCRIPTION="The Undefined behavior Sanitizer runtime library - 32bit." |
653 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
654 | == sys-libs/libstdc++-lib32-${PVER} |
655 | ${LIBUBSAN_LIB32_DEPEND}" |
656 | PCAT="sys-libs" |
657 | } |
658 | |
659 | split_info_libubsan-dev() |
660 | { |
661 | DESCRIPTION="Development files for libubsan." |
662 | DEPEND="== sys-libs/libubsan-${PVER}" |
663 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
664 | then |
665 | DEPEND="${DEPEND} |
666 | == sys-libs/libubsan-lib32-${PVER}" |
667 | fi |
668 | PCAT="sys-libs" |
669 | } |
670 | |
671 | split_info_libtsan() |
672 | { |
673 | DESCRIPTION="The Thread Sanitizer runtime library." |
674 | DEPEND="== sys-libs/libgcc-${PVER} |
675 | == sys-libs/libstdc++-${PVER} |
676 | ${LIBTSAN_DEPEND}" |
677 | PCAT="sys-libs" |
678 | } |
679 | |
680 | split_info_libtsan-dev() |
681 | { |
682 | DESCRIPTION="Development files for libtsan." |
683 | DEPEND="== sys-libs/libtsan-${PVER} |
684 | == sys-libs/libgcc-dev-${PVER} |
685 | == sys-libs/libstdc++-dev-${PVER}" |
686 | PCAT="sys-libs" |
687 | } |
688 | |
689 | split_info_libvtv() |
690 | { |
691 | DESCRIPTION="Vtable Verification runtime library." |
692 | DEPEND="${LIBVTV_DEPEND}" |
693 | PCAT="sys-libs" |
694 | } |
695 | |
696 | split_info_libvtv-lib32() |
697 | { |
698 | DESCRIPTION="Vtable Verification runtime library - 32bit." |
699 | DEPEND="${LIBVTV_LIB32_DEPEND}" |
700 | PCAT="sys-libs" |
701 | } |
702 | |
703 | split_info_libvtv-dev() |
704 | { |
705 | DESCRIPTION="Development files for libvtv." |
706 | DEPEND="== sys-libs/libvtv-${PVER}" |
707 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
708 | then |
709 | DEPEND="${DEPEND} |
710 | == sys-libs/libvtv-lib32-${PVER}" |
711 | fi |
712 | PCAT="sys-libs" |
713 | } |
714 | fi |
715 | |
716 | if lang_enabled c++ |
717 | then |
718 | split_info_libstdc++() |
719 | { |
720 | DESCRIPTION="Standard GNU C and C++ libraries." |
721 | DEPEND="== sys-libs/libgcc-${PVER} |
722 | ${LIBSTDCPP_DEPEND}" |
723 | PCAT="sys-libs" |
724 | } |
725 | |
726 | split_info_libstdc++-lib32() |
727 | { |
728 | DESCRIPTION="Standard GNU C and C++ libraries - 32bit." |
729 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
730 | ${LIBSTDCPP_LIB32_DEPEND}" |
731 | PCAT="sys-libs" |
732 | } |
733 | |
734 | split_info_libstdc++-dev() |
735 | { |
736 | DESCRIPTION="Development files for libstdc++." |
737 | DEPEND="== sys-libs/libstdc++-${PVER} |
738 | == sys-libs/libgcc-dev-${PVER}" |
739 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
740 | then |
741 | DEPEND="${DEPEND} |
742 | == sys-libs/libstdc++-lib32-${PVER}" |
743 | fi |
744 | PCAT="sys-libs" |
745 | } |
746 | |
747 | split_info_gcc-c++() |
748 | { |
749 | DESCRIPTION="Modern C++ compiler written by the GNU people." |
750 | DEPEND="== sys-libs/libstdc++-${PVER} |
751 | ${CPP_DEPEND}" |
752 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
753 | then |
754 | DEPEND="${DEPEND} |
755 | == sys-libs/libstdc++-lib32-${PVER}" |
756 | fi |
757 | } |
758 | fi |
759 | |
760 | if lang_enabled ada |
761 | then |
762 | split_info_libgnat() |
763 | { |
764 | DESCRIPTION="Gnu Ada 95 library which is needed to run Ada programs." |
765 | DEPEND="== sys-libs/libgcc-${PVER} |
766 | ${LIBGNAT_DEPEND}" |
767 | PCAT="sys-libs" |
768 | } |
769 | |
770 | split_info_libgnat() |
771 | { |
772 | DESCRIPTION="Gnu Ada 95 library which is needed to run Ada programs - 32bit." |
773 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
774 | ${LIBGNAT_LIB32_DEPEND}" |
775 | PCAT="sys-libs" |
776 | } |
777 | |
778 | split_info_libgnat-dev() |
779 | { |
780 | DESCRIPTION="Development files for libgnat." |
781 | DEPEND="== sys-libs/libgnat-${PVER} |
782 | == sys-libs/libgcc-dev-${PVER}" |
783 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
784 | then |
785 | DEPEND="${DEPEND} |
786 | == sys-libs/libgnat-lib32-${PVER}" |
787 | fi |
788 | PCAT="sys-libs" |
789 | } |
790 | |
791 | split_info_gcc-gnat() |
792 | { |
793 | DESCRIPTION="Ada 95 support for GCC." |
794 | DEPEND="== sys-libs/libgcc-${PVER} |
795 | == sys-libs/libstdc++-${PVER} |
796 | == sys-libs/libgnat-${PVER} |
797 | == sys-dev/gcc-${PVER} |
798 | ${ADA_DEPEND}" |
799 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
800 | then |
801 | DEPEND="${DEPEND} |
802 | == sys-libs/libgcc-lib32-${PVER} |
803 | == sys-libs/libstdc++-lib32-${PVER} |
804 | == sys-libs/libgnat-lib32-${PVER}" |
805 | fi |
806 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
807 | then |
808 | DEPEND="${DEPEND} |
809 | == sys-libs/libgcc-dev-${PVER} |
810 | == sys-libs/libstdc++-dev-${PVER} |
811 | == sys-libs/libgnat-dev-${PVER}" |
812 | fi |
813 | } |
814 | fi |
815 | |
816 | if lang_enabled fortran |
817 | then |
818 | split_info_libgfortran() |
819 | { |
820 | DESCRIPTION="Gnu Fortran library which is needed to run Fortran programs." |
821 | DEPEND="== sys-libs/libquadmath-${PVER} |
822 | ${LIBGFORTRAN_DEPEND}" |
823 | PCAT="sys-libs" |
824 | } |
825 | |
826 | split_info_libgfortran-lib32() |
827 | { |
828 | DESCRIPTION="Gnu Fortran library which is needed to run Fortran programs - 32bit." |
829 | DEPEND="== sys-libs/libquadmath-lib32-${PVER} |
830 | ${LIBGFORTRAN_LIB32_DEPEND}" |
831 | PCAT="sys-libs" |
832 | } |
833 | |
834 | split_info_libgfortran-dev() |
835 | { |
836 | DESCRIPTION="Development files for libgfortran." |
837 | DEPEND="== sys-libs/libgfortran-${PVER} |
838 | == sys-libs/libquadmath-dev-${PVER}" |
839 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
840 | then |
841 | DEPEND="${DEPEND} |
842 | == sys-libs/libgfortran-lib32-${PVER}" |
843 | fi |
844 | PCAT="sys-libs" |
845 | } |
846 | |
847 | split_info_gcc-gfortran() |
848 | { |
849 | DESCRIPTION="Fortran support for GCC." |
850 | DEPEND="== sys-libs/libgcc-${PVER} |
851 | == sys-libs/libstdc++-${PVER} |
852 | == sys-libs/libgfortran-${PVER} |
853 | == sys-dev/gcc-${PVER} |
854 | ${FORTRAN_DEPEND}" |
855 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
856 | then |
857 | DEPEND="${DEPEND} |
858 | == sys-libs/libgcc-lib32-${PVER} |
859 | == sys-libs/libstdc++-lib32-${PVER} |
860 | == sys-libs/libgfortran-lib32-${PVER}" |
861 | fi |
862 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
863 | then |
864 | DEPEND="${DEPEND} |
865 | == sys-libs/libgcc-dev-${PVER} |
866 | == sys-libs/libstdc++-dev-${PVER} |
867 | == sys-libs/libgfortran-dev-${PVER}" |
868 | fi |
869 | } |
870 | fi |
871 | |
872 | if lang_enabled go |
873 | then |
874 | split_info_libgo() |
875 | { |
876 | DESCRIPTION="Go library which is needed to run Go programs." |
877 | DEPEND="== sys-libs/libgcc-${PVER} |
878 | ${LIBGO_DEPEND}" |
879 | PCAT="sys-libs" |
880 | } |
881 | |
882 | split_info_libgo-lib32() |
883 | { |
884 | DESCRIPTION="Go library which is needed to run Go programs - 32bit." |
885 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
886 | ${LIBGO_LIB32_DEPEND}" |
887 | PCAT="sys-libs" |
888 | } |
889 | |
890 | split_info_libgo-dev() |
891 | { |
892 | DESCRIPTION="Development files for libgo." |
893 | DEPEND="== sys-libs/libgo-${PVER} |
894 | == sys-libs/libgcc-dev-${PVER}" |
895 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
896 | then |
897 | DEPEND="${DEPEND} |
898 | == sys-libs/libgo-lib32-${PVER}" |
899 | fi |
900 | PCAT="sys-libs" |
901 | } |
902 | |
903 | split_info_gcc-go() |
904 | { |
905 | DESCRIPTION="Go support for GCC." |
906 | DEPEND="== sys-libs/libgcc-${PVER} |
907 | == sys-libs/libstdc++-${PVER} |
908 | == sys-libs/libgo-${PVER} |
909 | == sys-dev/gcc-${PVER} |
910 | ${GO_DEPEND}" |
911 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
912 | then |
913 | DEPEND="${DEPEND} |
914 | == sys-libs/libgcc-lib32-${PVER} |
915 | == sys-libs/libstdc++-lib32-${PVER} |
916 | == sys-libs/libgo-lib32-${PVER}" |
917 | fi |
918 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
919 | then |
920 | DEPEND="${DEPEND} |
921 | == sys-libs/libgcc-dev-${PVER} |
922 | == sys-libs/libstdc++-dev-${PVER} |
923 | == sys-libs/libgo-dev-${PVER}" |
924 | fi |
925 | } |
926 | fi |
927 | |
928 | if lang_enabled objc |
929 | then |
930 | split_info_libobjc() |
931 | { |
932 | DESCRIPTION="Objective-C library which is needed to run Objective-C programs." |
933 | DEPEND="== sys-libs/libgcc-${PVER} |
934 | ${LIBOBJC_DEPEND}" |
935 | PCAT="sys-libs" |
936 | } |
937 | |
938 | split_info_libobjc-lib32() |
939 | { |
940 | DESCRIPTION="Objective-C library which is needed to run Objective-C programs - 32bit." |
941 | DEPEND="== sys-libs/libgcc-lib32-${PVER} |
942 | ${LIBOBJC_LIB32_DEPEND}" |
943 | PCAT="sys-libs" |
944 | } |
945 | |
946 | split_info_libobjc-dev() |
947 | { |
948 | DESCRIPTION="Development files for libobjc." |
949 | DEPEND="== sys-libs/libobjc-${PVER} |
950 | == sys-libs/libgcc-dev-${PVER}" |
951 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
952 | then |
953 | DEPEND="${DEPEND} |
954 | == sys-libs/libobjc-lib32-${PVER}" |
955 | fi |
956 | PCAT="sys-libs" |
957 | } |
958 | |
959 | split_info_gcc-objc() |
960 | { |
961 | DESCRIPTION="Objective-C support for GCC." |
962 | DEPEND="== sys-libs/libgcc-${PVER} |
963 | == sys-libs/libstdc++-${PVER} |
964 | == sys-libs/libobjc-${PVER} |
965 | == sys-dev/gcc-${PVER} |
966 | ${OBJC_DEPEND}" |
967 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
968 | then |
969 | DEPEND="${DEPEND} |
970 | == sys-libs/libgcc-lib32-${PVER} |
971 | == sys-libs/libstdc++-lib32-${PVER} |
972 | == sys-libs/libobjc-lib32-${PVER}" |
973 | fi |
974 | } |
975 | |
976 | if lang_enabled obj-c++ |
977 | then |
978 | split_info_gcc-objc++() |
979 | { |
980 | DESCRIPTION="Objective-C++ support for GCC." |
981 | DEPEND="== sys-libs/libgcc-${PVER} |
982 | == sys-libs/libstdc++-${PVER} |
983 | == sys-libs/libobjc-${PVER} |
984 | == sys-dev/gcc-${PVER} |
985 | == sys-dev/gcc-objc-${PVER} |
986 | ${OBJCPP_DEPEND}" |
987 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
988 | then |
989 | DEPEND="${DEPEND} |
990 | == sys-libs/libgcc-lib32-${PVER} |
991 | == sys-libs/libstdc++-lib32-${PVER} |
992 | == sys-libs/libobjc-lib32-${PVER}" |
993 | fi |
994 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
995 | then |
996 | DEPEND="${DEPEND} |
997 | == sys-libs/libgcc-dev-${PVER} |
998 | == sys-libs/libstdc++-dev-${PVER} |
999 | == sys-libs/libobjc-dev-${PVER}" |
1000 | fi |
1001 | } |
1002 | fi |
1003 | fi |
1004 | |
1005 | if lang_enabled lto |
1006 | then |
1007 | split_info_lto-dump() |
1008 | { |
1009 | DESCRIPTION="Dump link time optimization object files." |
1010 | DEPEND="== sys-dev/gcc-${PVER}" |
1011 | } |
1012 | fi |
1013 | |
1014 | if lang_enabled jit |
1015 | then |
1016 | split_info_libgccjit() |
1017 | { |
1018 | DESCRIPTION="Just-In-Time Compilation with GCC backend." |
1019 | DEPEND="== sys-dev/gcc-${PVER}" |
1020 | PCAT="sys-libs" |
1021 | } |
1022 | fi |
1023 | |
1024 | if lang_enabled d |
1025 | then |
1026 | split_info_libphobos() |
1027 | { |
1028 | DESCRIPTION="D runtime libraries." |
1029 | DEPEND="${LIBPHOBOS_DEPEND}" |
1030 | PCAT="sys-libs" |
1031 | } |
1032 | |
1033 | split_info_libphobos-lib32() |
1034 | { |
1035 | DESCRIPTION="D runtime libraries - 32bit." |
1036 | DEPEND="${LIBPHOBOS_LIB32_DEPEND}" |
1037 | PCAT="sys-libs" |
1038 | } |
1039 | |
1040 | split_info_gcc-d() |
1041 | { |
1042 | DESCRIPTION="D frontend for GCC." |
1043 | DEPEND="== sys-dev/gcc-${PVER} |
1044 | == sys-libs/libphobos-${PVER} |
1045 | ${D_DEPEND}" |
1046 | if [[ ${ENABLE_LIB32_PACKAGES} = 1 ]] |
1047 | then |
1048 | DEPEND="${DEPEND} |
1049 | == sys-libs/libphobos-lib32-${PVER}" |
1050 | fi |
1051 | } |
1052 | fi |
1053 | |
1054 | src_prepare() |
1055 | { |
1056 | munpack ${SRCFILE} || die |
1057 | |
1058 | if lang_enabled ada |
1059 | then |
1060 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
1061 | then |
1062 | # setup binary ada if boostrap is enabled |
1063 | install -d ${GNAT_BIN_SRCDIR} || die |
1064 | munpack ${GNAT_BIN} ${GNAT_BIN_SRCDIR} || die |
1065 | # gnat wrapper has problems with quotation |
1066 | sed -i \ |
1067 | -e "/-DREVISION/d" \ |
1068 | -e "/-DDEVPHASE/d" \ |
1069 | -e "s: -DDATESTAMP=\$(DATESTAMP_s)::" \ |
1070 | ${SRCDIR}/gcc/Makefile.in || die |
1071 | sed -i \ |
1072 | -e "s: DATESTAMP DEVPHASE REVISION::" \ |
1073 | -e "s:PKGVERSION:\"\":" \ |
1074 | ${SRCDIR}/gcc/version.c || die |
1075 | fi |
1076 | cd ${SRCDIR} |
1077 | fi |
1078 | |
1079 | cd ${SRCDIR} |
1080 | |
1081 | # do not run fixincludes |
1082 | sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in || die |
1083 | |
1084 | # honor 64bit libs in /usr/lib |
1085 | if [[ $(ARCH=x86_64 mlibdir) = lib ]] |
1086 | then |
1087 | sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 || die |
1088 | fi |
1089 | |
1090 | install -d ${SRCDIR}/build || die |
1091 | install -d ${SRCDIR}/build-jit || die |
1092 | } |
1093 | |
1094 | src_compile() |
1095 | { |
1096 | if lang_enabled ada |
1097 | then |
1098 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
1099 | then |
1100 | # export binary gnat pathes |
1101 | export PATH="${GNAT_BIN_SRCDIR}/usr/bin:${PATH}" |
1102 | export CC="${GNAT_BIN_SRCDIR}/usr/bin/gcc" |
1103 | # CPATH is supposed to be applied for any language, thus |
1104 | # superseding either of C/CPLUS/OBJC_INCLUDE_PATHs |
1105 | export CPATH="${GNAT_BIN_SRCDIR}/usr/lib/include" |
1106 | export LIB_DIR="${GNAT_BIN_SRCDIR}/usr/lib" |
1107 | export LDFLAGS="-L${GNAT_BIN_SRCDIR}/usr/lib" |
1108 | export LIBRARY_PATH="${GNAT_BIN_SRCDIR}/usr/lib" |
1109 | export ADA_OBJECTS_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adalib" |
1110 | export ADA_INCLUDE_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adainclude" |
1111 | |
1112 | # prepare some tools |
1113 | cd ${GNAT_BIN_SRCDIR} |
1114 | cp -v ${SRCDIR}/gcc/ada/xtreeprs.adb ${GNAT_BIN_SRCDIR} || die |
1115 | cp -v ${SRCDIR}/gcc/ada/csinfo.adb ${GNAT_BIN_SRCDIR} || die |
1116 | cp -v ${SRCDIR}/gcc/ada/ceinfo.adb ${GNAT_BIN_SRCDIR} || die |
1117 | cp -v ${SRCDIR}/gcc/ada/xsinfo.adb ${GNAT_BIN_SRCDIR} || die |
1118 | cp -v ${SRCDIR}/gcc/ada/xeinfo.adb ${GNAT_BIN_SRCDIR} || die |
1119 | cp -v ${SRCDIR}/gcc/ada/xnmake.adb ${GNAT_BIN_SRCDIR} || die |
1120 | cp -v ${SRCDIR}/gcc/ada/xutil.ad{s,b} ${GNAT_BIN_SRCDIR} || die |
1121 | gnatmake xtreeprs || die |
1122 | gnatmake xsinfo || die |
1123 | gnatmake xeinfo || die |
1124 | gnatmake xnmake || die |
1125 | fi |
1126 | fi |
1127 | |
1128 | cd ${SRCDIR}/build |
1129 | local globalconf |
1130 | local buildconf |
1131 | |
1132 | # # Straight from the GCC install doc: |
1133 | # # "GCC has code to correctly determine the correct value for target |
1134 | # # for nearly all native systems. Therefore, we highly recommend you |
1135 | # # not provide a configure target when configuring a native compiler." |
1136 | # if [[ ${CHOST} != ${CTARGET} ]] |
1137 | # then |
1138 | # globalconf+=" --target=${CTARGET}" |
1139 | # fi |
1140 | |
1141 | if lang_enabled lto |
1142 | then |
1143 | globalconf+=" --enable-lto" |
1144 | fi |
1145 | |
1146 | # no ssp, we use mpx |
1147 | globalconf+=" --disable-libssp" |
1148 | |
1149 | # enable intel cet + branch tracking (IBT) and shadow stack (SHSTK) |
1150 | globalconf+=" --enable-cet=auto" |
1151 | |
1152 | # enable libstdc++ backtraces |
1153 | globalconf+=" --enable-libstdcxx-backtrace" |
1154 | |
1155 | # enable link serialization |
1156 | globalconf+=" --enable-link-serialization=1" |
1157 | |
1158 | globalconf+=" --enable-multilib" |
1159 | |
1160 | globalconf+=' --with-bugurl="http://bugs.magellan-linux.de/"' |
1161 | globalconf+=' --with-pkgversion="Magellan-Linux"' |
1162 | globalconf+=" --enable-shared" |
1163 | globalconf+=" --enable-threads=posix" |
1164 | globalconf+=" --enable-__cxa_atexit" |
1165 | globalconf+=" --enable-clocale=gnu" |
1166 | globalconf+=" --enable-checking=release" |
1167 | globalconf+=" --with-linker-hash-style=gnu" |
1168 | globalconf+=" --with-system-zlib" |
1169 | globalconf+=" --disable-libstdcxx-pch" |
1170 | globalconf+=" --enable-gnu-unique-object" |
1171 | globalconf+=" --enable-gnu-indirect-function" |
1172 | globalconf+=" --enable-plugin" |
1173 | globalconf+=" --enable-linker-build-id" |
1174 | globalconf+=" --disable-werror" |
1175 | globalconf+=" --enable-default-pie" |
1176 | globalconf+=" --enable-default-ssp" |
1177 | |
1178 | if [[ ${GCC_BOOTSTRAP} = 1 ]] |
1179 | then |
1180 | globalconf+=" --with-build-config=bootstrap-lto" |
1181 | buildconf+=" --enable-bootstrap" |
1182 | else |
1183 | buildconf+=" --disable-bootstrap" |
1184 | fi |
1185 | |
1186 | # jit will be build later |
1187 | if lang_enabled jit |
1188 | then |
1189 | local lang |
1190 | local StrippedLanguages |
1191 | for lang in ${MyLanguages//,/ } |
1192 | do |
1193 | if [[ ${lang} = jit ]] |
1194 | then |
1195 | continue |
1196 | else |
1197 | if [[ -z ${StrippedLanguages} ]] |
1198 | then |
1199 | StrippedLanguages="${lang}" |
1200 | else |
1201 | StrippedLanguages+=",${lang}" |
1202 | fi |
1203 | fi |
1204 | done |
1205 | buildconf+=" --enable-languages=${StrippedLanguages}" |
1206 | else |
1207 | buildconf+=" --enable-languages=${MyLanguages}" |
1208 | fi |
1209 | |
1210 | ../configure \ |
1211 | --build=${CHOST} \ |
1212 | --host=${CHOST} \ |
1213 | --prefix=/usr \ |
1214 | --sbindir=/usr/bin \ |
1215 | --mandir=/usr/share/man \ |
1216 | --infodir=/usr/share/info \ |
1217 | --libdir=/usr/$(mlibdir) \ |
1218 | --libexecdir=/usr/$(mlibdir) \ |
1219 | ${globalconf} \ |
1220 | ${buildconf} \ |
1221 | || die |
1222 | |
1223 | # non parallel build breaks atm |
1224 | # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106472 |
1225 | local myopts |
1226 | if [[ -z ${MAKEOPTS} ]] |
1227 | then |
1228 | myopts="-j2" |
1229 | fi |
1230 | |
1231 | # enable bootstrap if requested |
1232 | local target |
1233 | [[ ${GCC_BOOTSTRAP} = 1 ]] && target="bootstrap" |
1234 | |
1235 | # always honor our FLAGS |
1236 | mmake -O \ |
1237 | STAGE1_CFLAGS="-O2" \ |
1238 | BOOT_CFLAGS="${CFLAGS}" \ |
1239 | BOOT_LDFLAGS="${LDFLAGS}" \ |
1240 | LDFLAGS_FOR_TARGET="${LDFLAGS}" \ |
1241 | ${myopts} ${target} || die |
1242 | |
1243 | # build jit with host-shared separately, otherwise this will bring a perfomance penality to other compilers |
1244 | if lang_enabled jit |
1245 | then |
1246 | cd ${SRCDIR}/build-jit |
1247 | |
1248 | # only build jit |
1249 | buildconf=" --enable-languages=jit" |
1250 | |
1251 | # disable bootstrap |
1252 | buildconf+=" --disable-bootstrap" |
1253 | |
1254 | # enable host shared for jit |
1255 | buildconf+=" --enable-host-shared" |
1256 | |
1257 | # use all-gcc as make target |
1258 | target="all-gcc" |
1259 | |
1260 | ../configure \ |
1261 | --build=${CHOST} \ |
1262 | --host=${CHOST} \ |
1263 | --prefix=/usr \ |
1264 | --sbindir=/usr/bin \ |
1265 | --mandir=/usr/share/man \ |
1266 | --infodir=/usr/share/info \ |
1267 | --libdir=/usr/$(mlibdir) \ |
1268 | --libexecdir=/usr/$(mlibdir) \ |
1269 | ${globalconf} \ |
1270 | ${buildconf} \ |
1271 | || die |
1272 | |
1273 | # always honor our FLAGS |
1274 | mmake -O \ |
1275 | STAGE1_CFLAGS="-O2" \ |
1276 | BOOT_CFLAGS="${CFLAGS}" \ |
1277 | BOOT_LDFLAGS="${LDFLAGS}" \ |
1278 | LDFLAGS_FOR_TARGET="${LDFLAGS}" \ |
1279 | ${myopts} ${target} || die |
1280 | |
1281 | # copy the builded jit lib to the regular gcc build |
1282 | cp -a gcc/libgccjit.so* ../build/gcc/ |
1283 | fi |
1284 | } |
1285 | |
1286 | src_check() |
1287 | { |
1288 | cd ${SRCDIR}/build |
1289 | |
1290 | # increase stack size to prevent test failures |
1291 | # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 |
1292 | ulimit -s 32768 |
1293 | |
1294 | # do not abort on error as some are "expected" |
1295 | mmake -k check || true |
1296 | # list all |
1297 | ${SRCDIR}/contrib/test_summary |
1298 | # only summary |
1299 | #${SRCDIR}/contrib/test_summary | grep -A7 "Summ" |
1300 | } |
1301 | |
1302 | if lang_enabled c |
1303 | then |
1304 | src_install_gcc() |
1305 | { |
1306 | cd ${SRCDIR}/build |
1307 | |
1308 | mmake -C gcc DESTDIR=${BINDIR} install-driver || die |
1309 | mmake -C gcc DESTDIR=${BINDIR} install-gcc-ar || die |
1310 | mmake -C gcc DESTDIR=${BINDIR} install-headers || die |
1311 | mmake -C gcc DESTDIR=${BINDIR} install-plugin || die |
1312 | |
1313 | # missing bins |
1314 | minstallexec gcc/gcov || die |
1315 | minstallexec gcc/gcov-tool || die |
1316 | minstallexec gcc/cc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1317 | minstallexec gcc/collect2 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1318 | |
1319 | # lto wrapper |
1320 | if lang_enabled lto |
1321 | then |
1322 | mmake -C gcc DESTDIR=${BINDIR} install-lto-wrapper || die |
1323 | minstallexec gcc/lto1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1324 | fi |
1325 | |
1326 | # install only libgcc crts |
1327 | mmake -C ${CHOST}/libgcc DESTDIR=${BINDIR} install || die |
1328 | mdelete /usr/$(mlibdir)/libgcc_s.so\* || die |
1329 | if [[ ${ARCH} = x86_64 ]] |
1330 | then |
1331 | mmake -C ${CHOST}/32/libgcc DESTDIR=${BINDIR} install || die |
1332 | mdelete /usr/$(ARCH=i686 mlibdir)/libgcc_s.so\* || die |
1333 | fi |
1334 | |
1335 | # install libcc1 |
1336 | mmake DESTDIR=${BINDIR} install-libcc1 || die |
1337 | |
1338 | # fixinclude header + scripts |
1339 | mmake DESTDIR=${BINDIR} install-fixincludes || die |
1340 | mmake -C gcc DESTDIR=${BINDIR} install-mkheaders || die |
1341 | |
1342 | # lto plugin |
1343 | if lang_enabled lto |
1344 | then |
1345 | mmake -C lto-plugin DESTDIR=${BINDIR} install || die |
1346 | minstalldir /usr/$(mlibdir)/bfd-plugins || die |
1347 | mlink /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/liblto_plugin.so /usr/$(mlibdir)/bfd-plugins/ || die |
1348 | fi |
1349 | |
1350 | # library headers: libgomp, libitm, libsanitizer, libasan, libtsan, liblsan |
1351 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1352 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_libsubincludeHEADERS || die |
1353 | mmake -C ${CHOST}/libitm DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1354 | mmake -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-nodist_libsubincludeHEADERS || die |
1355 | mmake -C ${CHOST}/libsanitizer DESTDIR=${BINDIR} install-nodist_sanincludeHEADERS || die |
1356 | mmake -C ${CHOST}/libsanitizer DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1357 | mmake -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1358 | mmake -C ${CHOST}/libsanitizer/tsan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1359 | mmake -C ${CHOST}/libsanitizer/lsan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1360 | if [[ ${ARCH} = x86_64 ]] |
1361 | then |
1362 | mmake -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1363 | mmake -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1364 | mmake -C ${CHOST}/32/libsanitizer DESTDIR=${BINDIR} install-nodist_sanincludeHEADERS || die |
1365 | mmake -C ${CHOST}/32/libsanitizer DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1366 | mmake -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1367 | # 64bit only |
1368 | #mmake -C ${CHOST}/32/libsanitizer/tsan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1369 | #mmake -C ${CHOST}/32/libsanitizer/lsan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die |
1370 | fi |
1371 | |
1372 | # man and info pages |
1373 | mmake -C gcc DESTDIR=${BINDIR} install-man || die |
1374 | mmake -C gcc DESTDIR=${BINDIR} install-info || die |
1375 | # provided by split-packages |
1376 | if lang_enabled c++ |
1377 | then |
1378 | mdelete /usr/share/man/man1/cpp.1 || die |
1379 | mdelete /usr/share/man/man1/g++.1 || die |
1380 | mdelete /usr/share/info/cpp.info || die |
1381 | mdelete /usr/share/info/cppinternals.info || die |
1382 | fi |
1383 | if lang_enabled go |
1384 | then |
1385 | mdelete /usr/share/man/man1/gccgo.1 || die |
1386 | mdelete /usr/share/info/gccgo.info || die |
1387 | fi |
1388 | if lang_enabled fortran |
1389 | then |
1390 | mdelete /usr/share/man/man1/gfortran.1 || die |
1391 | mdelete /usr/share/info/gfortran.info || die |
1392 | fi |
1393 | if lang_enabled ada |
1394 | then |
1395 | mdelete /usr/share/info/gnat-style.info || die |
1396 | mdelete /usr/share/info/gnat_rm.info || die |
1397 | mdelete /usr/share/info/gnat_ugn.info || die |
1398 | fi |
1399 | if lang_enabled lto |
1400 | then |
1401 | mdelete /usr/share/man/man1/lto-dump.1 || die |
1402 | fi |
1403 | if lang_enabled d |
1404 | then |
1405 | mdelete /usr/share/man/man1/gdc.1 || die |
1406 | mdelete /usr/share/info/gdc.info || die |
1407 | fi |
1408 | |
1409 | # install gcc locales |
1410 | mmake -C gcc DESTDIR=${BINDIR} install-po || die |
1411 | |
1412 | # install posix conformance launcher scripts for c89 and c99 |
1413 | cat > ${BINDIR}/usr/bin/c89 <<"EOF" |
1414 | #!/bin/sh |
1415 | fl="-std=c89" |
1416 | for opt |
1417 | do |
1418 | case "$opt" in |
1419 | -ansi|-std=c89|-std=iso9899:1990) |
1420 | fl="" |
1421 | ;; |
1422 | -std=*) |
1423 | echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 |
1424 | exit 1 |
1425 | ;; |
1426 | esac |
1427 | done |
1428 | exec gcc $fl ${1+"$@"} |
1429 | EOF |
1430 | cat > ${BINDIR}/usr/bin/c99 <<"EOF" |
1431 | #!/bin/sh |
1432 | fl="-std=c99" |
1433 | for opt |
1434 | do |
1435 | case "$opt" in |
1436 | -std=c99|-std=iso9899:1999) |
1437 | fl="" |
1438 | ;; |
1439 | -std=*) |
1440 | echo "`basename $0` called with non ISO C99 option $opt" >&2 |
1441 | exit 1 |
1442 | ;; |
1443 | esac |
1444 | done |
1445 | exec gcc $fl ${1+"$@"} |
1446 | EOF |
1447 | mchmod 0755 /usr/bin/c89 || die |
1448 | mchmod 0755 /usr/bin/c99 || die |
1449 | |
1450 | # versionize all bins and symlink them |
1451 | versionize_all_bins || die |
1452 | mlink gcc-${PVER} /usr/bin/cc || die |
1453 | |
1454 | # fix all .la files |
1455 | # they may contain invalid libpathes which are not needed |
1456 | local la |
1457 | for la in $(find ${BINDIR} -name \*.la) |
1458 | do |
1459 | fix_la_file ${la} || die ${la} |
1460 | done |
1461 | |
1462 | # remove /lib dirs to be usr-move compat |
1463 | if [[ -d ${BINDIR}/$(mlibdir) ]] |
1464 | then |
1465 | mdelete -r /$(mlibdir) || die |
1466 | fi |
1467 | if [[ $(mlibdir) != lib ]] |
1468 | then |
1469 | if [[ -d ${BINDIR}/lib ]] |
1470 | then |
1471 | mdelete -r /lib || die |
1472 | fi |
1473 | fi |
1474 | } |
1475 | fi |
1476 | |
1477 | if lang_enabled c++ |
1478 | then |
1479 | src_install_gcc-c++() |
1480 | { |
1481 | cd ${SRCDIR}/build |
1482 | |
1483 | mmake -C gcc DESTDIR=${BINDIR} install-cpp || die |
1484 | mmake -C gcc DESTDIR=${BINDIR} c++.install-common || die |
1485 | |
1486 | # missing bins |
1487 | minstallexec gcc/cc1plus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1488 | |
1489 | # install libstdc++ files |
1490 | mmake -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install || die |
1491 | mmake -C ${CHOST}/libstdc++-v3/include DESTDIR=${BINDIR} install || die |
1492 | mmake -C ${CHOST}/libstdc++-v3/libsupc++ DESTDIR=${BINDIR} install || die |
1493 | mmake -C ${CHOST}/libstdc++-v3/python DESTDIR=${BINDIR} install || die |
1494 | if [[ ${ARCH} = x86_64 ]] |
1495 | then |
1496 | mmake -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install || die |
1497 | mmake -C ${CHOST}/32/libstdc++-v3/include DESTDIR=${BINDIR} install || die |
1498 | mmake -C ${CHOST}/32/libstdc++-v3/libsupc++ DESTDIR=${BINDIR} install || die |
1499 | # only install native python modules |
1500 | #mmake -C ${CHOST}/32/libstdc++-v3/python DESTDIR=${BINDIR} install || die |
1501 | fi |
1502 | # move gdb scripts to a proper location and to pretty-print ldconfig |
1503 | minstalldir /usr/share/gdb/auto-load/usr/$(mlibdir) || die |
1504 | mmove ${BINDIR}/usr/$(mlibdir)/libstdc++\*gdb.py\* /usr/share/gdb/auto-load/usr/$(mlibdir)/ || die |
1505 | # only install native python modules |
1506 | #if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/$(ARCH=i686 mlibdir) ]] |
1507 | #then |
1508 | # minstalldir /usr/share/gdb/auto-load/usr/$(ARCH=i686 mlibdir) || die |
1509 | # mmove ${BINDIR}/usr/$(ARCH=i686 mlibdir)/libstdc++\*gdb.py\* /usr/share/gdb/auto-load/usr/$(ARCH=i686 mlibdir)/ || die |
1510 | #fi |
1511 | # only keep static libstdcc++ lib |
1512 | mdelete /usr/$(mlibdir)/libstdc++.so\* || die |
1513 | if [[ $(ARCH=i686 mlibdir) != lib ]] |
1514 | then |
1515 | mdelete /usr/$(ARCH=i686 mlibdir)/libstdc++.so\* || die |
1516 | fi |
1517 | |
1518 | # man and info pages |
1519 | mmake -C gcc DESTDIR=${BINDIR} install-man || die |
1520 | mmake -C gcc DESTDIR=${BINDIR} install-info || die |
1521 | # provided by split-packages |
1522 | if lang_enabled c |
1523 | then |
1524 | mdelete /usr/share/man/man1/gcc.1 || die |
1525 | mdelete /usr/share/man/man1/gcov.1 || die |
1526 | mdelete /usr/share/man/man1/gcov-dump.1 || die |
1527 | mdelete /usr/share/man/man1/gcov-tool.1 || die |
1528 | mdelete -r /usr/share/man/man7 || die |
1529 | mdelete /usr/share/info/gcc.info || die |
1530 | mdelete /usr/share/info/gccinstall.info || die |
1531 | mdelete /usr/share/info/gccint.info || die |
1532 | fi |
1533 | if lang_enabled go |
1534 | then |
1535 | mdelete /usr/share/man/man1/gccgo.1 || die |
1536 | mdelete /usr/share/info/gccgo.info || die |
1537 | fi |
1538 | if lang_enabled fortran |
1539 | then |
1540 | mdelete /usr/share/man/man1/gfortran.1 || die |
1541 | mdelete /usr/share/info/gfortran.info || die |
1542 | fi |
1543 | if lang_enabled ada |
1544 | then |
1545 | mdelete /usr/share/info/gnat-style.info || die |
1546 | mdelete /usr/share/info/gnat_rm.info || die |
1547 | mdelete /usr/share/info/gnat_ugn.info || die |
1548 | fi |
1549 | if lang_enabled lto |
1550 | then |
1551 | mdelete /usr/share/man/man1/lto-dump.1 || die |
1552 | fi |
1553 | if lang_enabled d |
1554 | then |
1555 | mdelete /usr/share/man/man1/gdc.1 || die |
1556 | mdelete /usr/share/info/gdc.info || die |
1557 | fi |
1558 | |
1559 | # install libcpp locales |
1560 | mmake -C libcpp DESTDIR=${BINDIR} install || die |
1561 | |
1562 | # versionize all bins and symlink them |
1563 | versionize_all_bins || die |
1564 | |
1565 | mlink ../bin/cpp-${PVER} /usr/$(mlibdir)/cpp || die |
1566 | # this one is needed on multilib systems. |
1567 | # rpcgen may not find the cpp compiler correctly if not in /lib/cpp |
1568 | if [[ $(mlibdir) != lib ]] |
1569 | then |
1570 | minstalldir /usr/lib || die |
1571 | mlink ../bin/cpp-${PVER} /usr/lib/cpp || die |
1572 | fi |
1573 | |
1574 | # fix all .la files |
1575 | # they may contain invalid libpathes which are not needed |
1576 | local la |
1577 | for la in $(find ${BINDIR} -name \*.la) |
1578 | do |
1579 | fix_la_file ${la} || die ${la} |
1580 | done |
1581 | |
1582 | # remove /lib dirs to be usr-move compat |
1583 | if [[ -d ${BINDIR}/$(mlibdir) ]] |
1584 | then |
1585 | mdelete -r /$(mlibdir) || die |
1586 | fi |
1587 | if [[ $(mlibdir) != lib ]] |
1588 | then |
1589 | if [[ -d ${BINDIR}/lib ]] |
1590 | then |
1591 | mdelete -r /lib || die |
1592 | fi |
1593 | fi |
1594 | } |
1595 | fi |
1596 | |
1597 | if lang_enabled c |
1598 | then |
1599 | src_install_libgcc-common() |
1600 | { |
1601 | cd ${SRCDIR}/build |
1602 | mmake -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die |
1603 | |
1604 | if [[ ${ARCH} = x86_64 ]] |
1605 | then |
1606 | mmake -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die |
1607 | fi |
1608 | mdelete -r /usr/$(mlibdir)/gcc || die |
1609 | } |
1610 | |
1611 | src_install_libgcc() |
1612 | { |
1613 | src_install_libgcc-common || die |
1614 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1615 | then |
1616 | keep_dev_package_libs 'libgcc_s.so.*' || die |
1617 | fi |
1618 | } |
1619 | |
1620 | src_install_libgcc-lib32() |
1621 | { |
1622 | src_install_libgcc-common || die |
1623 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1624 | then |
1625 | keep_dev_package_libs_only32 'libgcc_s.so.*' || die |
1626 | fi |
1627 | } |
1628 | |
1629 | src_install_libgcc-dev() |
1630 | { |
1631 | src_install_libgcc-common || die |
1632 | delete_dev_package_libs 'libgcc_s.so.*' || die |
1633 | } |
1634 | |
1635 | src_install_libgomp-common() |
1636 | { |
1637 | install_gcc_library "libgomp" || die |
1638 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die |
1639 | } |
1640 | |
1641 | src_install_libgomp() |
1642 | { |
1643 | src_install_libgomp-common || die |
1644 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1645 | then |
1646 | keep_dev_package_libs 'libgomp.so.*' || die |
1647 | fi |
1648 | } |
1649 | |
1650 | src_install_libgomp-lib32() |
1651 | { |
1652 | src_install_libgomp-common || die |
1653 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1654 | then |
1655 | keep_dev_package_libs_only32 'libgomp.so.*' || die |
1656 | fi |
1657 | } |
1658 | |
1659 | src_install_libgomp-dev() |
1660 | { |
1661 | src_install_libgomp-common || die |
1662 | delete_dev_package_libs 'libgomp.so.*' || die |
1663 | } |
1664 | |
1665 | src_install_libquadmath-common() |
1666 | { |
1667 | install_gcc_library "libquadmath" || die |
1668 | mmake -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-info || die |
1669 | } |
1670 | |
1671 | src_install_libquadmath() |
1672 | { |
1673 | src_install_libquadmath-common || die |
1674 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1675 | then |
1676 | keep_dev_package_libs 'libquadmath.so.*' || die |
1677 | fi |
1678 | } |
1679 | |
1680 | src_install_libquadmath-lib32() |
1681 | { |
1682 | src_install_libquadmath-common || die |
1683 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1684 | then |
1685 | keep_dev_package_libs_only32 'libquadmath.so.*' || die |
1686 | fi |
1687 | } |
1688 | |
1689 | src_install_libquadmath-dev() |
1690 | { |
1691 | src_install_libquadmath-common || die |
1692 | delete_dev_package_libs 'libquadmath.so.*' || die |
1693 | } |
1694 | |
1695 | src_install_libitm-common() |
1696 | { |
1697 | install_gcc_library "libitm" |
1698 | mmake -C ${CHOST}/libitm DESTDIR=${BINDIR} install-info || die |
1699 | } |
1700 | |
1701 | src_install_libitm() |
1702 | { |
1703 | src_install_libitm-common || die |
1704 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1705 | then |
1706 | keep_dev_package_libs 'libitm.so.*' || die |
1707 | fi |
1708 | } |
1709 | |
1710 | src_install_libitm-lib32() |
1711 | { |
1712 | src_install_libitm-common || die |
1713 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1714 | then |
1715 | keep_dev_package_libs_only32 'libitm.so.*' || die |
1716 | fi |
1717 | } |
1718 | |
1719 | src_install_libitm-dev() |
1720 | { |
1721 | src_install_libitm-common || die |
1722 | delete_dev_package_libs 'libitm.so.*' || die |
1723 | } |
1724 | |
1725 | src_install_libatomic-common() |
1726 | { |
1727 | install_gcc_library "libatomic" || die |
1728 | } |
1729 | |
1730 | src_install_libatomic() |
1731 | { |
1732 | src_install_libatomic-common || die |
1733 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1734 | then |
1735 | keep_dev_package_libs 'libatomic.so.*' || die |
1736 | fi |
1737 | } |
1738 | |
1739 | src_install_libatomic-lib32() |
1740 | { |
1741 | src_install_libatomic-common || die |
1742 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1743 | then |
1744 | keep_dev_package_libs_only32 'libatomic.so.*' || die |
1745 | fi |
1746 | } |
1747 | |
1748 | src_install_libatomic-dev() |
1749 | { |
1750 | src_install_libatomic-common || die |
1751 | delete_dev_package_libs 'libatomic.so.*' || die |
1752 | } |
1753 | |
1754 | src_install_libasan-common() |
1755 | { |
1756 | install_gcc_library "libsanitizer/asan" || die |
1757 | } |
1758 | |
1759 | src_install_libasan() |
1760 | { |
1761 | src_install_libasan-common || die |
1762 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1763 | then |
1764 | keep_dev_package_libs 'libasan.so.*' || die |
1765 | fi |
1766 | } |
1767 | |
1768 | src_install_libasan-lib32() |
1769 | { |
1770 | src_install_libasan-common || die |
1771 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1772 | then |
1773 | keep_dev_package_libs_only32 'libasan.so.*' || die |
1774 | fi |
1775 | } |
1776 | |
1777 | src_install_libasan-dev() |
1778 | { |
1779 | src_install_libasan-common || die |
1780 | delete_dev_package_libs 'libasan.so.*' || die |
1781 | } |
1782 | |
1783 | src_install_liblsan-common() |
1784 | { |
1785 | install_gcc_library "libsanitizer/lsan" || die |
1786 | } |
1787 | |
1788 | src_install_liblsan() |
1789 | { |
1790 | src_install_liblsan-common || die |
1791 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1792 | then |
1793 | keep_dev_package_libs 'liblsan.so.*' || die |
1794 | fi |
1795 | } |
1796 | |
1797 | src_install_liblsan-dev() |
1798 | { |
1799 | src_install_liblsan-common || die |
1800 | delete_dev_package_libs 'liblsan.so.*' || die |
1801 | } |
1802 | |
1803 | src_install_libubsan-common() |
1804 | { |
1805 | install_gcc_library "libsanitizer/ubsan" || die |
1806 | } |
1807 | |
1808 | src_install_libubsan() |
1809 | { |
1810 | src_install_libubsan-common || die |
1811 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1812 | then |
1813 | keep_dev_package_libs 'libubsan.so.*' || die |
1814 | fi |
1815 | } |
1816 | |
1817 | src_install_libubsan-lib32() |
1818 | { |
1819 | src_install_libubsan-common || die |
1820 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1821 | then |
1822 | keep_dev_package_libs_only32 'libubsan.so.*' || die |
1823 | fi |
1824 | } |
1825 | |
1826 | src_install_libubsan-dev() |
1827 | { |
1828 | src_install_libubsan-common || die |
1829 | delete_dev_package_libs 'libubsan.so.*' || die |
1830 | } |
1831 | |
1832 | src_install_libtsan-common() |
1833 | { |
1834 | install_gcc_library "libsanitizer/tsan" || die |
1835 | } |
1836 | |
1837 | src_install_libtsan() |
1838 | { |
1839 | src_install_libtsan-common || die |
1840 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1841 | then |
1842 | keep_dev_package_libs 'libtsan.so.*' || die |
1843 | fi |
1844 | } |
1845 | |
1846 | src_install_libtsan-dev() |
1847 | { |
1848 | src_install_libtsan-common || die |
1849 | delete_dev_package_libs 'libtsan.so.*' || die |
1850 | } |
1851 | |
1852 | src_install_libvtv-common() |
1853 | { |
1854 | # hack - always create the bindir to get empty pkgs at least on x86_64 platforms |
1855 | install -d ${BINDIR} || die |
1856 | |
1857 | install_gcc_library "libvtv" || die |
1858 | # delete insecure rpath |
1859 | mdeleterpath || die |
1860 | } |
1861 | |
1862 | src_install_libvtv() |
1863 | { |
1864 | src_install_libvtv-common || die |
1865 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1866 | then |
1867 | keep_dev_package_libs 'libvtv.so.*' || die |
1868 | fi |
1869 | } |
1870 | |
1871 | src_install_libvtv-lib32() |
1872 | { |
1873 | src_install_libvtv-common || die |
1874 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1875 | then |
1876 | keep_dev_package_libs_only32 'libvtv.so.*' || die |
1877 | fi |
1878 | } |
1879 | |
1880 | src_install_libvtv-dev() |
1881 | { |
1882 | src_install_libvtv-common || die |
1883 | delete_dev_package_libs 'libvtv.so.*' || die |
1884 | } |
1885 | fi |
1886 | |
1887 | if lang_enabled c++ |
1888 | then |
1889 | src_install_libstdc++-common() |
1890 | { |
1891 | install_gcc_library "libstdc++-v3/src" || die |
1892 | mmake -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die |
1893 | } |
1894 | |
1895 | src_install_libstdc++() |
1896 | { |
1897 | src_install_libstdc++-common || die |
1898 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1899 | then |
1900 | keep_dev_package_libs 'libstdc++.so.*' || die |
1901 | fi |
1902 | } |
1903 | |
1904 | src_install_libstdc++-lib32() |
1905 | { |
1906 | src_install_libstdc++-common || die |
1907 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1908 | then |
1909 | keep_dev_package_libs_only32 'libstdc++.so.*' || die |
1910 | fi |
1911 | } |
1912 | |
1913 | src_install_libstdc++-dev() |
1914 | { |
1915 | src_install_libstdc++-common || die |
1916 | delete_dev_package_libs 'libstdc++.so.*' || die |
1917 | } |
1918 | fi |
1919 | |
1920 | if lang_enabled ada |
1921 | then |
1922 | # gnat so-lib version |
1923 | solib_ver="$(echo ${PVER} | cut -d'.' -f1)" |
1924 | |
1925 | src_install_libgnat-common() |
1926 | { |
1927 | cd ${SRCDIR}/build |
1928 | if [[ ${PNAME/$(ARCH=i686 mlibdir)/} = ${PNAME} ]] || [[ ${MAGE_LIB32_SPLIT} != true ]] |
1929 | then |
1930 | mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die |
1931 | fi |
1932 | |
1933 | if [[ ${ARCH} = x86_64 ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
1934 | then |
1935 | # install 32bit libgnat |
1936 | # make tries to execute the libs, which fails |
1937 | # we override the INSTALL commands to *not* do that |
1938 | mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-libada || die |
1939 | fi |
1940 | if [[ ${PNAME/$(ARCH=i686 mlibdir)/} = ${PNAME} ]] || [[ ${MAGE_LIB32_SPLIT} != true ]] |
1941 | then |
1942 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die |
1943 | |
1944 | # move so-libs to the right location |
1945 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${solib_ver}.so /usr/$(mlibdir) || die |
1946 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${solib_ver}.so /usr/$(mlibdir) || die |
1947 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die |
1948 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die |
1949 | mlink libgnarl-${solib_ver}.so /usr/$(mlibdir)/libgnarl.so || die |
1950 | mlink libgnat-${solib_ver}.so /usr/$(mlibdir)/libgnat.so || die |
1951 | mlink ../../../../libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${solib_ver}.so || die |
1952 | mlink ../../../../libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${solib_ver}.so || die |
1953 | mlink ../../../../libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die |
1954 | mlink ../../../../libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die |
1955 | |
1956 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die |
1957 | fi |
1958 | if [[ ${ARCH} = x86_64 ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
1959 | then |
1960 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die |
1961 | |
1962 | # move so-libs to the right location |
1963 | minstalldir /usr/$(ARCH=i686 mlibdir) || die |
1964 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${solib_ver}.so /usr/$(ARCH=i686 mlibdir) || die |
1965 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${solib_ver}.so /usr/$(ARCH=i686 mlibdir) || die |
1966 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die |
1967 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die |
1968 | mlink libgnarl-${solib_ver}.so /usr/$(ARCH=i686 mlibdir)/libgnarl.so || die |
1969 | mlink libgnat-${solib_ver}.so /usr/$(ARCH=i686 mlibdir)/libgnat.so || die |
1970 | mlink ../../../../../../lib/libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${solib_ver}.so || die |
1971 | mlink ../../../../../../lib/libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${solib_ver}.so || die |
1972 | mlink ../../../../../../lib/libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die |
1973 | mlink ../../../../../../lib/libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die |
1974 | |
1975 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die |
1976 | fi |
1977 | |
1978 | if [[ ${PNAME/$(ARCH=i686 mlibdir)/} = ${PNAME} ]] || [[ ${MAGE_LIB32_SPLIT} != true ]] |
1979 | then |
1980 | # remove other |
1981 | mdelete -r /usr/bin || die |
1982 | fi |
1983 | } |
1984 | |
1985 | src_install_libgnat() |
1986 | { |
1987 | src_install_libgnat-common || die |
1988 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1989 | then |
1990 | keep_dev_package_libs "libgnarl-${solib_ver}.so libgnarl.so libgnat-${solib_ver}.so libgnat.so" || die |
1991 | fi |
1992 | } |
1993 | |
1994 | src_install_libgnat-lib32() |
1995 | { |
1996 | src_install_libgnat-common || die |
1997 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1998 | then |
1999 | keep_dev_package_libs_only32 "libgnarl-${solib_ver}.so libgnarl.so libgnat-${solib_ver}.so libgnat.so" || die |
2000 | fi |
2001 | } |
2002 | |
2003 | src_install_libgnat-dev() |
2004 | { |
2005 | src_install_libgnat-common || die |
2006 | delete_dev_package_libs "libgnarl-${solib_ver}.so libgnarl.so libgnat-${solib_ver}.so libgnat.so" || die |
2007 | } |
2008 | |
2009 | src_install_gcc-gnat() |
2010 | { |
2011 | cd ${SRCDIR}/build |
2012 | mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die |
2013 | mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die |
2014 | if [[ ${ARCH} = x86_64 ]] |
2015 | then |
2016 | # install 32bit libgnat |
2017 | # make tries to execute the libs, which fails |
2018 | # we override the INSTALL commands to *not* do that |
2019 | mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-libada || die |
2020 | fi |
2021 | mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die |
2022 | minstallexec gcc/gnat1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER} || die |
2023 | |
2024 | # remove libraries already included elsewhere |
2025 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl\*.\* || die |
2026 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat\*.\* || die |
2027 | if [[ $(mlibdir) != lib ]] |
2028 | then |
2029 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl\*.\* || die |
2030 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat\*.\* || die |
2031 | fi |
2032 | |
2033 | # versionize all bins and symlink them |
2034 | versionize_all_bins || die |
2035 | } |
2036 | fi |
2037 | |
2038 | if lang_enabled fortran |
2039 | then |
2040 | src_install_libgfortran-common() |
2041 | { |
2042 | install_gcc_library "libgfortran" |
2043 | } |
2044 | |
2045 | src_install_libgfortran() |
2046 | { |
2047 | src_install_libgfortran-common || die |
2048 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2049 | then |
2050 | keep_dev_package_libs 'libgfortran.so.*' || die |
2051 | fi |
2052 | } |
2053 | |
2054 | src_install_libgfortran-lib32() |
2055 | { |
2056 | src_install_libgfortran-common || die |
2057 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2058 | then |
2059 | keep_dev_package_libs_only32 'libgfortran.so.*' || die |
2060 | fi |
2061 | } |
2062 | |
2063 | src_install_libgfortran-dev() |
2064 | { |
2065 | src_install_libgfortran-common || die |
2066 | delete_dev_package_libs 'libgfortran.so.*' || die |
2067 | } |
2068 | |
2069 | src_install_gcc-gfortran() |
2070 | { |
2071 | cd ${SRCDIR}/build |
2072 | |
2073 | # libcafsingle |
2074 | mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-cafexeclibLTLIBRARIES || die |
2075 | if [[ ${ARCH} = x86_64 ]] |
2076 | then |
2077 | mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-cafexeclibLTLIBRARIES || die |
2078 | fi |
2079 | # spec file |
2080 | mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-toolexeclibDATA || die |
2081 | if [[ ${ARCH} = x86_64 ]] |
2082 | then |
2083 | mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-toolexeclibDATA || die |
2084 | fi |
2085 | # finclude headers |
2086 | mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die |
2087 | if [[ ${ARCH} = x86_64 ]] |
2088 | then |
2089 | mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die |
2090 | fi |
2091 | # fortran c headers |
2092 | mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-gfor_cHEADERS || die |
2093 | if [[ ${ARCH} = x86_64 ]] |
2094 | then |
2095 | mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-gfor_cHEADERS || die |
2096 | fi |
2097 | # omp headers needed by fortran |
2098 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die |
2099 | # binaries |
2100 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-common || die |
2101 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-man || die |
2102 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-info || die |
2103 | # missing binaries |
2104 | minstallexec gcc/f951 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die |
2105 | mlink gfortran /usr/bin/f95 || die |
2106 | |
2107 | # versionize all bins and symlink them |
2108 | versionize_all_bins || die |
2109 | } |
2110 | fi |
2111 | |
2112 | if lang_enabled go |
2113 | then |
2114 | src_install_libgo-common() |
2115 | { |
2116 | install_gcc_library "libgo" || die |
2117 | } |
2118 | |
2119 | src_install_libgo() |
2120 | { |
2121 | src_install_libgo-common || die |
2122 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2123 | then |
2124 | keep_dev_package_libs 'libgo.so.*' || die |
2125 | fi |
2126 | } |
2127 | |
2128 | src_install_libgo-lib32() |
2129 | { |
2130 | src_install_libgo-common || die |
2131 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2132 | then |
2133 | keep_dev_package_libs_only32 'libgo.so.*' || die |
2134 | fi |
2135 | } |
2136 | |
2137 | src_install_libgo-dev() |
2138 | { |
2139 | src_install_libgo-common || die |
2140 | delete_dev_package_libs 'libgo.so.*' || die |
2141 | } |
2142 | |
2143 | src_install_gcc-go() |
2144 | { |
2145 | cd ${SRCDIR}/build |
2146 | mmake -C ${CHOST}/libgo DESTDIR=${BINDIR} install-exec-am || die |
2147 | mmake -C ${CHOST}/32/libgo DESTDIR=${BINDIR} install-exec-am || die |
2148 | |
2149 | mmake -C gcc DESTDIR=${BINDIR} go.install-common || die |
2150 | mmake -C gcc DESTDIR=${BINDIR} go.install-man || die |
2151 | mmake -C gcc DESTDIR=${BINDIR} go.install-info || die |
2152 | make DESTDIR=${BINDIR} install-gotools || die |
2153 | minstallexec gcc/go1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2154 | |
2155 | # remove libraries already included elsewhere |
2156 | mdelete /usr/$(mlibdir)/libgo.so\* || die |
2157 | if [[ $(ARCH=i686 mlibdir) != lib ]] |
2158 | then |
2159 | mdelete /usr/$(ARCH=i686 mlibdir)/libgo.so\* || die |
2160 | fi |
2161 | |
2162 | # versionize all bins and symlink them |
2163 | versionize_all_bins || die |
2164 | } |
2165 | fi |
2166 | |
2167 | if lang_enabled objc |
2168 | then |
2169 | src_install_libobjc() |
2170 | { |
2171 | cd ${SRCDIR}/build |
2172 | mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die |
2173 | if [[ ${ARCH} = x86_64 ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
2174 | then |
2175 | mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die |
2176 | fi |
2177 | |
2178 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2179 | then |
2180 | keep_dev_package_libs 'libobjc.so.*' || die |
2181 | fi |
2182 | } |
2183 | |
2184 | src_install_libobjc-lib32() |
2185 | { |
2186 | cd ${SRCDIR}/build |
2187 | mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die |
2188 | |
2189 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
2190 | then |
2191 | keep_dev_package_libs_only32 'libobjc.so.*' || die |
2192 | fi |
2193 | } |
2194 | |
2195 | src_install_libobjc-dev() |
2196 | { |
2197 | cd ${SRCDIR}/build |
2198 | mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die |
2199 | if [[ ${ARCH} = x86_64 ]] |
2200 | then |
2201 | mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die |
2202 | fi |
2203 | delete_dev_package_libs 'libobjc.so.*' || die |
2204 | } |
2205 | |
2206 | src_install_gcc-objc() |
2207 | { |
2208 | cd ${SRCDIR}/build |
2209 | mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-headers || die |
2210 | if [[ ${ARCH} = x86_64 ]] |
2211 | then |
2212 | mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-headers || die |
2213 | fi |
2214 | minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2215 | minstallexec gcc/cc1obj /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2216 | } |
2217 | |
2218 | if lang_enabled obj-c++ |
2219 | then |
2220 | src_install_gcc-objc++() |
2221 | { |
2222 | cd ${SRCDIR}/build |
2223 | minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2224 | minstallexec gcc/cc1objplus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2225 | } |
2226 | fi |
2227 | fi |
2228 | |
2229 | if lang_enabled lto |
2230 | then |
2231 | src_install_lto-dump() |
2232 | { |
2233 | cd ${SRCDIR}/build |
2234 | mmake -C gcc DESTDIR=${BINDIR} lto.install-common || die |
2235 | mmake -C gcc DESTDIR=${BINDIR} lto.install-man || die |
2236 | mmake -C gcc DESTDIR=${BINDIR} lto.install-info || die |
2237 | } |
2238 | fi |
2239 | |
2240 | if lang_enabled jit |
2241 | then |
2242 | src_install_libgccjit() |
2243 | { |
2244 | cd ${SRCDIR}/build |
2245 | mmake -C gcc DESTDIR=${BINDIR} jit.install-common || die |
2246 | mmake -C gcc DESTDIR=${BINDIR} jit.install-info || die |
2247 | } |
2248 | fi |
2249 | |
2250 | if lang_enabled d |
2251 | then |
2252 | src_install_libphobos() |
2253 | { |
2254 | cd ${SRCDIR}/build |
2255 | make -C ${CHOST}/libphobos DESTDIR=${BINDIR} install || die |
2256 | if [[ ${ARCH} = x86_64 ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
2257 | then |
2258 | make -C ${CHOST}/32/libphobos DESTDIR=${BINDIR} install || die |
2259 | fi |
2260 | |
2261 | # remove specfile and includes, included in gcc-d package |
2262 | mdelete /usr/$(mlibdir)/libgphobos.spec || die |
2263 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/d |
2264 | if [[ $(ARCH=i686 mlibdir) != lib ]] && [[ ${MAGE_LIB32_SPLIT} != true ]] |
2265 | then |
2266 | mdelete /usr/$(ARCH=i686 mlibdir)/libgphobos.spec || die |
2267 | mdelete -r /usr/$(ARCH=i686 mlibdir)/gcc/${CHOST}/${PVER}/include/d || die |
2268 | fi |
2269 | } |
2270 | |
2271 | src_install_libphobos-lib32() |
2272 | { |
2273 | cd ${SRCDIR}/build |
2274 | make -C ${CHOST}/32/libphobos DESTDIR=${BINDIR} install || die |
2275 | |
2276 | # remove specfile and includes, included in gcc-d package |
2277 | mdelete /usr/$(ARCH=i686 mlibdir)/libgphobos.spec || die |
2278 | mdelete -r /usr/$(ARCH=i686 mlibdir)/gcc/${CHOST}/${PVER}/include/d || die |
2279 | } |
2280 | |
2281 | src_install_gcc-d() |
2282 | { |
2283 | cd ${SRCDIR}/build |
2284 | |
2285 | mmake -C gcc DESTDIR=${BINDIR} d.install-common || die |
2286 | mmake -C gcc DESTDIR=${BINDIR} d.install-man || die |
2287 | mmake -C gcc DESTDIR=${BINDIR} d.install-info || die |
2288 | |
2289 | # libphobos spec, includes and static libs |
2290 | mmake -C ${CHOST}/libphobos DESTDIR=${BINDIR} install || die |
2291 | mdelete /usr/$(mlibdir)/libgphobos.so\* || die |
2292 | mdelete /usr/$(mlibdir)/libgdruntime.so\* || die |
2293 | if [[ $(ARCH=i686 mlibdir) != lib ]] |
2294 | then |
2295 | mdelete /usr/$(ARCH=i686 mlibdir)/libgphobos.so\* || die |
2296 | mdelete /usr/$(ARCH=i686 mlibdir)/libgdruntime.so\* || die |
2297 | fi |
2298 | |
2299 | # missing executables |
2300 | minstalldir /usr/bin || die |
2301 | minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2302 | minstallexec gcc/gdc || die |
2303 | minstallexec gcc/d21 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
2304 | |
2305 | # versionize all bins and symlink them |
2306 | versionize_all_bins || die |
2307 | } |
2308 | fi |