Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17068 - (show annotations) (download)
Fri May 31 06:53:36 2013 UTC (11 years ago) by niro
File size: 32487 byte(s)
-disable package
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 rm -v ${BINDIR}/usr/$(mlibdir)/pkgconfig/libgcj*.pc || die
657 mdelete -r /usr/$(mlibdir)/security || die
658 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ecj1 || die
659 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jc1 || die
660 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jvgenmain || die
661 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/gcj || die
662 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/{{jawt,jni}{,_md},jvmpi}.h || die
663 if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]]
664 then
665 rm -v ${BINDIR}/usr/lib/libgcj_bc.so* || die
666 rm -rv ${BINDIR}/usr/lib/gcj* || die
667 mdelete /usr/lib/logging.properties || die
668 mdelete -r /usr/lib/security || die
669 fi
670 mdelete /usr/share/info/cp-tools.info || die
671 mdelete /usr/share/info/gcj.info || die
672 mdelete -r /usr/share/java || die
673 mdelete -r /usr/share/gcc-${PVER}/python/libjava || die
674 for i in aot-compile gappletviewer gc-analyze gcj gcj-dbtool gcjh gij gjar \
675 gjarsigner gjavah gjdoc gkeytool gnative2ascii gorbd grmic grmid grmiregistry \
676 gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db ${CHOST}-gcj
677 do
678 if [ -f ${BINDIR}/usr/bin/${i} ]
679 then
680 mdelete /usr/bin/${i} || die
681 fi
682 if [ -f ${BINDIR}/usr/share/man/man1/${i}.1 ]
683 then
684 mdelete /usr/share/man/man1/${i}.1 || die
685 fi
686 done
687 fi
688
689 # deletes all ada specific
690 if lang_enabled ada
691 then
692 rm -v ${BINDIR}/usr/bin/gnat* || die
693 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/gnat1 || die
694 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib || die
695 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die
696 if [[ $(mlibdir) != lib ]]
697 then
698 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib || die
699 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die
700 fi
701 rm -v ${BINDIR}/usr/share/info/gnat*.info || die
702 fi
703
704 # deletes all fortran specific
705 if lang_enabled fortran
706 then
707 mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} uninstall || die
708 if [[ $(mlibdir) != lib ]]
709 then
710 mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} uninstall || die
711 fi
712 mdelete /usr/bin/gfortran || die
713 mdelete /usr/bin/${CHOST}-gfortran || die
714 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die
715 mdelete /usr/share/info/gfortran.info || die
716 mdelete /usr/share/man/man1/gfortran.1 || die
717 fi
718
719 # deletes all go specific
720 if lang_enabled go
721 then
722 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
723 if [[ $(mlibdir) != lib ]]
724 then
725 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
726 fi
727 mdelete /usr/bin/gccgo || die
728 mdelete /usr/bin/${CHOST}-gccgo || die
729 mdelete -r /usr/$(mlibdir)/go || die
730 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/go1 || die
731 mdelete /usr/$(mlibdir)/libgobegin.a || die
732 if [[ $(mlibdir) != lib ]]
733 then
734 mdelete -r /usr/lib/go || die
735 mdelete /usr/lib/libgobegin.a || die
736 fi
737 mdelete /usr/share/info/gccgo.info || die
738 mdelete /usr/share/man/man1/gccgo.1 || die
739 fi
740
741 # deletes all objc + obj-c++
742 if lang_enabled objc
743 then
744 rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.so* || die
745 rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.{a,la} || die
746 if [[ $(mlibdir) != lib ]]
747 then
748 rm -v ${BINDIR}/usr/lib/libobjc.so* || die
749 rm -v ${BINDIR}/usr/lib/libobjc.{a,la} || die
750 fi
751 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1obj || die
752 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/objc || die
753
754 if lang_enabled obj-c++
755 then
756 mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1objplus || die
757 fi
758 fi
759
760 # versionize all bins and symlink them
761 versionize_all_bins || die
762
763 mlink ../usr/bin/cpp-${PVER} /usr/$(mlibdir)/cpp || die
764 # this one is needed on multilib systems.
765 # rpcgen may not find the cpp compiler correctly if not in /lib/cpp
766 if [[ $(mlibdir) != lib ]]
767 then
768 minstalldir /usr/lib || die
769 mlink ../usr/bin/cpp-${PVER} /usr/lib/cpp || die
770 fi
771 mlink gcc-${PVER} /usr/bin/cc || die
772
773 # fix all .la files
774 # they may contain invalid libpathes which are not needed
775 local la
776 for la in $(find ${BINDIR} -name \*.la)
777 do
778 fix_la_file ${la} || die ${la}
779 done
780
781 # remove /lib dirs to be usr-move compat
782 if [[ -d ${BINDIR}/$(mlibdir) ]]
783 then
784 rm -rv ${BINDIR}/$(mlibdir) || die
785 fi
786 if [[ $(mlibdir) != lib ]]
787 then
788 if [[ -d ${BINDIR}/lib ]]
789 then
790 rm -rv ${BINDIR}/lib || die
791 fi
792 fi
793 }
794
795 src_install_libgcc()
796 {
797 cd ${SRCDIR}/build
798 mmake -j1 -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die
799 if [[ $(mlibdir) != lib ]]
800 then
801 mmake -j1 -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die
802 fi
803 mdelete -r /usr/$(mlibdir)/gcc || die
804 }
805
806 src_install_libssp()
807 {
808 cd ${SRCDIR}/build
809 mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
810 if [[ $(mlibdir) != lib ]]
811 then
812 mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
813 fi
814 }
815
816 src_install_libgomp()
817 {
818 cd ${SRCDIR}/build
819 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
820 if [[ $(mlibdir) != lib ]]
821 then
822 mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
823 fi
824 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
825 }
826
827 src_install_libmudflap()
828 {
829 cd ${SRCDIR}/build
830 mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
831 if [[ $(mlibdir) != lib ]]
832 then
833 mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
834 fi
835 }
836
837 src_install_libquadmath()
838 {
839 cd ${SRCDIR}/build
840 mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
841 if [[ $(mlibdir) != lib ]]
842 then
843 mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
844 fi
845 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
846 }
847
848 src_install_libitm()
849 {
850 cd ${SRCDIR}/build
851 mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
852 if [[ $(mlibdir) != lib ]]
853 then
854 mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
855 fi
856 mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die
857 }
858
859 src_install_libatomic()
860 {
861 cd ${SRCDIR}/build
862 mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
863 if [[ $(mlibdir) != lib ]]
864 then
865 mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
866 fi
867 }
868
869 src_install_libasan()
870 {
871 cd ${SRCDIR}/build
872 mmake -j1 -C ${CHOST}//libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
873 if [[ $(mlibdir) != lib ]]
874 then
875 mmake -j1 -C ${CHOST}/32//libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
876 fi
877 }
878
879 src_install_libtsan()
880 {
881 cd ${SRCDIR}/build
882 mmake -j1 -C ${CHOST}//libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
883 # only 64bit exist
884 # if [[ $(mlibdir) != lib ]]
885 # then
886 # mmake -j1 -C ${CHOST}/32//libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
887 # fi
888 }
889
890 src_install_libstdc++()
891 {
892 cd ${SRCDIR}/build
893 mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
894 if [[ $(mlibdir) != lib ]]
895 then
896 mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
897 fi
898 mmake -j1 -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die
899 }
900
901 if lang_enabled java
902 then
903 src_install_libgcj()
904 {
905 cd ${SRCDIR}/build
906 mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
907 if [[ $(mlibdir) != lib ]]
908 then
909 mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
910 fi
911 }
912
913 src_install_gcc-gcj()
914 {
915 cd ${SRCDIR}/build
916
917 # install only java targets
918 make DESTDIR=${BINDIR} install-target-libjava || die
919 make -C gcc DESTDIR=${BINDIR} java.install-common || die
920 make -C gcc DESTDIR=${BINDIR} java.install-man || die
921
922 # missing bins
923 minstallexec gcc/jc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
924 minstallexec gcc/jvgenmain /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
925
926 # remove libraries already included elsewhere
927 mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
928 rm -v ${BINDIR}/usr/$(mlibdir)/libgcc_s.so* || die
929 rm -v ${BINDIR}/usr/$(mlibdir)/libgcj_bc.so* || die
930 if [[ $(mlibdir) != lib ]]
931 then
932 mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
933 rm -v ${BINDIR}/usr/lib/libgcc_s.so.* || die
934 rm -v ${BINDIR}/usr/lib/libgcj_bc.so.* || die
935 fi
936
937 # versionize all bins and symlink them
938 versionize_all_bins || die
939 }
940 fi
941
942 if lang_enabled ada
943 then
944 src_install_libgnat()
945 {
946 cd ${SRCDIR}/build
947 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
948 if [[ $(mlibdir) != lib ]]
949 then
950 # install 32bit libgnat
951 # make tries to execute the libs, which fails
952 # we override the INSTALL commands to *not* do that
953 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
954 fi
955 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die
956
957 # move so-libs to the right location
958 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so /usr/$(mlibdir) || die
959 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so /usr/$(mlibdir) || die
960 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/lib{gnarl,gnat}.so || die
961 mlink libgnarl-${PVER%.*}.so /usr/$(mlibdir)/libgnarl.so || die
962 mlink libgnat-${PVER%.*}.so /usr/$(mlibdir)/libgnat.so || die
963 mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so || die
964 mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so || die
965 mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die
966 mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die
967
968 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die
969
970 if [[ $(mlibdir) != lib ]]
971 then
972 zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die
973
974 # move so-libs to the right location
975 minstalldir /usr/lib || die
976 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so /usr/lib || die
977 mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so /usr/lib || die
978 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/lib{gnarl,gnat}.so || die
979 mlink libgnarl-${PVER%.*}.so /usr/lib/libgnarl.so || die
980 mlink libgnat-${PVER%.*}.so /usr/lib/libgnat.so || die
981 mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so || die
982 mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so || die
983 mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die
984 mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die
985
986 mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die
987 fi
988
989 # remove other
990 mdelete -r /usr/bin || die
991 }
992
993 src_install_gcc-gnat()
994 {
995 cd ${SRCDIR}/build
996 mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die
997 if [[ $(mlibdir) != lib ]]
998 then
999 # install 32bit libgnat
1000 # make tries to execute the libs, which fails
1001 # we override the INSTALL commands to *not* do that
1002 mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die
1003 fi
1004 mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die
1005 minstallexec gcc/gnat1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER} || die
1006
1007 # remove libraries already included elsewhere
1008 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl*.* || die
1009 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat*.* || die
1010 if [[ $(mlibdir) != lib ]]
1011 then
1012 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl*.* || die
1013 rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat*.* || die
1014 fi
1015
1016 # versionize all bins and symlink them
1017 versionize_all_bins || die
1018 }
1019 fi
1020
1021 if lang_enabled fortran
1022 then
1023 src_install_libgfortran()
1024 {
1025 cd ${SRCDIR}/build
1026 mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install || die
1027 if [[ $(mlibdir) != lib ]]
1028 then
1029 mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install || die
1030 fi
1031 }
1032
1033 src_install_gcc-gfortran()
1034 {
1035 cd ${SRCDIR}/build
1036
1037 # omp headers needed by fortran
1038 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die
1039 mmake -C gcc DESTDIR=${BINDIR} fortran.install-common || die
1040 mmake -C gcc DESTDIR=${BINDIR} fortran.install-man || die
1041 mmake -C gcc DESTDIR=${BINDIR} fortran.install-info || die
1042 # missing binaries
1043 minstallexec gcc/f951 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die
1044 mlink gfortran /usr/bin/f95 || die
1045
1046 # remove libraries already included elsewhere
1047 mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} uninstall-nodist_fincludeHEADERS || die
1048
1049 # versionize all bins and symlink them
1050 versionize_all_bins || die
1051 }
1052 fi
1053
1054 if lang_enabled go
1055 then
1056 src_install_libgo()
1057 {
1058 cd ${SRCDIR}/build
1059 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
1060 if [[ $(mlibdir) != lib ]]
1061 then
1062 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die
1063 fi
1064 }
1065
1066 src_install_gcc-go()
1067 {
1068 cd ${SRCDIR}/build
1069 mmake DESTDIR=${BINDIR} install-target-libgo || die
1070 mmake -C gcc DESTDIR=${BINDIR} go.install-common || die
1071 mmake -C gcc DESTDIR=${BINDIR} go.install-man || die
1072 mmake -C gcc DESTDIR=${BINDIR} go.install-info || die
1073 minstallexec gcc/go1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1074
1075 # remove libraries already included elsewhere
1076 mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1077 mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1078 if [[ $(mlibdir) != lib ]]
1079 then
1080 mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1081 mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die
1082 fi
1083
1084 # versionize all bins and symlink them
1085 versionize_all_bins || die
1086 }
1087 fi
1088
1089 if lang_enabled objc
1090 then
1091 src_install_libobjc()
1092 {
1093 cd ${SRCDIR}/build
1094 mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die
1095 if [[ $(mlibdir) != lib ]]
1096 then
1097 mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die
1098 fi
1099 }
1100
1101 src_install_gcc-objc()
1102 {
1103 cd ${SRCDIR}/build
1104 mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-headers || die
1105 if [[ $(mlibdir) != lib ]]
1106 then
1107 mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-headers || die
1108 fi
1109 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1110 minstallexec gcc/cc1obj /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1111 }
1112
1113 if lang_enabled obj-c++
1114 then
1115 src_install_gcc-objc++()
1116 {
1117 cd ${SRCDIR}/build
1118 minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1119 minstallexec gcc/cc1objplus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die
1120 }
1121 fi
1122 fi