Magellan Linux

Contents of /smage/branches/alx07x-stable/core/gcc/gcc-7.1.0-r4.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11381 - (show annotations) (download)
Tue Dec 19 12:29:28 2017 UTC (6 years, 4 months ago) by niro
File size: 47222 byte(s)
-release branches/alx07x-stable
1 # $Id$
2
3 PNAME="gcc"
4 PVER="7.1.0"
5 PBUILD="r4"
6
7 # package base name
8 _BASENAME="gcc"
9
10 # in-tree isl
11 ISL_PVER="0.18"
12
13 PCAT="sys-dev"
14 HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
15
16 sminclude mtools cleanutils libtool gcc-toolchain
17
18 # packages which needs rebuild: libtool, java-gcj-compat, llvm
19
20 # languages to build into gcc
21 # options are: c,c++,java,ada,fortran,go,objc,obj-c++,lto
22 # obj-c++ requires objc
23 # c++ requires c and lto
24 # c always goes along with lto
25 # gcc required minimum are c,c++,lto
26 #
27 # while toolchain bootstrap, only build c,c++ and after that rebuild the whole toolchain:
28 # linux-libc-headers -> binutils -> libc -> gcc -> binutils -> gcc -> libc
29 #
30 # dropped java/gcj beginning with year 2017
31 MyLanguages=c,c++,lto
32
33 # 1=bootstrap the whole gcc suite, using bootstrap-lean method
34 # 0=no bootstrap, use this only for quick builds to test something but never for release
35 GCC_BOOTSTRAP="1"
36
37 # 1=bootstrap ada, using precompiled gnat binaries
38 # 0=no bootstrap, build ada with system gnat - requires sys-dev/gcc-gnat
39 ADA_BOOTSTRAP="0"
40
41 # 1=enable dev split packages
42 # 0=disable dev split packages
43 ENABLE_DEV_PACKAGES="1"
44
45 # empty default
46 SPLIT_PACKAGES=""
47
48 GLIBC_DEPEND=">= virtual/glibc"
49 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
50 then
51 GLIBCDEV_DEPEND=">= virtual/glibc-dev"
52 fi
53 ZLIB_DEPEND=">= sys-libs/zlib-1.2.8"
54 COMMON_DEPEND="${GLIBC_DEPEND}
55 ${ZLIB_DEPEND}
56 >= dev-libs/gmp-6.1
57 >= dev-libs/mpfr-3.1.5
58 >= dev-libs/mpc-1.0.3"
59 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
60 then
61 COMMON_DEPEND="${COMMON_DEPEND}
62 >= dev-libs/gmp-dev-6.1"
63 fi
64
65 # special handling for libtsan, only x86-64
66 DEPEND_x86_64="== sys-libs/libtsan-${PVER}
67 == sys-libs/liblsan-${PVER}"
68 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
69 then
70 DEPEND_x86_64="${DEPEND_x86_64}
71 == sys-libs/libtsan-dev-${PVER}
72 == sys-libs/liblsan-dev-${PVER}"
73 fi
74 SPECIAL_VARS="DEPEND_x86_64"
75
76 if lang_enabled c
77 then
78 SPLIT_PACKAGES+="libgcc libgomp libquadmath libitm libatomic libasan libubsan libcilkrts libvtv libmpx"
79 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
80 then
81 SPLIT_PACKAGES+=" libgcc-dev libgomp-dev libquadmath-dev libitm-dev libatomic-dev libasan-dev libubsan-dev libcilkrts-dev libvtv-dev libmpx-dev"
82 fi
83 # thread/leak sanitizer is only available on x86_64
84 if [[ ${ARCH} = x86_64 ]]
85 then
86 SPLIT_PACKAGES+=" libtsan liblsan"
87 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
88 then
89 SPLIT_PACKAGES+=" libtsan-dev liblsan-dev"
90 fi
91 fi
92 SPLIT_PACKAGES+=" gcc"
93 LIBGCC_DEPEND="${GLIBC_DEPEND}"
94 LIBGOMP_DEPEND="${GLIBC_DEPEND}"
95 LIBQUADMATH_DEPEND="${GLIBC_DEPEND}"
96 LIBITM_DEPEND="${GLIBC_DEPEND}"
97 LIBATOMIC_DEPEND="${GLIBC_DEPEND}"
98 LIBASAN_DEPEND="${GLIBC_DEPEND}"
99 LIBLSAN_DEPEND="${GLIBC_DEPEND}"
100 LIBUBSAN_DEPEND="${GLIBC_DEPEND}"
101 LIBTSAN_DEPEND="${GLIBC_DEPEND}"
102 LIBCILKRTS_DEPEND="${GLIBC_DEPEND}"
103 LIBVTV_DEPEND="${GLIBC_DEPEND}"
104 LIBMPX_DEPEND="${GLIBC_DEPEND}"
105 GCC_DEPEND="${COMMON_DEPEND}
106 >= sys-dev/binutils-2.28
107 >= dev-libs/elfutils-0.169"
108 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
109 then
110 GCC_DEPEND="${GCC_DEPEND}
111 ${GLIBCDEV_DEPEND}"
112 fi
113 fi
114
115 if lang_enabled c++
116 then
117 SPLIT_PACKAGES+=" libstdc++"
118 LIBSTDCPP_DEPEND="${GLIBC_DEPEND}"
119 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
120 then
121 SPLIT_PACKAGES+=" libstdc++-dev"
122 fi
123 SPLIT_PACKAGES+=" gcc-c++"
124 CPP_DEPEND="${COMMON_DEPEND}"
125 fi
126
127 if lang_enabled java
128 then
129 SPLIT_PACKAGES+=" libgcj"
130 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
131 then
132 SPLIT_PACKAGES+=" libgcj-dev"
133 fi
134 SPLIT_PACKAGES+=" gcc-gcj"
135 LIBGCJ_DEPEND="${GLIBC_DEPEND}
136 ${ZLIB_DEPEND}"
137 JAVA_DEPEND="${COMMON_DEPEND}
138 >= dev-java/eclipse-ecj-3.6
139 >= dev-java/fastjar-0.98
140 >= sys-apps/file-5
141 >= app-arch/unzip-6
142 >= app-arch/zip-3
143 >= media-libs/alsa-lib-1.1
144 >= x11-libs/libSM-1.2
145 >= x11-libs/libXtst-1.2
146 >= dev-libs/glib2-2.51
147 >= x11-libs/gtk2+-2.24
148 >= media-libs/libart_lgpl-2.3.21"
149
150 # provided java version
151 JAVA_PVER="1.5.0-gcj-1.5.0.0"
152 fi
153
154 if lang_enabled ada
155 then
156 SPLIT_PACKAGES+=" libgnat"
157 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
158 then
159 SPLIT_PACKAGES+=" libgnat-dev"
160 fi
161 SPLIT_PACKAGES+=" gcc-gnat"
162 LIBGNAT_DEPEND="${GLIBC_DEPEND}"
163 ADA_DEPEND="${COMMON_DEPEND}"
164 if [[ ${ADA_BOOTSTRAP} = 1 ]]
165 then
166 GNAT_BIN_x86="gnatboot-4.3-i686.tar.bz2"
167 GNAT_BIN_x86_64="gnatboot-4.3-amd64.tar.bz2"
168 GNAT_BIN="$(eval echo \$GNAT_BIN_${ARCH/i*86/x86})"
169 GNAT_BIN_SRCDIR="${BUILDDIR}/gnat"
170 SRC_URI+=( mirror://${_BASENAME}/${GNAT_BIN_x86} )
171 SRC_URI+=( mirror://${_BASENAME}/${GNAT_BIN_x86_64} )
172 fi
173 fi
174
175 if lang_enabled fortran
176 then
177 SPLIT_PACKAGES+=" libgfortran"
178 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
179 then
180 SPLIT_PACKAGES+=" libgfortran-dev"
181 fi
182 SPLIT_PACKAGES+=" gcc-gfortran"
183 LIBGFORTRAN_DEPEND="${GLIBC_DEPEND}"
184 FORTRAN_DEPEND="${COMMON_DEPEND}"
185 fi
186
187 if lang_enabled go
188 then
189 SPLIT_PACKAGES+=" libgo"
190 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
191 then
192 SPLIT_PACKAGES+=" libgo-dev"
193 fi
194 SPLIT_PACKAGES+=" gcc-go"
195 LIBGO_DEPEND="${GLIBC_DEPEND}"
196 GO_DEPEND="${COMMON_DEPEND}"
197 fi
198
199 if lang_enabled objc
200 then
201 SPLIT_PACKAGES+=" libobjc"
202 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
203 then
204 SPLIT_PACKAGES+=" libobjc-dev"
205 fi
206 SPLIT_PACKAGES+=" gcc-objc"
207 LIBOBJC_DEPEND="${GLIBC_DEPEND}"
208 OBJC_DEPEND="${COMMON_DEPEND}"
209
210 if lang_enabled obj-c++
211 then
212 SPLIT_PACKAGES+=" gcc-objc++"
213 OBJCPP_DEPEND="${COMMON_DEPEND}"
214 fi
215 fi
216
217 SDEPEND="${LIBGCC_DEPEND}
218 ${LIBGOMP_DEPEND}
219 ${LIBQUADMATH_DEPEND}
220 ${LIBITM_DEPEND}
221 ${LIBATOMIC_DEPEND}
222 ${LIBASAN_DEPEND}
223 ${LIBLSAN_DEPEND}
224 ${LIBUBSAN_DEPEND}
225 ${LIBTSAN_DEPEND}
226 ${LIBCILKRTS_DEPEND}
227 ${LIBVTV_DEPEND}
228 ${LIBMPX_DEPEND}
229 ${LIBSTDCPP_DEPEND}
230 ${GCC_DEPEND}
231 ${CPP_DEPEND}
232 ${LIBGCJ_DEPEND}
233 ${JAVA_DEPEND}
234 ${LIBGNAT_DEPEND}
235 ${ADA_DEPEND}
236 ${LIBGFORTRAN_DEPEND}
237 ${FORTRAN_DEPEND}
238 ${LIBGO_DEPEND}
239 ${GO_DEPEND}
240 ${LIBOBJC_DEPEND}
241 ${OBJC_DEPEND}
242 ${OBJCPP_DEPEND}
243 >= virtual/kernel-headers"
244
245 if lang_enabled ada
246 then
247 if [[ ${ADA_BOOTSTRAP} != 1 ]]
248 then
249 # add gnat to SDEPEND
250 SDEPEND="${SDEPEND}
251 >= sys-dev/gcc-gnat-6.1"
252 fi
253 fi
254
255 if mqueryfeature "check"
256 then
257 # make check needs dejagnu
258 SDEPEND="${SDEPEND}
259 >= dev-util/dejagnu-1.6"
260 fi
261
262 SRCFILE="${_BASENAME}-${PVER}.tar.bz2"
263 SRCDIR="${BUILDDIR}/${_BASENAME}-${PVER}"
264
265 ISL_SRCFILE="isl-${ISL_PVER}.tar.bz2"
266 ISL_SRCDIR="${BUILDDIR}/isl-${ISL_PVER}"
267
268 # you better off when not using distcc to compile
269 # your new compiler :) maybe not all are the same
270 msetfeature "!distcc"
271
272 # src_check() takes a very long time, so we dont want to run it at every rebuild
273 # we only run it at the last stage
274 msetfeature "!check"
275
276 SRC_URI=(
277 ${SRC_URI[*]}
278 gnu://${_BASENAME}/${_BASENAME}-${PVER}/${SRCFILE}
279 http://isl.gforge.inria.fr/${ISL_SRCFILE}
280 mirror://${_BASENAME}/${SRCFILE}
281 mirror://${_BASENAME}/${ISL_SRCFILE}
282 mirror://${_BASENAME}/${_BASENAME}-4.5.1-no-fixincludes.patch
283 mirror://${_BASENAME}/${_BASENAME}-6.1.0-java-no-multilib.patch
284 mirror://${_BASENAME}/${_BASENAME}-7.1.0-lto-fix.patch
285 )
286
287 UP2DATE="updatecmd 'http://ftp.gnu.org/gnu/${PNAME}/' | utf8encode | grep '\[DIR\].*${PNAME}' | sed 's:.*${PNAME}-\(.*\)/.*:\1:' | upsort_pipe"
288
289 # gcc don't like strong CFLAGS
290 export CFLAGS="${CFLAGS//-O?} -O2"
291 export CXXFLAGS="${CFLAGS}"
292
293 # check for crosscompile or export default CHOST
294 if [[ -z ${CTARGET} ]]
295 then
296 # no crosscompile defined
297 export CTARGET=${CHOST}
298 else
299 # use crosscompile host
300 export CTARGET=${CTARGET}
301 fi
302
303 if lang_enabled c
304 then
305 split_info_gcc()
306 {
307 DESCRIPTION="Modern C compiler written by the GNU people."
308
309 DEPEND="== sys-libs/libgcc-${PVER}
310 == sys-libs/libgomp-${PVER}
311 == sys-libs/libquadmath-${PVER}
312 == sys-libs/libitm-${PVER}
313 == sys-libs/libatomic-${PVER}
314 == sys-libs/libasan-${PVER}
315 == sys-libs/libubsan-${PVER}
316 == sys-libs/libcilkrts-${PVER}
317 == sys-libs/libvtv-${PVER}
318 == sys-libs/libmpx-${PVER}
319 $(marchdepend)
320 ${GCC_DEPEND}"
321
322 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
323 then
324 DEPEND="${DEPEND}
325 == sys-libs/libgcc-dev-${PVER}
326 == sys-libs/libgomp-dev-${PVER}
327 == sys-libs/libquadmath-dev-${PVER}
328 == sys-libs/libitm-dev-${PVER}
329 == sys-libs/libatomic-dev-${PVER}
330 == sys-libs/libasan-dev-${PVER}
331 == sys-libs/libubsan-dev-${PVER}
332 == sys-libs/libcilkrts-dev-${PVER}
333 == sys-libs/libvtv-dev-${PVER}
334 == sys-libs/libmpx-dev-${PVER}"
335 fi
336
337 # install libstdc++ and gcc-c++ too if enabled
338 if lang_enabled c++
339 then
340 DEPEND="${DEPEND}
341 == sys-libs/libstdc++-${PVER}
342 == sys-dev/gcc-c++-${PVER}"
343 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
344 then
345 DEPEND="${DEPEND}
346 == sys-libs/libstdc++-dev-${PVER}"
347 fi
348 fi
349 }
350
351 split_info_libgcc()
352 {
353 DESCRIPTION="GCC shared support library."
354 DEPEND="${LIBGCC_DEPEND}"
355 PCAT="sys-libs"
356 }
357
358 split_info_libgcc-dev()
359 {
360 DESCRIPTION="Development files for libgcc."
361 DEPEND="== sys-libs/libgcc-${PVER}"
362 PCAT="sys-libs"
363 }
364
365 split_info_libgomp()
366 {
367 DESCRIPTION="GNU OpenMP runtime library."
368 DEPEND="${LIBGOMP_DEPEND}"
369 PCAT="sys-libs"
370 }
371
372 split_info_libgomp-dev()
373 {
374 DESCRIPTION="Development files for libgomp."
375 DEPEND="== sys-libs/libgomp-${PVER}"
376 PCAT="sys-libs"
377 }
378
379 split_info_libquadmath()
380 {
381 DESCRIPTION="GCC __float128 shared support library."
382 DEPEND="${LIBQUADMATH_DEPEND}"
383 PCAT="sys-libs"
384 }
385
386 split_info_libquadmath-dev()
387 {
388 DESCRIPTION="Development files for libquadmath."
389 DEPEND="== sys-libs/libquadmath-${PVER}"
390 PCAT="sys-libs"
391 }
392
393 split_info_libitm()
394 {
395 DESCRIPTION="The GNU Transactional Memory library."
396 DEPEND="${LIBITM_DEPEND}"
397 PCAT="sys-libs"
398 }
399
400 split_info_libitm-dev()
401 {
402 DESCRIPTION="Development files for libitm."
403 DEPEND="== sys-libs/libitm-${PVER}"
404 PCAT="sys-libs"
405 }
406
407 split_info_libatomic()
408 {
409 DESCRIPTION="The GNU Atomic library."
410 DEPEND="${LIBATOMIC_DEPEND}"
411 PCAT="sys-libs"
412 }
413
414 split_info_libatomic-dev()
415 {
416 DESCRIPTION="Development files for libatomic."
417 DEPEND="== sys-libs/libatomic-${PVER}"
418 PCAT="sys-libs"
419 }
420
421 split_info_libasan()
422 {
423 DESCRIPTION="The Address Sanitizer runtime library."
424 DEPEND="== sys-libs/libgcc-${PVER}
425 == sys-libs/libstdc++-${PVER}
426 ${LIBASAN_DEPEND}"
427 PCAT="sys-libs"
428 }
429
430 split_info_libasan-dev()
431 {
432 DESCRIPTION="Development files for libasan."
433 DEPEND="== sys-libs/libasan-${PVER}"
434 PCAT="sys-libs"
435 }
436
437 split_info_liblsan()
438 {
439 DESCRIPTION="The Leak Sanitizer runtime library."
440 DEPEND="== sys-libs/libgcc-${PVER}
441 == sys-libs/libstdc++-${PVER}
442 ${LIBLSAN_DEPEND}"
443 PCAT="sys-libs"
444 }
445
446 split_info_liblsan-dev()
447 {
448 DESCRIPTION="Development files for liblsan."
449 DEPEND="== sys-libs/liblsan-${PVER}"
450 PCAT="sys-libs"
451 }
452
453 split_info_libubsan()
454 {
455 DESCRIPTION="The Undefined behavior Sanitizer runtime library."
456 DEPEND="== sys-libs/libgcc-${PVER}
457 == sys-libs/libstdc++-${PVER}
458 ${LIBUBSAN_DEPEND}"
459 PCAT="sys-libs"
460 }
461
462 split_info_libubsan-dev()
463 {
464 DESCRIPTION="Development files for libubsan."
465 DEPEND="== sys-libs/libubsan-${PVER}"
466 PCAT="sys-libs"
467 }
468
469 split_info_libtsan()
470 {
471 DESCRIPTION="The Thread Sanitizer runtime library."
472 DEPEND="== sys-libs/libgcc-${PVER}
473 == sys-libs/libstdc++-${PVER}
474 ${LIBTSAN_DEPEND}"
475 PCAT="sys-libs"
476 }
477
478 split_info_libtsan-dev()
479 {
480 DESCRIPTION="Development files for libtsan."
481 DEPEND="== sys-libs/libtsan-${PVER}
482 == sys-libs/libgcc-dev-${PVER}
483 == sys-libs/libstdc++-dev-${PVER}"
484 PCAT="sys-libs"
485 }
486
487 split_info_libcilkrts()
488 {
489 DESCRIPTION="The Cilk+ runtime library."
490 DEPEND="== sys-libs/libgcc-${PVER}
491 == sys-libs/libstdc++-${PVER}
492 ${LIBCILKRTS_DEPEND}"
493 PCAT="sys-libs"
494 }
495
496 split_info_libcilkrts-dev()
497 {
498 DESCRIPTION="Development files for libcilkrts."
499 DEPEND="== sys-libs/libcilkrts-${PVER}
500 == sys-libs/libgcc-dev-${PVER}
501 == sys-libs/libstdc++-dev-${PVER}"
502 PCAT="sys-libs"
503 }
504
505 split_info_libvtv()
506 {
507 DESCRIPTION="Vtable Verification runtime library."
508 DEPEND="${LIBVTV_DEPEND}"
509 PCAT="sys-libs"
510 }
511
512 split_info_libvtv-dev()
513 {
514 DESCRIPTION="Development files for libvtv."
515 DEPEND="== sys-libs/libvtv-${PVER}"
516 PCAT="sys-libs"
517 }
518
519 split_info_libmpx()
520 {
521 DESCRIPTION="Memory Protection Extensions runtime library."
522 DEPEND="${LIBMPX_DEPEND}"
523 PCAT="sys-libs"
524 }
525
526 split_info_libmpx-dev()
527 {
528 DESCRIPTION="Development files for libmpx."
529 DEPEND="== sys-libs/libmpx-${PVER}"
530 PCAT="sys-libs"
531 }
532 fi
533
534 if lang_enabled c++
535 then
536 split_info_libstdc++()
537 {
538 DESCRIPTION="Standard GNU C and C++ libraries."
539 DEPEND="== sys-libs/libgcc-${PVER}
540 ${LIBSTDCPP_DEPEND}"
541 PCAT="sys-libs"
542 }
543
544 split_info_libstdc++-dev()
545 {
546 DESCRIPTION="Development files for libstdc++."
547 DEPEND="== sys-libs/libstdc++-${PVER}
548 == sys-libs/libgcc-dev-${PVER}"
549 PCAT="sys-libs"
550 }
551
552 split_info_gcc-c++()
553 {
554 DESCRIPTION="Modern C++ compiler written by the GNU people."
555 DEPEND="== sys-libs/libstdc++-${PVER}
556 ${CPP_DEPEND}"
557 }
558 fi
559
560 if lang_enabled java
561 then
562 split_info_libgcj()
563 {
564 DESCRIPTION="Java runtime library for GCC."
565 DEPEND="== sys-libs/libgcc-${PVER}
566 ${LIBGCJ_DEPEND}"
567 PCAT="sys-libs"
568 }
569
570 split_info_libgcj-dev()
571 {
572 DESCRIPTION="Development files for libgcj."
573 DEPEND="== sys-libs/libgcj-${PVER}
574 == sys-libs/libgcc-dev-${PVER}"
575 PCAT="sys-libs"
576 }
577
578 split_info_gcc-gcj()
579 {
580 DESCRIPTION="Java support for GCC."
581 DEPEND="== sys-libs/libgcc-${PVER}
582 == sys-libs/libstdc++-${PVER}
583 == sys-libs/libgcj-${PVER}
584 == sys-dev/gcc-${PVER}
585 ${JAVA_DEPEND}"
586 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
587 then
588 DEPEND="${DEPEND}
589 == sys-libs/libgcc-dev-${PVER}
590 == sys-libs/libstdc++-dev-${PVER}
591 == sys-libs/libgcj-dev-${PVER}"
592 fi
593 }
594 fi
595
596 if lang_enabled ada
597 then
598 split_info_libgnat()
599 {
600 DESCRIPTION="Gnu Ada 95 library which is needed to run Ada programs."
601 DEPEND="== sys-libs/libgcc-${PVER}
602 ${LIBGNAT_DEPEND}"
603 PCAT="sys-libs"
604 }
605
606 split_info_libgnat-dev()
607 {
608 DESCRIPTION="Development files for libgnat."
609 DEPEND="== sys-libs/libgnat-${PVER}
610 == sys-libs/libgcc-dev-${PVER}"
611 PCAT="sys-libs"
612 }
613
614 split_info_gcc-gnat()
615 {
616 DESCRIPTION="Ada 95 support for GCC."
617 DEPEND="== sys-libs/libgcc-${PVER}
618 == sys-libs/libstdc++-${PVER}
619 == sys-libs/libgnat-${PVER}
620 == sys-dev/gcc-${PVER}
621 ${ADA_DEPEND}"
622 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
623 then
624 DEPEND="${DEPEND}
625 == sys-libs/libgcc-dev-${PVER}
626 == sys-libs/libstdc++-dev-${PVER}
627 == sys-libs/libgnat-dev-${PVER}"
628 fi
629 }
630 fi
631
632 if lang_enabled fortran
633 then
634 split_info_libgfortran()
635 {
636 DESCRIPTION="Gnu Fortran library which is needed to run Fortran programs."
637 DEPEND="== sys-libs/libquadmath-${PVER}
638 ${LIBGFORTRAN_DEPEND}"
639 PCAT="sys-libs"
640 }
641
642 split_info_libgfortran-dev()
643 {
644 DESCRIPTION="Development files for libgfortran."
645 DEPEND="== sys-libs/libgfortran-${PVER}
646 == sys-libs/libquadmath-dev-${PVER}"
647 PCAT="sys-libs"
648 }
649
650 split_info_gcc-gfortran()
651 {
652 DESCRIPTION="Fortran support for GCC."
653 DEPEND="== sys-libs/libgcc-${PVER}
654 == sys-libs/libstdc++-${PVER}
655 == sys-libs/libgfortran-${PVER}
656 == sys-dev/gcc-${PVER}
657 ${FORTRAN_DEPEND}"
658 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
659 then
660 DEPEND="${DEPEND}
661 == sys-libs/libgcc-dev-${PVER}
662 == sys-libs/libstdc++-dev-${PVER}
663 == sys-libs/libgfortran-dev-${PVER}"
664 fi
665 }
666 fi
667
668 if lang_enabled go
669 then
670 split_info_libgo()
671 {
672 DESCRIPTION="Go library which is needed to run Go programs."
673 DEPEND="== sys-libs/libgcc-${PVER}
674 ${LIBGO_DEPEND}"
675 PCAT="sys-libs"
676 }
677
678 split_info_libgo-dev()
679 {
680 DESCRIPTION="Development files for libgo."
681 DEPEND="== sys-libs/libgo-${PVER}
682 == sys-libs/libgcc-dev-${PVER}"
683 PCAT="sys-libs"
684 }
685
686 split_info_gcc-go()
687 {
688 DESCRIPTION="Go support for GCC."
689 DEPEND="== sys-libs/libgcc-${PVER}
690 == sys-libs/libstdc++-${PVER}
691 == sys-libs/libgo-${PVER}
692 == sys-dev/gcc-${PVER}
693 ${GO_DEPEND}"
694 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
695 then
696 DEPEND="${DEPEND}
697 == sys-libs/libgcc-dev-${PVER}
698 == sys-libs/libstdc++-dev-${PVER}
699 == sys-libs/libgo-dev-${PVER}"
700 fi
701 }
702 fi
703
704 if lang_enabled objc
705 then
706 split_info_libobjc()
707 {
708 DESCRIPTION="Objective-C library which is needed to run Objective-C programs."
709 DEPEND="== sys-libs/libgcc-${PVER}
710 ${LIBOBJC_DEPEND}"
711 PCAT="sys-libs"
712 }
713
714 split_info_libobjc-dev()
715 {
716 DESCRIPTION="Development files for libobjc."
717 DEPEND="== sys-libs/libobjc-${PVER}
718 == sys-libs/libgcc-dev-${PVER}"
719 PCAT="sys-libs"
720 }
721
722 split_info_gcc-objc()
723 {
724 DESCRIPTION="Objective-C support for GCC."
725 DEPEND="== sys-libs/libgcc-${PVER}
726 == sys-libs/libstdc++-${PVER}
727 == sys-libs/libobjc-${PVER}
728 == sys-dev/gcc-${PVER}
729 ${OBJC_DEPEND}"
730 }
731
732 if lang_enabled obj-c++
733 then
734 split_info_gcc-objc++()
735 {
736 DESCRIPTION="Objective-C++ support for GCC."
737 DEPEND="== sys-libs/libgcc-${PVER}
738 == sys-libs/libstdc++-${PVER}
739 == sys-libs/libobjc-${PVER}
740 == sys-dev/gcc-${PVER}
741 == sys-dev/gcc-objc-${PVER}
742 ${OBJCPP_DEPEND}"
743 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
744 then
745 DEPEND="${DEPEND}
746 == sys-libs/libgcc-dev-${PVER}
747 == sys-libs/libstdc++-dev-${PVER}
748 == sys-libs/libobjc-dev-${PVER}"
749 fi
750 }
751 fi
752 fi
753
754 src_prepare()
755 {
756 munpack ${SRCFILE} || die
757
758 # prepare isl in-tree build
759 munpack ${ISL_SRCFILE} || die
760 ln -snf ${ISL_SRCDIR} ${SRCDIR}/isl || die
761
762 if lang_enabled ada
763 then
764 if [[ ${ADA_BOOTSTRAP} = 1 ]]
765 then
766 # setup binary ada if boostrap is enabled
767 install -d ${GNAT_BIN_SRCDIR} || die
768 munpack ${GNAT_BIN} ${GNAT_BIN_SRCDIR} || die
769 # gnat wrapper has problems with quotation
770 sed -i \
771 -e "/-DREVISION/d" \
772 -e "/-DDEVPHASE/d" \
773 -e "s: -DDATESTAMP=\$(DATESTAMP_s)::" \
774 ${SRCDIR}/gcc/Makefile.in || die
775 sed -i \
776 -e "s: DATESTAMP DEVPHASE REVISION::" \
777 -e "s:PKGVERSION:\"\":" \
778 ${SRCDIR}/gcc/version.c || die
779 fi
780 cd ${SRCDIR}
781 fi
782
783 cd ${SRCDIR}
784
785 # fix lto issues
786 # see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80717
787 mpatch ${_BASENAME}-7.1.0-lto-fix.patch || die
788
789 # generic fixes
790 mpatch ${_BASENAME}-4.5.1-no-fixincludes.patch || die
791 # re-add --enable/disable-libjava-multilib switch
792 #mpatch ${_BASENAME}-6.1.0-java-no-multilib.patch || die
793
794 # suppress installation of libffi, we're using libffi3 instead
795 sed -i 's/\(install.*:\) install-.*recursive/\1/' libffi/Makefile.in || die
796 sed -i 's/\(install-data-am:\).*/\1/' libffi/include/Makefile.in || die
797
798 # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
799 sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure gcc/configure || die
800
801 install -d ${SRCDIR}/build || die
802 }
803
804 src_compile()
805 {
806 if lang_enabled ada
807 then
808 if [[ ${ADA_BOOTSTRAP} = 1 ]]
809 then
810 # export binary gnat pathes
811 export PATH="${GNAT_BIN_SRCDIR}/usr/bin:${PATH}"
812 export CC="${GNAT_BIN_SRCDIR}/usr/bin/gnatgcc"
813 # CPATH is supposed to be applied for any language, thus
814 # superseding either of C/CPLUS/OBJC_INCLUDE_PATHs
815 export CPATH="${GNAT_BIN_SRCDIR}/usr/lib/include"
816 export LIB_DIR="${GNAT_BIN_SRCDIR}/usr/lib"
817 export LDFLAGS="-L${GNAT_BIN_SRCDIR}/usr/lib"
818 export LIBRARY_PATH="${GNAT_BIN_SRCDIR}/usr/lib"
819 export ADA_OBJECTS_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adalib"
820 export ADA_INCLUDE_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adainclude"
821
822 # prepare some tools
823 cd ${GNAT_BIN_SRCDIR}
824 cp -v ${SRCDIR}/gcc/ada/xtreeprs.adb ${GNAT_BIN_SRCDIR} || die
825 cp -v ${SRCDIR}/gcc/ada/csinfo.adb ${GNAT_BIN_SRCDIR} || die
826 cp -v ${SRCDIR}/gcc/ada/ceinfo.adb ${GNAT_BIN_SRCDIR} || die
827 cp -v ${SRCDIR}/gcc/ada/xsinfo.adb ${GNAT_BIN_SRCDIR} || die
828 cp -v ${SRCDIR}/gcc/ada/xeinfo.adb ${GNAT_BIN_SRCDIR} || die
829 cp -v ${SRCDIR}/gcc/ada/xnmake.adb ${GNAT_BIN_SRCDIR} || die
830 cp -v ${SRCDIR}/gcc/ada/xutil.ad{s,b} ${GNAT_BIN_SRCDIR} || die
831 gnatmake xtreeprs || die
832 gnatmake xsinfo || die
833 gnatmake xeinfo || die
834 gnatmake xnmake || die
835 fi
836 fi
837
838 cd ${SRCDIR}/build
839 local myconf
840
841 # Straight from the GCC install doc:
842 # "GCC has code to correctly determine the correct value for target
843 # for nearly all native systems. Therefore, we highly recommend you
844 # not provide a configure target when configuring a native compiler."
845 if [[ ${CHOST} != ${CTARGET} ]]
846 then
847 myconf+=" --target=${CTARGET}"
848 fi
849
850 if lang_enabled java
851 then
852 myconf+=" --enable-java-awt=gtk
853 --enable-gtk-cairo
854 --enable-libgcj-multifile
855 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
856 --with-fastjar=/usr/bin/fastjar
857 --enable-hash-synchronization"
858 # disable mutilib for java
859 myconf+=" --disable-libjava-multilib"
860 # java home, must be the same of java-gcj-compat
861 myconf+=" --with-java-home=/usr/$(mlibdir)/jvm/java-${JAVA_PVER}/jre"
862 fi
863
864 if lang_enabled lto
865 then
866 myconf+=" --enable-lto"
867 fi
868
869 # use isl backend
870 myconf+=" --with-isl"
871
872 # install libiberty, as we will NOT using the one from binutils
873 myconf+=" --enable-install-libiberty"
874
875 # enable memory protections extension
876 myconf+=" --enable-libmpx"
877
878 # no ssp, we use mpx
879 myconf+=" --disable-libssp"
880
881 # enforce vtable verification
882 myconf+=" --enable-vtable-verify"
883 myconf+=" --enable-libvtv"
884
885 # enable gold but use default linker as default
886 #myconf+=" --enable-gold"
887 #myconf+=" --with-plugin-ld=ld.gold"
888 #myconf+=" --enable-ld=default"
889
890 # use the old default c++ abi until LLVM is fixed
891 # later we switch to c++11
892 # see: http://allanmcrae.com/2015/06/the-case-of-gcc-5-1-and-the-two-c-abis/
893 # myconf+=" --with-default-libstdcxx-abi=gcc4-compatible"
894
895 # gcc >= 4.3 has now configure flags for uri and version - yeah!
896 AR=ar \
897 ../configure \
898 --with-bugurl="http://bugs.magellan-linux.de/" \
899 --with-pkgversion="Magellan-Linux" \
900 --build=${CHOST} \
901 --host=${CHOST} \
902 --prefix=/usr \
903 --sbindir=/usr/bin \
904 --mandir=/usr/share/man \
905 --infodir=/usr/share/info \
906 --libdir=/usr/$(mlibdir) \
907 --libexecdir=/usr/$(mlibdir) \
908 --enable-shared \
909 --enable-threads=posix \
910 --enable-__cxa_atexit \
911 --enable-clocale=gnu \
912 --enable-checking=release \
913 --disable-libunwind-exceptions \
914 --with-linker-hash-style=gnu \
915 --with-system-zlib \
916 --enable-languages=${MyLanguages} \
917 --disable-libstdcxx-pch \
918 --enable-gnu-unique-object \
919 --enable-gnu-indirect-function \
920 --enable-plugin \
921 --enable-linker-build-id \
922 --disable-werror \
923 ${myconf} \
924 || die
925
926 # parallel builds seems to break sometimes on x86_64
927 local myopts
928 #[[ ${ARCH} = x86_64 ]] && myopts="-j1"
929 # always use -j1
930 myopts="-j1"
931
932 # enable bootstrap if requested
933 local target
934 [[ ${GCC_BOOTSTRAP} = 1 ]] && target="bootstrap-lean"
935
936 mmake ${myopts} ${target} || die
937 }
938
939 src_check()
940 {
941 cd ${SRCDIR}/build
942
943 # increase stack size to prevent test failures
944 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
945 ulimit -s 32768
946
947 # do not abort on error as some are "expected"
948 mmake -k check || true
949 # list all
950 ${SRCDIR}/contrib/test_summary
951 # only summary
952 #${SRCDIR}/contrib/test_summary | grep -A7 "Summ"
953 }
954
955 if lang_enabled c
956 then
957 src_install_gcc()
958 {
959 cd ${SRCDIR}/build
960
961 mmake -C gcc DESTDIR=${BINDIR} install-driver || die
962 mmake -C gcc DESTDIR=${BINDIR} install-gcc-ar || die
963 mmake -C gcc DESTDIR=${BINDIR} install-headers || die
964 mmake -C gcc DESTDIR=${BINDIR} install-plugin || die
965
966 # missing bins
967 minstallexec gcc/gcov || die
968 minstallexec gcc/gcov-tool || die
969 minstallexec gcc/cc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
970 minstallexec gcc/collect2 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
971
972 # lto wrapper
973 if lang_enabled lto
974 then
975 mmake -C gcc DESTDIR=${BINDIR} install-lto-wrapper || die
976 minstallexec gcc/lto1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
977 fi
978
979 # install only libgcc crts
980 mmake -C ${CHOST}/libgcc DESTDIR=${BINDIR} install || die
981 mdelete /usr/$(mlibdir)/libgcc_s.so\* || die
982 if [[ $(mlibdir) != lib ]]
983 then
984 mmake -C ${CHOST}/32/libgcc DESTDIR=${BINDIR} install || die
985 mdelete /usr/lib/libgcc_s.so\* || die
986 fi
987
988 # install libcc1
989 mmake DESTDIR=${BINDIR} install-libcc1 || die
990
991 # fixinclude header + scripts
992 mmake DESTDIR=${BINDIR} install-fixincludes || die
993 mmake -C gcc DESTDIR=${BINDIR} install-mkheaders || die
994
995 # lto plugin
996 if lang_enabled lto
997 then
998 mmake -C lto-plugin DESTDIR=${BINDIR} install || die
999 minstalldir /usr/$(mlibdir)/bfd-plugins || die
1000 mlink /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/liblto_plugin.so /usr/$(mlibdir)/bfd-plugins/ || die
1001 fi
1002
1003 # library headers: libcilkrts, libgomp, libitm, libsanitizer, libasan, libmpx
1004 mmake -C ${CHOST}/libcilkrts DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1005 mmake -C ${CHOST}/libcilkrts DESTDIR=${BINDIR} install-nodist_cilkincludeHEADERS || die
1006 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1007 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_libsubincludeHEADERS || die
1008 mmake -C ${CHOST}/libitm DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1009 mmake -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-nodist_libsubincludeHEADERS || die
1010 mmake -C ${CHOST}/libsanitizer DESTDIR=${BINDIR} install-nodist_sanincludeHEADERS || die
1011 mmake -C ${CHOST}/libsanitizer DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1012 mmake -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1013 mmake -C ${CHOST}/libmpx DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1014 if [[ $(mlibdir) != lib ]]
1015 then
1016 mmake -C ${CHOST}/32/libcilkrts DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1017 mmake -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1018 mmake -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1019 mmake -C ${CHOST}/32/libsanitizer DESTDIR=${BINDIR} install-nodist_sanincludeHEADERS || die
1020 mmake -C ${CHOST}/32/libsanitizer DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1021 mmake -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1022 mmake -C ${CHOST}/32/libmpx DESTDIR=${BINDIR} install-nodist_toolexeclibHEADERS || die
1023 fi
1024
1025 # install libiberty
1026 mmake -C libiberty DESTDIR=${BINDIR} install || die
1027 # install PIC version of libiberty
1028 minstallfile libiberty/pic/libiberty.a /usr/$(mlibdir) || die
1029
1030 # man and info pages
1031 mmake -C gcc DESTDIR=${BINDIR} install-man || die
1032 mmake -C gcc DESTDIR=${BINDIR} install-info || die
1033 # provided by split-packages
1034 if lang_enabled c++
1035 then
1036 mdelete /usr/share/man/man1/cpp.1 || die
1037 mdelete /usr/share/man/man1/g++.1 || die
1038 mdelete /usr/share/info/cpp.info || die
1039 mdelete /usr/share/info/cppinternals.info || die
1040 fi
1041 if lang_enabled go
1042 then
1043 mdelete /usr/share/man/man1/gccgo.1 || die
1044 mdelete /usr/share/info/gccgo.info || die
1045 fi
1046 if lang_enabled fortran
1047 then
1048 mdelete /usr/share/man/man1/gfortran.1 || die
1049 mdelete /usr/share/info/gfortran.info || die
1050 fi
1051 if lang_enabled ada
1052 then
1053 mdelete /usr/share/info/gnat-style.info || die
1054 mdelete /usr/share/info/gnat_rm.info || die
1055 mdelete /usr/share/info/gnat_ugn.info || die
1056 fi
1057
1058 # install gcc locales
1059 mmake -C gcc DESTDIR=${BINDIR} install-po || die
1060
1061 # install posix conformance launcher scripts for c89 and c99
1062 cat > ${BINDIR}/usr/bin/c89 <<"EOF"
1063 #!/bin/sh
1064 fl="-std=c89"
1065 for opt
1066 do
1067 case "$opt" in
1068 -ansi|-std=c89|-std=iso9899:1990)
1069 fl=""
1070 ;;
1071 -std=*)
1072 echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
1073 exit 1
1074 ;;
1075 esac
1076 done
1077 exec gcc $fl ${1+"$@"}
1078 EOF
1079 cat > ${BINDIR}/usr/bin/c99 <<"EOF"
1080 #!/bin/sh
1081 fl="-std=c99"
1082 for opt
1083 do
1084 case "$opt" in
1085 -std=c99|-std=iso9899:1999)
1086 fl=""
1087 ;;
1088 -std=*)
1089 echo "`basename $0` called with non ISO C99 option $opt" >&2
1090 exit 1
1091 ;;
1092 esac
1093 done
1094 exec gcc $fl ${1+"$@"}
1095 EOF
1096 mchmod 0755 /usr/bin/c89 || die
1097 mchmod 0755 /usr/bin/c99 || die
1098
1099 # versionize all bins and symlink them
1100 versionize_all_bins || die
1101 mlink gcc-${PVER} /usr/bin/cc || die
1102
1103 # fix all .la files
1104 # they may contain invalid libpathes which are not needed
1105 local la
1106 for la in $(find ${BINDIR} -name \*.la)
1107 do
1108 fix_la_file ${la} || die ${la}
1109 done
1110
1111 # remove /lib dirs to be usr-move compat
1112 if [[ -d ${BINDIR}/$(mlibdir) ]]
1113 then
1114 mdelete -r /$(mlibdir) || die
1115 fi
1116 if [[ $(mlibdir) != lib ]]
1117 then
1118 if [[ -d ${BINDIR}/lib ]]
1119 then
1120 mdelete -r /lib || die
1121 fi
1122 fi
1123 }
1124 fi
1125
1126 if lang_enabled c++
1127 then
1128 src_install_gcc-c++()
1129 {
1130 cd ${SRCDIR}/build
1131
1132 mmake -C gcc DESTDIR=${BINDIR} install-cpp || die
1133 mmake -C gcc DESTDIR=${BINDIR} c++.install-common || die
1134
1135 # missing bins
1136 minstallexec gcc/cc1plus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1137
1138 # install libstdc++ files
1139 mmake -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install || die
1140 mmake -C ${CHOST}/libstdc++-v3/include DESTDIR=${BINDIR} install || die
1141 mmake -C ${CHOST}/libstdc++-v3/libsupc++ DESTDIR=${BINDIR} install || die
1142 mmake -C ${CHOST}/libstdc++-v3/python DESTDIR=${BINDIR} install || die
1143 if [[ $(mlibdir) != lib ]]
1144 then
1145 mmake -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install || die
1146 mmake -C ${CHOST}/32/libstdc++-v3/include DESTDIR=${BINDIR} install || die
1147 mmake -C ${CHOST}/32/libstdc++-v3/libsupc++ DESTDIR=${BINDIR} install || die
1148 mmake -C ${CHOST}/32/libstdc++-v3/python DESTDIR=${BINDIR} install || die
1149 fi
1150 # move gdb scripts to a proper location and to pretty-print ldconfig
1151 minstalldir /usr/share/gdb/auto-load/usr/$(mlibdir) || die
1152 mmove ${BINDIR}/usr/$(mlibdir)/libstdc++\*gdb.py\* /usr/share/gdb/auto-load/usr/$(mlibdir)/ || die
1153 if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]]
1154 then
1155 minstalldir /usr/share/gdb/auto-load/usr/lib || die
1156 mmove ${BINDIR}/usr/lib/libstdc++\*gdb.py\* /usr/share/gdb/auto-load/usr/lib/ || die
1157 fi
1158 # only keep static libstdcc++ lib
1159 mdelete /usr/$(mlibdir)/libstdc++.so\* || die
1160 if [[ $(mlibdir) != lib ]]
1161 then
1162 mdelete /usr/lib/libstdc++.so\* || die
1163 fi
1164
1165 # man and info pages
1166 mmake -C gcc DESTDIR=${BINDIR} install-man || die
1167 mmake -C gcc DESTDIR=${BINDIR} install-info || die
1168 # provided by split-packages
1169 if lang_enabled c
1170 then
1171 mdelete /usr/share/man/man1/gcc.1 || die
1172 mdelete /usr/share/man/man1/gcov.1 || die
1173 mdelete /usr/share/man/man1/gcov-dump.1 || die
1174 mdelete /usr/share/man/man1/gcov-tool.1 || die
1175 mdelete -r /usr/share/man/man7 || die
1176 mdelete /usr/share/info/gcc.info || die
1177 mdelete /usr/share/info/gccinstall.info || die
1178 mdelete /usr/share/info/gccint.info || die
1179 fi
1180 if lang_enabled go
1181 then
1182 mdelete /usr/share/man/man1/gccgo.1 || die
1183 mdelete /usr/share/info/gccgo.info || die
1184 fi
1185 if lang_enabled fortran
1186 then
1187 mdelete /usr/share/man/man1/gfortran.1 || die
1188 mdelete /usr/share/info/gfortran.info || die
1189 fi
1190 if lang_enabled ada
1191 then
1192 mdelete /usr/share/info/gnat-style.info || die
1193 mdelete /usr/share/info/gnat_rm.info || die
1194 mdelete /usr/share/info/gnat_ugn.info || die
1195 fi
1196
1197 # install libcpp locales
1198 mmake -C libcpp DESTDIR=${BINDIR} install || die
1199
1200 # versionize all bins and symlink them
1201 versionize_all_bins || die
1202
1203 mlink ../bin/cpp-${PVER} /usr/$(mlibdir)/cpp || die
1204 # this one is needed on multilib systems.
1205 # rpcgen may not find the cpp compiler correctly if not in /lib/cpp
1206 if [[ $(mlibdir) != lib ]]
1207 then
1208 minstalldir /usr/lib || die
1209 mlink ../bin/cpp-${PVER} /usr/lib/cpp || die
1210 fi
1211
1212 # fix all .la files
1213 # they may contain invalid libpathes which are not needed
1214 local la
1215 for la in $(find ${BINDIR} -name \*.la)
1216 do
1217 fix_la_file ${la} || die ${la}
1218 done
1219
1220 # remove /lib dirs to be usr-move compat
1221 if [[ -d ${BINDIR}/$(mlibdir) ]]
1222 then
1223 mdelete -r /$(mlibdir) || die
1224 fi
1225 if [[ $(mlibdir) != lib ]]
1226 then
1227 if [[ -d ${BINDIR}/lib ]]
1228 then
1229 mdelete -r /lib || die
1230 fi
1231 fi
1232 }
1233 fi
1234
1235 if lang_enabled c
1236 then
1237 src_install_libgcc-common()
1238 {
1239 cd ${SRCDIR}/build
1240 mmake -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die
1241 if [[ $(mlibdir) != lib ]]
1242 then
1243 mmake -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die
1244 fi
1245 mdelete -r /usr/$(mlibdir)/gcc || die
1246 }
1247
1248 src_install_libgcc()
1249 {
1250 src_install_libgcc-common || die
1251 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1252 then
1253 keep_dev_package_libs 'libgcc_s.so.*' || die
1254 fi
1255 }
1256
1257 src_install_libgcc-dev()
1258 {
1259 src_install_libgcc-common || die
1260 delete_dev_package_libs 'libgcc_s.so.*' || die
1261 }
1262
1263 src_install_libgomp-common()
1264 {
1265 install_gcc_library "libgomp" || die
1266 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
1267 }
1268
1269 src_install_libgomp()
1270 {
1271 src_install_libgomp-common || die
1272 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1273 then
1274 keep_dev_package_libs 'libgomp.so.*' || die
1275 fi
1276 }
1277
1278 src_install_libgomp-dev()
1279 {
1280 src_install_libgomp-common || die
1281 delete_dev_package_libs 'libgomp.so.*' || die
1282 }
1283
1284 src_install_libquadmath-common()
1285 {
1286 install_gcc_library "libquadmath" || die
1287 mmake -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-info || die
1288 }
1289
1290 src_install_libquadmath()
1291 {
1292 src_install_libquadmath-common || die
1293 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1294 then
1295 keep_dev_package_libs 'libquadmath.so.*' || die
1296 fi
1297 }
1298
1299 src_install_libquadmath-dev()
1300 {
1301 src_install_libquadmath-common || die
1302 delete_dev_package_libs 'libquadmath.so.*' || die
1303 }
1304
1305 src_install_libitm-common()
1306 {
1307 install_gcc_library "libitm"
1308 mmake -C ${CHOST}/libitm DESTDIR=${BINDIR} install-info || die
1309 }
1310
1311 src_install_libitm()
1312 {
1313 src_install_libitm-common || die
1314 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1315 then
1316 keep_dev_package_libs 'libitm.so.*' || die
1317 fi
1318 }
1319
1320 src_install_libitm-dev()
1321 {
1322 src_install_libitm-common || die
1323 delete_dev_package_libs 'libitm.so.*' || die
1324 }
1325
1326 src_install_libatomic-common()
1327 {
1328 install_gcc_library "libatomic" || die
1329 }
1330
1331 src_install_libatomic()
1332 {
1333 src_install_libatomic-common || die
1334 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1335 then
1336 keep_dev_package_libs 'libatomic.so.*' || die
1337 fi
1338 }
1339
1340 src_install_libatomic-dev()
1341 {
1342 src_install_libatomic-common || die
1343 delete_dev_package_libs 'libatomic.so.*' || die
1344 }
1345
1346 src_install_libasan-common()
1347 {
1348 install_gcc_library "libsanitizer/asan" || die
1349 }
1350
1351 src_install_libasan()
1352 {
1353 src_install_libasan-common || die
1354 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1355 then
1356 keep_dev_package_libs 'libasan.so.*' || die
1357 fi
1358 }
1359
1360 src_install_libasan-dev()
1361 {
1362 src_install_libasan-common || die
1363 delete_dev_package_libs 'libasan.so.*' || die
1364 }
1365
1366 src_install_liblsan-common()
1367 {
1368 install_gcc_library "libsanitizer/lsan" || die
1369 }
1370
1371 src_install_liblsan()
1372 {
1373 src_install_liblsan-common || die
1374 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1375 then
1376 keep_dev_package_libs 'liblsan.so.*' || die
1377 fi
1378 }
1379
1380 src_install_liblsan-dev()
1381 {
1382 src_install_liblsan-common || die
1383 delete_dev_package_libs 'liblsan.so.*' || die
1384 }
1385
1386 src_install_libubsan-common()
1387 {
1388 install_gcc_library "libsanitizer/ubsan" || die
1389 }
1390
1391 src_install_libubsan()
1392 {
1393 src_install_libubsan-common || die
1394 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1395 then
1396 keep_dev_package_libs 'libubsan.so.*' || die
1397 fi
1398 }
1399
1400 src_install_libubsan-dev()
1401 {
1402 src_install_libubsan-common || die
1403 delete_dev_package_libs 'libubsan.so.*' || die
1404 }
1405
1406 src_install_libtsan-common()
1407 {
1408 install_gcc_library "libsanitizer/tsan" || die
1409 }
1410
1411 src_install_libtsan()
1412 {
1413 src_install_libtsan-common || die
1414 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1415 then
1416 keep_dev_package_libs 'libtsan.so.*' || die
1417 fi
1418 }
1419 src_install_libtsan-dev()
1420 {
1421 src_install_libtsan-common || die
1422 delete_dev_package_libs 'libtsan.so.*' || die
1423 }
1424
1425 src_install_libcilkrts-common()
1426 {
1427 install_gcc_library "libcilkrts" || die
1428 }
1429
1430 src_install_libcilkrts()
1431 {
1432 src_install_libcilkrts-common || die
1433 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1434 then
1435 keep_dev_package_libs 'libcilkrts.so.*' || die
1436 fi
1437 }
1438
1439 src_install_libcilkrts-dev()
1440 {
1441 src_install_libcilkrts-common || die
1442 delete_dev_package_libs 'libcilkrts.so.*' || die
1443 }
1444
1445 src_install_libvtv-common()
1446 {
1447 install_gcc_library "libvtv" || die
1448 }
1449
1450 src_install_libvtv()
1451 {
1452 src_install_libvtv-common || die
1453 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1454 then
1455 keep_dev_package_libs 'libvtv.so.*' || die
1456 fi
1457 }
1458
1459 src_install_libvtv-dev()
1460 {
1461 src_install_libvtv-common || die
1462 delete_dev_package_libs 'libvtv.so.*' || die
1463 }
1464
1465 src_install_libmpx-common()
1466 {
1467 cd ${SRCDIR}/build
1468
1469 # does not support install-toolexeclibLTLIBRARIES
1470 mmake -C ${CHOST}/libmpx DESTDIR=${BINDIR} install || die
1471 mdelete /usr/$(mlibdir)/libmpx.spec || die
1472 if [[ $(mlibdir) != lib ]]
1473 then
1474 mmake -C ${CHOST}/32/libmpx DESTDIR=${BINDIR} install || die
1475 mdelete /usr/lib/libmpx.spec || die
1476 fi
1477 }
1478
1479 src_install_libmpx()
1480 {
1481 src_install_libmpx-common || die
1482 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1483 then
1484 keep_dev_package_libs 'libmpx.so.*' || die
1485 fi
1486 }
1487
1488 src_install_libmpx-dev()
1489 {
1490 src_install_libmpx-common || die
1491 delete_dev_package_libs 'libmpx.so.*' || die
1492 }
1493 fi
1494
1495 if lang_enabled c++
1496 then
1497 src_install_libstdc++-common()
1498 {
1499 install_gcc_library "libstdc++-v3/src" || die
1500 mmake -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die
1501 }
1502
1503 src_install_libstdc++()
1504 {
1505 src_install_libstdc++-common || die
1506 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1507 then
1508 keep_dev_package_libs 'libstdc++.so.*' || die
1509 fi
1510 }
1511
1512 src_install_libstdc++-dev()
1513 {
1514 src_install_libstdc++-common || die
1515 delete_dev_package_libs 'libstdc++.so.*' || die
1516 }
1517 fi
1518
1519 if lang_enabled java
1520 then
1521 src_install_libgcj-common()
1522 {
1523 install_gcc_library "libjava"
1524 }
1525
1526 src_install_libgcj()
1527 {
1528 src_install_libgcj-common || die
1529 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1530 then
1531 keep_dev_package_libs 'libgcj_bc.so.* libgcj-tools.so.* libgcj.so.* libgij.so.*' || die
1532 fi
1533 }
1534
1535 src_install_libgcj-dev()
1536 {
1537 src_install_libgcj-common || die
1538 delete_dev_package_libs 'libgcj_bc.so.* libgcj-tools.so.* libgcj.so.* libgij.so.*' || die
1539 }
1540
1541 src_install_gcc-gcj()
1542 {
1543 cd ${SRCDIR}/build
1544
1545 # install only java targets
1546 make -C ${CHOST}/libjava DESTDIR=${BINDIR} install || die
1547 make -C gcc DESTDIR=${BINDIR} java.install-common || die
1548 make -C gcc DESTDIR=${BINDIR} java.install-man || die
1549
1550 # missing bins
1551 minstallexec gcc/jc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1552 minstallexec gcc/jvgenmain /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1553
1554 # remove libraries and files already included elsewhere
1555 mmake -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1556 mdelete /usr/$(mlibdir)/libgcj_bc.so\* || die
1557 if [[ $(mlibdir) != lib ]]
1558 then
1559 # with >= gcc-6.1 this one only applies when libjava was a mulitlib build
1560 if [[ -d ${CHOST}/32/libjava ]]
1561 then
1562 mmake -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1563 mdelete /usr/lib/libgcj_bc.so\* || die
1564 fi
1565 fi
1566
1567 # versionize all bins and symlink them
1568 versionize_all_bins || die
1569 }
1570 fi
1571
1572 if lang_enabled ada
1573 then
1574 # gnat so-lib version
1575 solib_ver="$(echo ${PVER} | cut -d'.' -f1)"
1576
1577 src_install_libgnat-common()
1578 {
1579 cd ${SRCDIR}/build
1580 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
1581 if [[ $(mlibdir) != lib ]]
1582 then
1583 # install 32bit libgnat
1584 # make tries to execute the libs, which fails
1585 # we override the INSTALL commands to *not* do that
1586 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
1587 fi
1588 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die
1589
1590 # move so-libs to the right location
1591 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${solib_ver}.so /usr/$(mlibdir) || die
1592 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${solib_ver}.so /usr/$(mlibdir) || die
1593 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die
1594 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die
1595 mlink libgnarl-${solib_ver}.so /usr/$(mlibdir)/libgnarl.so || die
1596 mlink libgnat-${solib_ver}.so /usr/$(mlibdir)/libgnat.so || die
1597 mlink ../../../../libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${solib_ver}.so || die
1598 mlink ../../../../libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${solib_ver}.so || die
1599 mlink ../../../../libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die
1600 mlink ../../../../libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die
1601
1602 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die
1603
1604 if [[ $(mlibdir) != lib ]]
1605 then
1606 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die
1607
1608 # move so-libs to the right location
1609 minstalldir /usr/lib || die
1610 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${solib_ver}.so /usr/lib || die
1611 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${solib_ver}.so /usr/lib || die
1612 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die
1613 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die
1614 mlink libgnarl-${solib_ver}.so /usr/lib/libgnarl.so || die
1615 mlink libgnat-${solib_ver}.so /usr/lib/libgnat.so || die
1616 mlink ../../../../../../lib/libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${solib_ver}.so || die
1617 mlink ../../../../../../lib/libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${solib_ver}.so || die
1618 mlink ../../../../../../lib/libgnarl-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die
1619 mlink ../../../../../../lib/libgnat-${solib_ver}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die
1620
1621 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die
1622 fi
1623
1624 # remove other
1625 mdelete -r /usr/bin || die
1626 }
1627
1628 src_install_libgnat()
1629 {
1630 src_install_libgnat-common || die
1631 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1632 then
1633 keep_dev_package_libs "libgnarl-${solib_ver}.so libgnarl.so libgnat-${solib_ver}.so libgnat.so" || die
1634 fi
1635 }
1636
1637 src_install_libgnat-dev()
1638 {
1639 src_install_libgnat-common || die
1640 delete_dev_package_libs "libgnarl-${solib_ver}.so libgnarl.so libgnat-${solib_ver}.so libgnat.so" || die
1641 }
1642
1643 src_install_gcc-gnat()
1644 {
1645 cd ${SRCDIR}/build
1646 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
1647 if [[ $(mlibdir) != lib ]]
1648 then
1649 # install 32bit libgnat
1650 # make tries to execute the libs, which fails
1651 # we override the INSTALL commands to *not* do that
1652 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
1653 fi
1654 mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die
1655 minstallexec gcc/gnat1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER} || die
1656
1657 # remove libraries already included elsewhere
1658 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl\*.\* || die
1659 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat\*.\* || die
1660 if [[ $(mlibdir) != lib ]]
1661 then
1662 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl\*.\* || die
1663 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat\*.\* || die
1664 fi
1665
1666 # versionize all bins and symlink them
1667 versionize_all_bins || die
1668 }
1669 fi
1670
1671 if lang_enabled fortran
1672 then
1673 src_install_libgfortran-common()
1674 {
1675 install_gcc_library "libgfortran"
1676 }
1677
1678 src_install_libgfortran()
1679 {
1680 src_install_libgfortran-common || die
1681 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1682 then
1683 keep_dev_package_libs 'libgfortran.so.*' || die
1684 fi
1685 }
1686
1687 src_install_libgfortran-dev()
1688 {
1689 src_install_libgfortran-common || die
1690 delete_dev_package_libs 'libgfortran.so.*' || die
1691 }
1692
1693 src_install_gcc-gfortran()
1694 {
1695 cd ${SRCDIR}/build
1696
1697 # omp headers needed by fortran
1698 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die
1699 # libcafsingle
1700 mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-cafexeclibLTLIBRARIES || die
1701 if [[ $(mlibdir) != lib ]]
1702 then
1703 mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-cafexeclibLTLIBRARIES || die
1704 fi
1705 # only included in <= gcc-6.1
1706 if [[ ${PVER} < 6 ]]
1707 then
1708 #libgfortranbegin
1709 mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-myexeclibLTLIBRARIES || die
1710 if [[ $(mlibdir) != lib ]]
1711 then
1712 mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-myexeclibLTLIBRARIES || die
1713 fi
1714 fi
1715 # spec file
1716 mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-toolexeclibDATA || die
1717 if [[ $(mlibdir) != lib ]]
1718 then
1719 mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-toolexeclibDATA || die
1720 fi
1721 # finclude headers
1722 mmake -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die
1723 if [[ $(mlibdir) != lib ]]
1724 then
1725 mmake -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die
1726 fi
1727 # binaries
1728 mmake -C gcc DESTDIR=${BINDIR} fortran.install-common || die
1729 mmake -C gcc DESTDIR=${BINDIR} fortran.install-man || die
1730 mmake -C gcc DESTDIR=${BINDIR} fortran.install-info || die
1731 # missing binaries
1732 minstallexec gcc/f951 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die
1733 mlink gfortran /usr/bin/f95 || die
1734
1735 # versionize all bins and symlink them
1736 versionize_all_bins || die
1737 }
1738 fi
1739
1740 if lang_enabled go
1741 then
1742 src_install_libgo-common()
1743 {
1744 install_gcc_library "libgo" || die
1745 }
1746
1747 src_install_libgo()
1748 {
1749 src_install_libgo-common || die
1750 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1751 then
1752 keep_dev_package_libs 'libgo.so.*' || die
1753 fi
1754 }
1755
1756 src_install_libgo-dev()
1757 {
1758 src_install_libgo-common || die
1759 delete_dev_package_libs 'libgo.so.*' || die
1760 }
1761
1762 src_install_gcc-go()
1763 {
1764 cd ${SRCDIR}/build
1765 mmake DESTDIR=${BINDIR} install-target-libgo || die
1766 mmake -C gcc DESTDIR=${BINDIR} go.install-common || die
1767 mmake -C gcc DESTDIR=${BINDIR} go.install-man || die
1768 mmake -C gcc DESTDIR=${BINDIR} go.install-info || die
1769 minstallexec gcc/go1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1770
1771 # remove libraries already included elsewhere
1772 mmake -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1773 mmake -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1774 if [[ $(mlibdir) != lib ]]
1775 then
1776 mmake -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1777 mmake -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1778 fi
1779
1780 # versionize all bins and symlink them
1781 versionize_all_bins || die
1782 }
1783 fi
1784
1785 if lang_enabled objc
1786 then
1787 src_install_libobjc-common()
1788 {
1789 install_gcc_library "libobjc" || die
1790 }
1791
1792 src_install_libobjc()
1793 {
1794 cd ${SRCDIR}/build
1795 mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die
1796 if [[ $(mlibdir) != lib ]]
1797 then
1798 mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die
1799 fi
1800
1801 if [[ ${ENABLE_DEV_PACKAGES} = 1 ]]
1802 then
1803 keep_dev_package_libs 'libobjc.so.*' || die
1804 fi
1805 }
1806
1807 src_install_libobjc-dev()
1808 {
1809 cd ${SRCDIR}/build
1810 mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die
1811 if [[ $(mlibdir) != lib ]]
1812 then
1813 mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die
1814 fi
1815 delete_dev_package_libs 'libobjc.so.*' || die
1816 }
1817
1818 src_install_gcc-objc()
1819 {
1820 cd ${SRCDIR}/build
1821 mmake -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-headers || die
1822 if [[ $(mlibdir) != lib ]]
1823 then
1824 mmake -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-headers || die
1825 fi
1826 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1827 minstallexec gcc/cc1obj /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1828 }
1829
1830 if lang_enabled obj-c++
1831 then
1832 src_install_gcc-objc++()
1833 {
1834 cd ${SRCDIR}/build
1835 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1836 minstallexec gcc/cc1objplus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1837 }
1838 fi
1839 fi