Magellan Linux

Contents of /smage/trunk/core/gcc/gcc-7.2.0-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


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