Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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