Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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