Magellan Linux

Contents of /trunk/core/gcc/gcc-4.8.0-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17071 - (show annotations) (download)
Fri May 31 10:31:23 2013 UTC (11 years ago) by niro
File size: 32532 byte(s)
auto added: ver bump to 4.7.3-r1
1 # $Id$
2
3 PNAME="gcc"
4 PVER="4.8.0"
5 PBUILD="r2"
6
7 STATE="disabled"
8
9 PCAT="sys-dev"
10 HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
11
12 # packages which needs rebuild: libtool java-gcj-compat llvm
13
14 # languages to build into gcc
15 # options are: c,c++,java,ada,fortran,go,objc,obj-c++,lto
16 # obj-c++ requires objc
17 #
18 # while toolchain boostrap, only build c,c++ and after that rebuild the whole toolchain:
19 # linux-libc-headers -> binutils -> libc -> gcc -> binutils -> gcc -> libc
20 MyLanguages=c,c++,ada,java,fortran,go,objc,obj-c++,lto
21
22 # 1=bootstrap the whole gcc suite, using bootstrap-lean method
23 # 0=no bootstrap, use this only for quick builds to test something but never for release
24 GCC_BOOTSTRAP="1"
25
26 # 1=bootsrap ada, using precompiled gnat binaries
27 # 0=no bootstrap, build ada with system gnat - requires sys-dev/gcc-gnat
28 ADA_BOOTSTRAP="0"
29
30 SPLIT_PACKAGES="libgcc libssp libgomp libmudflap libquadmath libitm libatomic libstdc++ libasan"
31
32 # thread sanitizer is only available on x86_64
33 if [[ ${ARCH} = x86_64 ]]
34 then
35 SPLIT_PACKAGES+=" libtsan"
36 fi
37
38 # always enable gcc
39 SPLIT_PACKAGES+=" gcc"
40
41 # helper functions
42 lang_enabled()
43 {
44 local lang="$1"
45
46 if [[ ${MyLanguages//${lang}} != ${MyLanguages} ]]
47 then
48 return 0
49 else
50 return 1
51 fi
52 }
53
54 versionize_all_bins()
55 {
56 local bin
57
58 for bin in $(find ${BINDIR}/usr/bin -type f)
59 do
60 echo ${bin}
61 mv ${bin} ${bin}-${PVER} || die
62 ln -snf $(basename ${bin}-${PVER}) ${bin} || die
63 done
64 }
65
66 GLIBC_DEPEND=">= virtual/glibc"
67 ZLIB_DEPEND=">= sys-libs/zlib-1.2.7"
68 COMMON_DEPEND="${GLIBC_DEPEND}
69 ${ZLIB_DEPEND}
70 >= dev-libs/gmp-5.1
71 >= dev-libs/mpfr-3.1
72 >= dev-libs/mpc-1.0.1"
73 LIBGCC_DEPEND="${GLIBC_DEPEND}"
74 LIBSSP_DEPEND="${GLIBC_DEPEND}"
75 LIBGOMP_DEPEND="${GLIBC_DEPEND}"
76 LIBMUDFLAP_DEPEND="${GLIBC_DEPEND}"
77 LIBQUADMATH_DEPEND="${GLIBC_DEPEND}"
78 LIBITM_DEPEND="${GLIBC_DEPEND}"
79 LIBATOMIC_DEPEND="${GLIBC_DEPEND}"
80 LIBASAN_DEPEND="${GLIBC_DEPEND}"
81 LIBTSAN_DEPEND="${GLIBC_DEPEND}"
82 LIBSTDCPP_DEPEND="${GLIBC_DEPEND}"
83
84 GCC_DEPEND="${COMMON_DEPEND}
85 >= sys-dev/binutils-2.23
86 >= dev-libs/ppl-1.0
87 >= dev-libs/cloog-0.18
88 >= dev-libs/elfutils-0.155"
89
90 if lang_enabled java
91 then
92 SPLIT_PACKAGES+=" libgcj gcc-gcj"
93 LIBGCJ_DEPEND="${GLIBC_DEPEND}
94 ${ZLIB_DEPEND}"
95 JAVA_DEPEND="${COMMON_DEPEND}
96 >= dev-java/eclipse-ecj-3.6
97 >= dev-java/fastjar-0.98
98 >= sys-apps/file-5
99 >= app-arch/unzip-6
100 >= app-arch/zip-3
101 >= media-libs/alsa-lib-1.0.26
102 >= x11-libs/libSM-1.2
103 >= x11-libs/libXtst-1.2
104 >= dev-libs/glib2-2.34
105 >= x11-libs/gtk2+-2.24
106 >= media-libs/libart_lgpl-2.3.21"
107
108 # provided java version
109 JAVA_PVER="1.5.0-gcj-1.5.0.0"
110 fi
111
112 if lang_enabled ada
113 then
114 SPLIT_PACKAGES+=" libgnat gcc-gnat"
115 LIBGNAT_DEPEND="${GLIBC_DEPEND}"
116 ADA_DEPEND="${COMMON_DEPEND}"
117 if [[ ${ADA_BOOTSTRAP} = 1 ]]
118 then
119 GNAT_BIN_x86="gnatboot-4.3-i686.tar.bz2"
120 GNAT_BIN_x86_64="gnatboot-4.3-amd64.tar.bz2"
121 GNAT_BIN="$(eval echo \$GNAT_BIN_${ARCH/i*86/x86})"
122 GNAT_BIN_SRCDIR="${BUILDDIR}/gnat"
123 SRC_URI+=( mirror://${PNAME}/${GNAT_BIN_x86} )
124 SRC_URI+=( mirror://${PNAME}/${GNAT_BIN_x86_64} )
125 fi
126 fi
127
128 if lang_enabled fortran
129 then
130 SPLIT_PACKAGES+=" libgfortran gcc-gfortran"
131 LIBGFORTRAN_DEPEND="${GLIBC_DEPEND}"
132 FORTRAN_DEPEND="${COMMON_DEPEND}"
133 fi
134
135 if lang_enabled go
136 then
137 SPLIT_PACKAGES+=" libgo gcc-go"
138 LIBGO_DEPEND="${GLIBC_DEPEND}"
139 GO_DEPEND="${COMMON_DEPEND}"
140 fi
141
142 if lang_enabled objc
143 then
144 SPLIT_PACKAGES+=" libobjc gcc-objc"
145 LIBOBJC_DEPEND="${GLIBC_DEPEND}"
146 OBJC_DEPEND="${COMMON_DEPEND}"
147
148 if lang_enabled obj-c++
149 then
150 SPLIT_PACKAGES+=" gcc-objc++"
151 OBJCPP_DEPEND="${COMMON_DEPEND}"
152 fi
153 fi
154
155 SDEPEND="${LIBGCC_DEPEND}
156 ${LIBSSP_DEPEND}
157 ${LIBGOMP_DEPEND}
158 ${LIBMUDFLAP_DEPEND}
159 ${LIBQUADMATH_DEPEND}
160 ${LIBITM_DEPEND}
161 ${LIBATOMIC_DEPEND}
162 ${LIBASAN_DEPEND}
163 ${LIBTSAN_DEPEND}
164 ${LIBSTDCPP_DEPEND}
165 ${GCC_DEPEND}
166 ${LIBGCJ_DEPEND}
167 ${JAVA_DEPEND}
168 ${LIBGNAT_DEPEND}
169 ${ADA_DEPEND}
170 ${LIBGFORTRAN_DEPEND}
171 ${FORTRAN_DEPEND}
172 ${LIBGO_DEPEND}
173 ${GO_DEPEND}
174 ${LIBOBJC_DEPEND}
175 ${OBJC_DEPEND}
176 ${OBJCPP_DEPEND}
177 >= virtual/kernel-headers"
178
179 if [[ ${ADA_BOOTSTRAP} != 1 ]]
180 then
181 # add gnat to SDEPEND
182 SDEPEND="${SDEPEND}
183 >= sys-dev/gcc-gnat-4.8"
184 fi
185
186 SRCFILE="${PNAME}-${PVER}.tar.bz2"
187 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
188
189 # you better off when not using distcc to compile
190 # your new compiler :) maybe not all are the same
191 msetfeature "!distcc"
192
193 sminclude mtools cleanutils libtool
194
195 SRC_URI=(
196 ${SRC_URI[*]}
197 gnu://${PNAME}/${PNAME}-${PVER}/${SRCFILE}
198 mirror://${PNAME}/${SRCFILE}
199 mirror://${PNAME}/${PNAME}-4.5.1-no-fixincludes.patch
200 mirror://${PNAME}/${PNAME}-4.7.1-libada-pic.patch
201 )
202
203 UP2DATE="updatecmd 'http://ftp.gnu.org/gnu/${PNAME}/?C=M;O=A' | grep '\[DIR\]' | sed -n 's:.*${PNAME}-\(.*\)/.*:\1:;$ p'"
204
205 # gcc don't like strong CFLAGS
206 export CFLAGS="${CFLAGS//-O?} -O2"
207 export CXXFLAGS="${CFLAGS}"
208
209 # check for crosscompile or export default CHOST
210 if [[ -z ${CTARGET} ]]
211 then
212 # no crosscompile defined
213 export CTARGET=${CHOST}
214 else
215 # use crosscompile host
216 export CTARGET=${CTARGET}
217 fi
218
219 split_info_gcc()
220 {
221 DESCRIPTION="Modern C/C++ compiler written by the GNU people."
222
223 local mydeps
224 if [[ ${ARCH} = x86_64 ]]
225 then
226 mydeps="== sys-libs/libtsan-${PVER}"
227 fi
228
229 DEPEND="== sys-libs/libgcc-${PVER}
230 == sys-libs/libssp-${PVER}
231 == sys-libs/libgomp-${PVER}
232 == sys-libs/libmudflap-${PVER}
233 == sys-libs/libquadmath-${PVER}
234 == sys-libs/libitm-${PVER}
235 == sys-libs/libatomic-${PVER}
236 == sys-libs/libstdc++-${PVER}
237 == sys-libs/libasan-${PVER}
238 ${mydeps}
239 ${GCC_DEPEND}"
240 }
241
242 split_info_libgcc()
243 {
244 DESCRIPTION="GCC shared support library."
245 DEPEND="${LIBGCC_DEPEND}"
246 PCAT="sys-libs"
247 }
248
249 split_info_libssp()
250 {
251 DESCRIPTION="Stack Smashing Protection library from GCC."
252 DEPEND="${LIBSSP_DEPEND}"
253 PCAT="sys-libs"
254 }
255
256 split_info_libgomp()
257 {
258 DESCRIPTION="GNU OpenMP runtime library."
259 DEPEND="${LIBGOMP_DEPEND}"
260 PCAT="sys-libs"
261 }
262
263 split_info_libmudflap()
264 {
265 DESCRIPTION="GCC mudflap shared support library."
266 DEPEND="${LIBMUDFLAP_DEPEND}"
267 PCAT="sys-libs"
268 }
269
270 split_info_libquadmath()
271 {
272 DESCRIPTION="GCC __float128 shared support library."
273 DEPEND="${LIBQUADMATH_DEPEND}"
274 PCAT="sys-libs"
275 }
276
277 split_info_libitm()
278 {
279 DESCRIPTION="The GNU Transactional Memory library."
280 DEPEND="${LIBITM_DEPEND}"
281 PCAT="sys-libs"
282 }
283
284 split_info_libatomic()
285 {
286 DESCRIPTION="The GNU Atomic library."
287 DEPEND="${LIBATOMIC_DEPEND}"
288 PCAT="sys-libs"
289 }
290
291 split_info_libasan()
292 {
293 DESCRIPTION="The Address Sanitizer runtime library."
294 DEPEND="== sys-libs/libgcc-${PVER}
295 == sys-libs/libstdc++-${PVER}
296 ${LIBASAN_DEPEND}"
297 PCAT="sys-libs"
298 }
299
300 split_info_libtsan()
301 {
302 DESCRIPTION="The Thread Sanitizer runtime library."
303 DEPEND="== sys-libs/libgcc-${PVER}
304 == sys-libs/libstdc++-${PVER}
305 ${LIBTSAN_DEPEND}"
306 PCAT="sys-libs"
307 }
308
309 split_info_libstdc++()
310 {
311 DESCRIPTION="Standard GNU C and C++ libraries."
312 DEPEND="== sys-libs/libgcc-${PVER}
313 ${LIBSTDCPP_DEPEND}"
314 PCAT="sys-libs"
315 }
316
317 if lang_enabled java
318 then
319 split_info_libgcj()
320 {
321 DESCRIPTION="Java runtime library for GCC."
322 DEPEND="== sys-libs/libgcc-${PVER}
323 ${LIBGCJ_DEPEND}"
324 PCAT="sys-libs"
325 }
326
327 split_info_gcc-gcj()
328 {
329 DESCRIPTION="Java support for GCC."
330 DEPEND="== sys-libs/libgcc-${PVER}
331 == sys-libs/libstdc++-${PVER}
332 == sys-libs/libgcj-${PVER}
333 == sys-dev/gcc-${PVER}
334 ${JAVA_DEPEND}"
335 }
336 fi
337
338 if lang_enabled ada
339 then
340 split_info_libgnat()
341 {
342 DESCRIPTION="Gnu Ada 95 library which is needed to run Ada programs."
343 DEPEND="== sys-libs/libgcc-${PVER}
344 ${LIBGNAT_DEPEND}"
345 PCAT="sys-libs"
346 }
347
348 split_info_gcc-gnat()
349 {
350 DESCRIPTION="Ada 95 support for GCC."
351 DEPEND="== sys-libs/libgcc-${PVER}
352 == sys-libs/libstdc++-${PVER}
353 == sys-libs/libgnat-${PVER}
354 == sys-dev/gcc-${PVER}
355 ${ADA_DEPEND}"
356 }
357 fi
358
359 if lang_enabled fortran
360 then
361 split_info_libgfortran()
362 {
363 DESCRIPTION="Gnu Fortran library which is needed to run Fortran programs."
364 DEPEND="== sys-libs/libquadmath-${PVER}
365 ${LIBGFORTRAN_DEPEND}"
366 PCAT="sys-libs"
367 }
368
369 split_info_gcc-gfortran()
370 {
371 DESCRIPTION="Fortran support for GCC."
372 DEPEND="== sys-libs/libgcc-${PVER}
373 == sys-libs/libstdc++-${PVER}
374 == sys-libs/libgfortran-${PVER}
375 == sys-dev/gcc-${PVER}
376 ${FORTRAN_DEPEND}"
377 }
378 fi
379
380 if lang_enabled go
381 then
382 split_info_libgo()
383 {
384 DESCRIPTION="Go library which is needed to run Go programs."
385 DEPEND="== sys-libs/libgcc-${PVER}
386 ${LIBGO_DEPEND}"
387 PCAT="sys-libs"
388 }
389
390 split_info_gcc-go()
391 {
392 DESCRIPTION="Go support for GCC."
393 DEPEND="== sys-libs/libgcc-${PVER}
394 == sys-libs/libstdc++-${PVER}
395 == sys-libs/libgo-${PVER}
396 == sys-dev/gcc-${PVER}
397 ${GO_DEPEND}"
398 }
399 fi
400
401 if lang_enabled objc
402 then
403 split_info_libobjc()
404 {
405 DESCRIPTION="Objective-C library which is needed to run Objective-C programs."
406 DEPEND="== sys-libs/libgcc-${PVER}
407 ${LIBOBJC_DEPEND}"
408 PCAT="sys-libs"
409 }
410
411 split_info_gcc-objc()
412 {
413 DESCRIPTION="Objective-C support for GCC."
414 DEPEND="== sys-libs/libgcc-${PVER}
415 == sys-libs/libstdc++-${PVER}
416 == sys-libs/libobjc-${PVER}
417 == sys-dev/gcc-${PVER}
418 ${OBJC_DEPEND}"
419 }
420
421 if lang_enabled obj-c++
422 then
423 split_info_gcc-objc++()
424 {
425 DESCRIPTION="Objective-C++ support for GCC."
426 DEPEND="== sys-libs/libgcc-${PVER}
427 == sys-libs/libstdc++-${PVER}
428 == sys-libs/libobjc-${PVER}
429 == sys-dev/gcc-${PVER}
430 == sys-dev/gcc-objc-${PVER}
431 ${OBJCPP_DEPEND}"
432 }
433 fi
434 fi
435
436 src_prepare()
437 {
438 munpack ${SRCFILE} || die
439
440 if lang_enabled ada
441 then
442 if [[ ${ADA_BOOTSTRAP} = 1 ]]
443 then
444 # setup binary ada if boostrap is enabled
445 install -d ${GNAT_BIN_SRCDIR} || die
446 munpack ${GNAT_BIN} ${GNAT_BIN_SRCDIR} || die
447 # gnat wrapper has problems with quotation
448 sed -i \
449 -e "/-DREVISION/d" \
450 -e "/-DDEVPHASE/d" \
451 -e "s: -DDATESTAMP=\$(DATESTAMP_s)::" \
452 ${SRCDIR}/gcc/Makefile.in || die
453 sed -i \
454 -e "s: DATESTAMP DEVPHASE REVISION::" \
455 -e "s:PKGVERSION:\"\":" \
456 ${SRCDIR}/gcc/version.c || die
457 fi
458 cd ${SRCDIR}
459 fi
460
461 cd ${SRCDIR}
462
463 # generic fixes
464 mpatch ${PNAME}-4.5.1-no-fixincludes.patch || die
465
466 # fix pic issues
467 mpatch ${PNAME}-4.7.1-libada-pic.patch || die
468
469 # suppress installation of libffi, we're using libffi3 instead
470 sed -i 's/\(install.*:\) install-.*recursive/\1/' libffi/Makefile.in || die
471 sed -i 's/\(install-data-am:\).*/\1/' libffi/include/Makefile.in || die
472
473 install -d ${SRCDIR}/build || die
474 }
475
476 src_compile()
477 {
478 if lang_enabled ada
479 then
480 if [[ ${ADA_BOOTSTRAP} = 1 ]]
481 then
482 # export binary gnat pathes
483 export PATH="${GNAT_BIN_SRCDIR}/usr/bin:${PATH}"
484 export CC="${GNAT_BIN_SRCDIR}/usr/bin/gnatgcc"
485 # CPATH is supposed to be applied for any language, thus
486 # superseding either of C/CPLUS/OBJC_INCLUDE_PATHs
487 export CPATH="${GNAT_BIN_SRCDIR}/usr/lib/include"
488 export LIB_DIR="${GNAT_BIN_SRCDIR}/usr/lib"
489 export LDFLAGS="-L${GNAT_BIN_SRCDIR}/usr/lib"
490 export LIBRARY_PATH="${GNAT_BIN_SRCDIR}/usr/lib"
491 export ADA_OBJECTS_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adalib"
492 export ADA_INCLUDE_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adainclude"
493
494 # prepare some tools
495 cd ${GNAT_BIN_SRCDIR}
496 cp -v ${SRCDIR}/gcc/ada/xtreeprs.adb ${GNAT_BIN_SRCDIR} || die
497 cp -v ${SRCDIR}/gcc/ada/csinfo.adb ${GNAT_BIN_SRCDIR} || die
498 cp -v ${SRCDIR}/gcc/ada/ceinfo.adb ${GNAT_BIN_SRCDIR} || die
499 cp -v ${SRCDIR}/gcc/ada/xsinfo.adb ${GNAT_BIN_SRCDIR} || die
500 cp -v ${SRCDIR}/gcc/ada/xeinfo.adb ${GNAT_BIN_SRCDIR} || die
501 cp -v ${SRCDIR}/gcc/ada/xnmake.adb ${GNAT_BIN_SRCDIR} || die
502 cp -v ${SRCDIR}/gcc/ada/xutil.ad{s,b} ${GNAT_BIN_SRCDIR} || die
503 gnatmake xtreeprs || die
504 gnatmake xsinfo || die
505 gnatmake xeinfo || die
506 gnatmake xnmake || die
507 fi
508 fi
509
510 cd ${SRCDIR}/build
511 local myconf
512
513 # Straight from the GCC install doc:
514 # "GCC has code to correctly determine the correct value for target
515 # for nearly all native systems. Therefore, we highly recommend you
516 # not provide a configure target when configuring a native compiler."
517 if [[ ${CHOST} != ${CTARGET} ]]
518 then
519 myconf+=" --target=${CTARGET}"
520 fi
521
522 if lang_enabled java
523 then
524 myconf+=" --enable-java-awt=gtk
525 --enable-gtk-cairo
526 --enable-libgcj-multifile
527 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
528 --with-fastjar=/usr/bin/fastjar
529 --enable-hash-synchronization"
530 # disable mutilib for java
531 myconf+=" --disable-libjava-multilib"
532 # java home, must be the same of java-gcj-compat
533 myconf+=" --with-java-home=/usr/$(mlibdir)/jvm/java-${JAVA_PVER}/jre"
534 fi
535
536 # # support ppl >= 1.0
537 # myconf+=" --disable-ppl-version-check"
538 # # and ignore version check for cloog too
539 # myconf+=" --disable-cloog-version-check"
540 # # use isl backend
541 # myconf+=" --enable-cloog-backend=isl"
542
543 # suppress installation of libiberty, as we will be
544 # using the one from binutils
545 myconf+=" --disable-install-libiberty"
546
547 # gcc >= 4.3 has now configure flags for uri and version - yeah!
548 AR=ar \
549 ../configure \
550 --with-bugurl="http://bugs.magellan-linux.de/" \
551 --with-pkgversion="Magellan-Linux" \
552 --build=${CHOST} \
553 --host=${CHOST} \
554 --prefix=/usr \
555 --sbindir=/usr/bin \
556 --mandir=/usr/share/man \
557 --infodir=/usr/share/info \
558 --libdir=/usr/$(mlibdir) \
559 --libexecdir=/usr/$(mlibdir) \
560 --enable-shared \
561 --enable-threads=posix \
562 --enable-__cxa_atexit \
563 --enable-clocale=gnu \
564 --disable-checking \
565 --with-system-zlib \
566 --enable-long-long \
567 --enable-cstdio=stdio \
568 --enable-languages=${MyLanguages} \
569 --disable-libstdcxx-pch \
570 --enable-gnu-unique-object \
571 --enable-lto \
572 --enable-plugin \
573 --enable-gold \
574 --enable-linker-build-id \
575 --disable-install-libiberty \
576 ${myconf} \
577 || die
578
579 # parallel builds seems to break sometimes on x86_64
580 local myopts
581 [[ ${ARCH} = x86_64 ]] && myopts=-j1
582
583 # enable bootstrap if requested
584 local target
585 [[ ${GCC_BOOTSTRAP} = 1 ]] && target="bootstrap-lean"
586
587 mmake ${myopts} ${target} || die
588 }
589
590 src_install_gcc()
591 {
592 local i
593 local bin
594
595 cd ${SRCDIR}/build
596 minstalldir /$(mlibdir) || die
597
598 # install all targets
599 make DESTDIR=${BINDIR} install || die
600
601 # move gdb scripts to a proper location and to pretty-print ldconfig
602 minstalldir /usr/share/gdb/auto-load/usr/$(mlibdir) || die
603 mv -v ${BINDIR}/usr/$(mlibdir)/libstdc++*gdb.py* ${BINDIR}/usr/share/gdb/auto-load/usr/$(mlibdir)/ || die
604 # multilib as well
605 if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]]
606 then
607 minstalldir /usr/share/gdb/auto-load/usr/lib || die
608 mv -v ${BINDIR}/usr/lib/libstdc++*gdb.py* ${BINDIR}/usr/share/gdb/auto-load/usr/lib/ || die
609 fi
610
611 # deletes libstdc++ && libgcc_s && libssp && libgomp libmudflap && libquadmath && libitm && libatomic && libasan
612 rm -v ${BINDIR}/usr/$(mlibdir)/libgcc_s.so* || die
613 mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
614 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
615 mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
616 mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
617 mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
618 mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
619 mmake -j1 -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
620 if [[ ${ARCH} = x86_64 ]]
621 then
622 mmake -j1 -C ${CHOST}/libsanitizer/tsan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
623 fi
624 mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
625 if [[ $(mlibdir) != lib ]]
626 then
627 rm -v ${BINDIR}/usr/lib/libgcc_s.so* || die
628 mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
629 mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
630 mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
631 mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
632 mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
633 mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
634 mmake -j1 -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
635 # only 64bit exist
636 # mmake -j1 -C ${CHOST}/32//libsanitizer/tsan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
637 mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
638 fi
639 mdelete /usr/share/info/libgomp.info || die
640 mdelete /usr/share/info/libitm.info || die
641 mdelete /usr/share/info/libquadmath.info || die
642 find ${BINDIR}/usr/share/locale -name libstdc++.mo | xargs --no-run-if-empty --verbose rm -v || die
643
644 # deletes all java specific
645 if lang_enabled java
646 then
647 mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
648 if [[ $(mlibdir) != lib ]]
649 then
650 mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
651 fi
652 rm -v ${BINDIR}/usr/$(mlibdir)/libgcj_bc.so* || die
653 rm -rv ${BINDIR}/usr/include/c++/${PVER}/{gcj,gnu,java{,x},org,sun} || die
654 rm -rv ${BINDIR}/usr/$(mlibdir)/gcj* || die
655 mdelete /usr/$(mlibdir)/logging.properties || die
656 mdelete /usr/$(mlibdir)/libgcj.spec || die
657 rm -v ${BINDIR}/usr/$(mlibdir)/pkgconfig/libgcj*.pc || die
658 mdelete -r /usr/$(mlibdir)/security || die
659 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ecj1 || die
660 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jc1 || die
661 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jvgenmain || die
662 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/gcj || die
663 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/{{jawt,jni}{,_md},jvmpi}.h || die
664 if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]]
665 then
666 rm -v ${BINDIR}/usr/lib/libgcj_bc.so* || die
667 rm -rv ${BINDIR}/usr/lib/gcj* || die
668 mdelete /usr/lib/logging.properties || die
669 mdelete -r /usr/lib/security || die
670 fi
671 mdelete /usr/share/info/cp-tools.info || die
672 mdelete /usr/share/info/gcj.info || die
673 mdelete -r /usr/share/java || die
674 mdelete -r /usr/share/gcc-${PVER}/python/libjava || die
675 for i in aot-compile gappletviewer gc-analyze gcj gcj-dbtool gcjh gij gjar \
676 gjarsigner gjavah gjdoc gkeytool gnative2ascii gorbd grmic grmid grmiregistry \
677 gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db ${CHOST}-gcj
678 do
679 if [ -f ${BINDIR}/usr/bin/${i} ]
680 then
681 mdelete /usr/bin/${i} || die
682 fi
683 if [ -f ${BINDIR}/usr/share/man/man1/${i}.1 ]
684 then
685 mdelete /usr/share/man/man1/${i}.1 || die
686 fi
687 done
688 fi
689
690 # deletes all ada specific
691 if lang_enabled ada
692 then
693 rm -v ${BINDIR}/usr/bin/gnat* || die
694 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/gnat1 || die
695 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib || die
696 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die
697 if [[ $(mlibdir) != lib ]]
698 then
699 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib || die
700 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die
701 fi
702 rm -v ${BINDIR}/usr/share/info/gnat*.info || die
703 fi
704
705 # deletes all fortran specific
706 if lang_enabled fortran
707 then
708 mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} uninstall || die
709 if [[ $(mlibdir) != lib ]]
710 then
711 mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} uninstall || die
712 fi
713 mdelete /usr/bin/gfortran || die
714 mdelete /usr/bin/${CHOST}-gfortran || die
715 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die
716 mdelete /usr/share/info/gfortran.info || die
717 mdelete /usr/share/man/man1/gfortran.1 || die
718 fi
719
720 # deletes all go specific
721 if lang_enabled go
722 then
723 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
724 if [[ $(mlibdir) != lib ]]
725 then
726 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
727 fi
728 mdelete /usr/bin/gccgo || die
729 mdelete /usr/bin/${CHOST}-gccgo || die
730 mdelete -r /usr/$(mlibdir)/go || die
731 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/go1 || die
732 mdelete /usr/$(mlibdir)/libgobegin.a || die
733 if [[ $(mlibdir) != lib ]]
734 then
735 mdelete -r /usr/lib/go || die
736 mdelete /usr/lib/libgobegin.a || die
737 fi
738 mdelete /usr/share/info/gccgo.info || die
739 mdelete /usr/share/man/man1/gccgo.1 || die
740 fi
741
742 # deletes all objc + obj-c++
743 if lang_enabled objc
744 then
745 rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.so* || die
746 rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.{a,la} || die
747 if [[ $(mlibdir) != lib ]]
748 then
749 rm -v ${BINDIR}/usr/lib/libobjc.so* || die
750 rm -v ${BINDIR}/usr/lib/libobjc.{a,la} || die
751 fi
752 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1obj || die
753 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/objc || die
754
755 if lang_enabled obj-c++
756 then
757 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1objplus || die
758 fi
759 fi
760
761 # versionize all bins and symlink them
762 versionize_all_bins || die
763
764 mlink ../usr/bin/cpp-${PVER} /usr/$(mlibdir)/cpp || die
765 # this one is needed on multilib systems.
766 # rpcgen may not find the cpp compiler correctly if not in /lib/cpp
767 if [[ $(mlibdir) != lib ]]
768 then
769 minstalldir /usr/lib || die
770 mlink ../usr/bin/cpp-${PVER} /usr/lib/cpp || die
771 fi
772 mlink gcc-${PVER} /usr/bin/cc || die
773
774 # fix all .la files
775 # they may contain invalid libpathes which are not needed
776 local la
777 for la in $(find ${BINDIR} -name \*.la)
778 do
779 fix_la_file ${la} || die ${la}
780 done
781
782 # remove /lib dirs to be usr-move compat
783 if [[ -d ${BINDIR}/$(mlibdir) ]]
784 then
785 rm -rv ${BINDIR}/$(mlibdir) || die
786 fi
787 if [[ $(mlibdir) != lib ]]
788 then
789 if [[ -d ${BINDIR}/lib ]]
790 then
791 rm -rv ${BINDIR}/lib || die
792 fi
793 fi
794 }
795
796 src_install_libgcc()
797 {
798 cd ${SRCDIR}/build
799 mmake -j1 -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die
800 if [[ $(mlibdir) != lib ]]
801 then
802 mmake -j1 -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die
803 fi
804 mdelete -r /usr/$(mlibdir)/gcc || die
805 }
806
807 src_install_libssp()
808 {
809 cd ${SRCDIR}/build
810 mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
811 if [[ $(mlibdir) != lib ]]
812 then
813 mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
814 fi
815 }
816
817 src_install_libgomp()
818 {
819 cd ${SRCDIR}/build
820 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
821 if [[ $(mlibdir) != lib ]]
822 then
823 mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
824 fi
825 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
826 }
827
828 src_install_libmudflap()
829 {
830 cd ${SRCDIR}/build
831 mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
832 if [[ $(mlibdir) != lib ]]
833 then
834 mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
835 fi
836 }
837
838 src_install_libquadmath()
839 {
840 cd ${SRCDIR}/build
841 mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
842 if [[ $(mlibdir) != lib ]]
843 then
844 mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
845 fi
846 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
847 }
848
849 src_install_libitm()
850 {
851 cd ${SRCDIR}/build
852 mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
853 if [[ $(mlibdir) != lib ]]
854 then
855 mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
856 fi
857 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
858 }
859
860 src_install_libatomic()
861 {
862 cd ${SRCDIR}/build
863 mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
864 if [[ $(mlibdir) != lib ]]
865 then
866 mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
867 fi
868 }
869
870 src_install_libasan()
871 {
872 cd ${SRCDIR}/build
873 mmake -j1 -C ${CHOST}//libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
874 if [[ $(mlibdir) != lib ]]
875 then
876 mmake -j1 -C ${CHOST}/32//libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
877 fi
878 }
879
880 src_install_libtsan()
881 {
882 cd ${SRCDIR}/build
883 mmake -j1 -C ${CHOST}//libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
884 # only 64bit exist
885 # if [[ $(mlibdir) != lib ]]
886 # then
887 # mmake -j1 -C ${CHOST}/32//libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
888 # fi
889 }
890
891 src_install_libstdc++()
892 {
893 cd ${SRCDIR}/build
894 mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
895 if [[ $(mlibdir) != lib ]]
896 then
897 mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
898 fi
899 mmake -j1 -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die
900 }
901
902 if lang_enabled java
903 then
904 src_install_libgcj()
905 {
906 cd ${SRCDIR}/build
907 mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
908 if [[ $(mlibdir) != lib ]]
909 then
910 mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
911 fi
912 }
913
914 src_install_gcc-gcj()
915 {
916 cd ${SRCDIR}/build
917
918 # install only java targets
919 make DESTDIR=${BINDIR} install-target-libjava || die
920 make -C gcc DESTDIR=${BINDIR} java.install-common || die
921 make -C gcc DESTDIR=${BINDIR} java.install-man || die
922
923 # missing bins
924 minstallexec gcc/jc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
925 minstallexec gcc/jvgenmain /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
926
927 # remove libraries already included elsewhere
928 mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
929 rm -v ${BINDIR}/usr/$(mlibdir)/libgcc_s.so* || die
930 rm -v ${BINDIR}/usr/$(mlibdir)/libgcj_bc.so* || die
931 if [[ $(mlibdir) != lib ]]
932 then
933 mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
934 rm -v ${BINDIR}/usr/lib/libgcc_s.so.* || die
935 rm -v ${BINDIR}/usr/lib/libgcj_bc.so.* || die
936 fi
937
938 # versionize all bins and symlink them
939 versionize_all_bins || die
940 }
941 fi
942
943 if lang_enabled ada
944 then
945 src_install_libgnat()
946 {
947 cd ${SRCDIR}/build
948 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
949 if [[ $(mlibdir) != lib ]]
950 then
951 # install 32bit libgnat
952 # make tries to execute the libs, which fails
953 # we override the INSTALL commands to *not* do that
954 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
955 fi
956 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die
957
958 # move so-libs to the right location
959 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so /usr/$(mlibdir) || die
960 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so /usr/$(mlibdir) || die
961 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/lib{gnarl,gnat}.so || die
962 mlink libgnarl-${PVER%.*}.so /usr/$(mlibdir)/libgnarl.so || die
963 mlink libgnat-${PVER%.*}.so /usr/$(mlibdir)/libgnat.so || die
964 mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so || die
965 mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so || die
966 mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die
967 mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die
968
969 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die
970
971 if [[ $(mlibdir) != lib ]]
972 then
973 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die
974
975 # move so-libs to the right location
976 minstalldir /usr/lib || die
977 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so /usr/lib || die
978 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so /usr/lib || die
979 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/lib{gnarl,gnat}.so || die
980 mlink libgnarl-${PVER%.*}.so /usr/lib/libgnarl.so || die
981 mlink libgnat-${PVER%.*}.so /usr/lib/libgnat.so || die
982 mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so || die
983 mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so || die
984 mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die
985 mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die
986
987 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die
988 fi
989
990 # remove other
991 mdelete -r /usr/bin || die
992 }
993
994 src_install_gcc-gnat()
995 {
996 cd ${SRCDIR}/build
997 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
998 if [[ $(mlibdir) != lib ]]
999 then
1000 # install 32bit libgnat
1001 # make tries to execute the libs, which fails
1002 # we override the INSTALL commands to *not* do that
1003 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
1004 fi
1005 mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die
1006 minstallexec gcc/gnat1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER} || die
1007
1008 # remove libraries already included elsewhere
1009 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl*.* || die
1010 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat*.* || die
1011 if [[ $(mlibdir) != lib ]]
1012 then
1013 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl*.* || die
1014 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat*.* || die
1015 fi
1016
1017 # versionize all bins and symlink them
1018 versionize_all_bins || die
1019 }
1020 fi
1021
1022 if lang_enabled fortran
1023 then
1024 src_install_libgfortran()
1025 {
1026 cd ${SRCDIR}/build
1027 mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install || die
1028 if [[ $(mlibdir) != lib ]]
1029 then
1030 mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install || die
1031 fi
1032 }
1033
1034 src_install_gcc-gfortran()
1035 {
1036 cd ${SRCDIR}/build
1037
1038 # omp headers needed by fortran
1039 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die
1040 mmake -C gcc DESTDIR=${BINDIR} fortran.install-common || die
1041 mmake -C gcc DESTDIR=${BINDIR} fortran.install-man || die
1042 mmake -C gcc DESTDIR=${BINDIR} fortran.install-info || die
1043 # missing binaries
1044 minstallexec gcc/f951 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die
1045 mlink gfortran /usr/bin/f95 || die
1046
1047 # remove libraries already included elsewhere
1048 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} uninstall-nodist_fincludeHEADERS || die
1049
1050 # versionize all bins and symlink them
1051 versionize_all_bins || die
1052 }
1053 fi
1054
1055 if lang_enabled go
1056 then
1057 src_install_libgo()
1058 {
1059 cd ${SRCDIR}/build
1060 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
1061 if [[ $(mlibdir) != lib ]]
1062 then
1063 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
1064 fi
1065 }
1066
1067 src_install_gcc-go()
1068 {
1069 cd ${SRCDIR}/build
1070 mmake DESTDIR=${BINDIR} install-target-libgo || die
1071 mmake -C gcc DESTDIR=${BINDIR} go.install-common || die
1072 mmake -C gcc DESTDIR=${BINDIR} go.install-man || die
1073 mmake -C gcc DESTDIR=${BINDIR} go.install-info || die
1074 minstallexec gcc/go1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1075
1076 # remove libraries already included elsewhere
1077 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1078 mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1079 if [[ $(mlibdir) != lib ]]
1080 then
1081 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1082 mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1083 fi
1084
1085 # versionize all bins and symlink them
1086 versionize_all_bins || die
1087 }
1088 fi
1089
1090 if lang_enabled objc
1091 then
1092 src_install_libobjc()
1093 {
1094 cd ${SRCDIR}/build
1095 mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die
1096 if [[ $(mlibdir) != lib ]]
1097 then
1098 mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die
1099 fi
1100 }
1101
1102 src_install_gcc-objc()
1103 {
1104 cd ${SRCDIR}/build
1105 mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-headers || die
1106 if [[ $(mlibdir) != lib ]]
1107 then
1108 mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-headers || die
1109 fi
1110 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1111 minstallexec gcc/cc1obj /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1112 }
1113
1114 if lang_enabled obj-c++
1115 then
1116 src_install_gcc-objc++()
1117 {
1118 cd ${SRCDIR}/build
1119 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1120 minstallexec gcc/cc1objplus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1121 }
1122 fi
1123 fi