Contents of /smage/trunk/core/gcc/gcc-4.8.1-r1.smage2
Parent Directory | Revision Log
Revision 5211 -
(show annotations)
(download)
Fri Dec 13 09:34:12 2013 UTC (10 years, 5 months ago) by niro
File size: 47133 byte(s)
Fri Dec 13 09:34:12 2013 UTC (10 years, 5 months ago) by niro
File size: 47133 byte(s)
-fixed missing glibc-dev depend
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 bootstrap, 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++ |
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=bootstrap 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 | # 1=enable dev split packages |
29 | # 0=disable dev split packages |
30 | ENABLE_DEV_PACKAGES="1" |
31 | |
32 | SPLIT_PACKAGES="libgcc libssp libgomp libmudflap libquadmath libitm libatomic libstdc++ libasan" |
33 | |
34 | # dev packages |
35 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
36 | then |
37 | SPLIT_PACKAGES+=" libgcc-dev libssp-dev libgomp-dev libmudflap-dev libquadmath-dev libitm-dev libatomic-dev libstdc++-dev libasan-dev" |
38 | fi |
39 | |
40 | # thread sanitizer is only available on x86_64 |
41 | if [[ ${ARCH} = x86_64 ]] |
42 | then |
43 | SPLIT_PACKAGES+=" libtsan" |
44 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
45 | then |
46 | SPLIT_PACKAGES+=" libtsan-dev" |
47 | fi |
48 | fi |
49 | |
50 | # always enable gcc |
51 | SPLIT_PACKAGES+=" gcc" |
52 | |
53 | # helper functions |
54 | lang_enabled() |
55 | { |
56 | local lang="$1" |
57 | |
58 | if [[ ${MyLanguages//${lang}} != ${MyLanguages} ]] |
59 | then |
60 | return 0 |
61 | else |
62 | return 1 |
63 | fi |
64 | } |
65 | |
66 | versionize_all_bins() |
67 | { |
68 | local bin |
69 | |
70 | for bin in $(find ${BINDIR}/usr/bin -type f) |
71 | do |
72 | echo ${bin} |
73 | mv ${bin} ${bin}-${PVER} || die |
74 | ln -snf $(basename ${bin}-${PVER}) ${bin} || die |
75 | done |
76 | } |
77 | |
78 | keep_dev_package_libs() |
79 | { |
80 | local libs="$@" |
81 | |
82 | # cleanup, only keep the libs, everything else get provided by the dev-package |
83 | zapmost ${BINDIR}/usr/$(mlibdir) "${libs}" || die |
84 | # multilib as well |
85 | if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]] |
86 | then |
87 | zapmost ${BINDIR}/usr/lib "${libs}" || die |
88 | fi |
89 | |
90 | # cleanup the rest, keep only libs |
91 | zapmost ${BINDIR} /usr/$(mlibdir) $([[ $(mlibdir) != lib ]] && echo "/usr/lib") || die |
92 | } |
93 | |
94 | delete_dev_package_libs() |
95 | { |
96 | local libs="$@" |
97 | local i |
98 | |
99 | # cleanup, the solibs are provided by the non-dev package |
100 | for i in ${libs} |
101 | do |
102 | rm ${BINDIR}/usr/$(mlibdir)/${i} || die |
103 | # multilib as well |
104 | if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]] |
105 | then |
106 | rm ${BINDIR}/usr/lib/${i} || die |
107 | fi |
108 | done |
109 | } |
110 | |
111 | GLIBC_DEPEND=">= virtual/glibc" |
112 | GLIBCDEV_DEPEND=">= virtual/glibc-dev" |
113 | ZLIB_DEPEND=">= sys-libs/zlib-1.2.7" |
114 | COMMON_DEPEND="${GLIBC_DEPEND} |
115 | ${ZLIB_DEPEND} |
116 | >= dev-libs/gmp-5.1 |
117 | >= dev-libs/mpfr-3.1 |
118 | >= dev-libs/mpc-1.0.1" |
119 | LIBGCC_DEPEND="${GLIBC_DEPEND}" |
120 | LIBSSP_DEPEND="${GLIBC_DEPEND}" |
121 | LIBGOMP_DEPEND="${GLIBC_DEPEND}" |
122 | LIBMUDFLAP_DEPEND="${GLIBC_DEPEND}" |
123 | LIBQUADMATH_DEPEND="${GLIBC_DEPEND}" |
124 | LIBITM_DEPEND="${GLIBC_DEPEND}" |
125 | LIBATOMIC_DEPEND="${GLIBC_DEPEND}" |
126 | LIBASAN_DEPEND="${GLIBC_DEPEND}" |
127 | LIBTSAN_DEPEND="${GLIBC_DEPEND}" |
128 | LIBSTDCPP_DEPEND="${GLIBC_DEPEND}" |
129 | |
130 | GCC_DEPEND="${COMMON_DEPEND} |
131 | ${GLIBCDEV_DEPEND} |
132 | >= sys-dev/binutils-2.23 |
133 | >= dev-libs/isl-0.12 |
134 | >= dev-libs/cloog-0.18 |
135 | >= dev-libs/elfutils-0.155" |
136 | |
137 | # special handling for libtsan, only x86-64 |
138 | DEPEND_x86_64=">= sys-libs/libtsan-${PVER}" |
139 | SPECIAL_VARS="DEPEND_x86_64" |
140 | |
141 | if lang_enabled java |
142 | then |
143 | SPLIT_PACKAGES+=" libgcj" |
144 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
145 | then |
146 | SPLIT_PACKAGES+=" libgcj-dev" |
147 | fi |
148 | SPLIT_PACKAGES+=" gcc-gcj" |
149 | LIBGCJ_DEPEND="${GLIBC_DEPEND} |
150 | ${ZLIB_DEPEND}" |
151 | JAVA_DEPEND="${COMMON_DEPEND} |
152 | >= dev-java/eclipse-ecj-3.6 |
153 | >= dev-java/fastjar-0.98 |
154 | >= sys-apps/file-5 |
155 | >= app-arch/unzip-6 |
156 | >= app-arch/zip-3 |
157 | >= media-libs/alsa-lib-1.0.26 |
158 | >= x11-libs/libSM-1.2 |
159 | >= x11-libs/libXtst-1.2 |
160 | >= dev-libs/glib2-2.34 |
161 | >= x11-libs/gtk2+-2.24 |
162 | >= media-libs/libart_lgpl-2.3.21" |
163 | |
164 | # provided java version |
165 | JAVA_PVER="1.5.0-gcj-1.5.0.0" |
166 | fi |
167 | |
168 | if lang_enabled ada |
169 | then |
170 | SPLIT_PACKAGES+=" libgnat" |
171 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
172 | then |
173 | SPLIT_PACKAGES+=" libgnat-dev" |
174 | fi |
175 | SPLIT_PACKAGES+=" gcc-gnat" |
176 | LIBGNAT_DEPEND="${GLIBC_DEPEND}" |
177 | ADA_DEPEND="${COMMON_DEPEND}" |
178 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
179 | then |
180 | GNAT_BIN_x86="gnatboot-4.3-i686.tar.bz2" |
181 | GNAT_BIN_x86_64="gnatboot-4.3-amd64.tar.bz2" |
182 | GNAT_BIN="$(eval echo \$GNAT_BIN_${ARCH/i*86/x86})" |
183 | GNAT_BIN_SRCDIR="${BUILDDIR}/gnat" |
184 | SRC_URI+=( mirror://${PNAME}/${GNAT_BIN_x86} ) |
185 | SRC_URI+=( mirror://${PNAME}/${GNAT_BIN_x86_64} ) |
186 | fi |
187 | fi |
188 | |
189 | if lang_enabled fortran |
190 | then |
191 | SPLIT_PACKAGES+=" libgfortran" |
192 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
193 | then |
194 | SPLIT_PACKAGES+=" libgfortran-dev" |
195 | fi |
196 | SPLIT_PACKAGES+=" gcc-gfortran" |
197 | LIBGFORTRAN_DEPEND="${GLIBC_DEPEND}" |
198 | FORTRAN_DEPEND="${COMMON_DEPEND}" |
199 | fi |
200 | |
201 | if lang_enabled go |
202 | then |
203 | SPLIT_PACKAGES+=" libgo" |
204 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
205 | then |
206 | SPLIT_PACKAGES+=" libgo-dev" |
207 | fi |
208 | SPLIT_PACKAGES+=" gcc-go" |
209 | LIBGO_DEPEND="${GLIBC_DEPEND}" |
210 | GO_DEPEND="${COMMON_DEPEND}" |
211 | fi |
212 | |
213 | if lang_enabled objc |
214 | then |
215 | SPLIT_PACKAGES+=" libobjc" |
216 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
217 | then |
218 | SPLIT_PACKAGES+=" libobjc-dev" |
219 | fi |
220 | SPLIT_PACKAGES+=" gcc-objc" |
221 | LIBOBJC_DEPEND="${GLIBC_DEPEND}" |
222 | OBJC_DEPEND="${COMMON_DEPEND}" |
223 | |
224 | if lang_enabled obj-c++ |
225 | then |
226 | SPLIT_PACKAGES+=" gcc-objc++" |
227 | OBJCPP_DEPEND="${COMMON_DEPEND}" |
228 | fi |
229 | fi |
230 | |
231 | SDEPEND="${LIBGCC_DEPEND} |
232 | ${LIBSSP_DEPEND} |
233 | ${LIBGOMP_DEPEND} |
234 | ${LIBMUDFLAP_DEPEND} |
235 | ${LIBQUADMATH_DEPEND} |
236 | ${LIBITM_DEPEND} |
237 | ${LIBATOMIC_DEPEND} |
238 | ${LIBASAN_DEPEND} |
239 | ${LIBTSAN_DEPEND} |
240 | ${LIBSTDCPP_DEPEND} |
241 | ${GCC_DEPEND} |
242 | ${LIBGCJ_DEPEND} |
243 | ${JAVA_DEPEND} |
244 | ${LIBGNAT_DEPEND} |
245 | ${ADA_DEPEND} |
246 | ${LIBGFORTRAN_DEPEND} |
247 | ${FORTRAN_DEPEND} |
248 | ${LIBGO_DEPEND} |
249 | ${GO_DEPEND} |
250 | ${LIBOBJC_DEPEND} |
251 | ${OBJC_DEPEND} |
252 | ${OBJCPP_DEPEND} |
253 | >= virtual/kernel-headers" |
254 | |
255 | if [[ ${ADA_BOOTSTRAP} != 1 ]] |
256 | then |
257 | # add gnat to SDEPEND |
258 | SDEPEND="${SDEPEND} |
259 | >= sys-dev/gcc-gnat-4.8" |
260 | fi |
261 | |
262 | SRCFILE="${PNAME}-${PVER}.tar.bz2" |
263 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
264 | |
265 | # you better off when not using distcc to compile |
266 | # your new compiler :) maybe not all are the same |
267 | msetfeature "!distcc" |
268 | |
269 | sminclude mtools cleanutils libtool |
270 | |
271 | SRC_URI=( |
272 | ${SRC_URI[*]} |
273 | gnu://${PNAME}/${PNAME}-${PVER}/${SRCFILE} |
274 | mirror://${PNAME}/${SRCFILE} |
275 | mirror://${PNAME}/${PNAME}-4.5.1-no-fixincludes.patch |
276 | mirror://${PNAME}/${PNAME}-4.7.1-libada-pic.patch |
277 | ) |
278 | |
279 | UP2DATE="updatecmd 'http://ftp.gnu.org/gnu/${PNAME}/?C=M;O=A' | grep '\[DIR\]' | sed -n 's:.*${PNAME}-\(.*\)/.*:\1:;$ p'" |
280 | |
281 | # gcc don't like strong CFLAGS |
282 | export CFLAGS="${CFLAGS//-O?} -O2" |
283 | export CXXFLAGS="${CFLAGS}" |
284 | |
285 | # check for crosscompile or export default CHOST |
286 | if [[ -z ${CTARGET} ]] |
287 | then |
288 | # no crosscompile defined |
289 | export CTARGET=${CHOST} |
290 | else |
291 | # use crosscompile host |
292 | export CTARGET=${CTARGET} |
293 | fi |
294 | |
295 | split_info_gcc() |
296 | { |
297 | DESCRIPTION="Modern C/C++ compiler written by the GNU people." |
298 | |
299 | DEPEND="== sys-libs/libgcc-${PVER} |
300 | == sys-libs/libssp-${PVER} |
301 | == sys-libs/libgomp-${PVER} |
302 | == sys-libs/libmudflap-${PVER} |
303 | == sys-libs/libquadmath-${PVER} |
304 | == sys-libs/libitm-${PVER} |
305 | == sys-libs/libatomic-${PVER} |
306 | == sys-libs/libstdc++-${PVER} |
307 | == sys-libs/libasan-${PVER} |
308 | $(marchdepend) |
309 | ${GCC_DEPEND}" |
310 | |
311 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
312 | then |
313 | DEPEND="${DEPEND} |
314 | == sys-libs/libgcc-dev-${PVER} |
315 | == sys-libs/libssp-dev-${PVER} |
316 | == sys-libs/libgomp-dev-${PVER} |
317 | == sys-libs/libmudflap-dev-${PVER} |
318 | == sys-libs/libquadmath-dev-${PVER} |
319 | == sys-libs/libitm-dev-${PVER} |
320 | == sys-libs/libatomic-dev-${PVER} |
321 | == sys-libs/libstdc++-dev-${PVER} |
322 | == sys-libs/libasan-dev-${PVER}" |
323 | fi |
324 | } |
325 | |
326 | split_info_libgcc() |
327 | { |
328 | DESCRIPTION="GCC shared support library." |
329 | DEPEND="${LIBGCC_DEPEND}" |
330 | PCAT="sys-libs" |
331 | } |
332 | |
333 | split_info_libgcc-dev() |
334 | { |
335 | DESCRIPTION="Development files for libgcc." |
336 | DEPEND="== sys-libs/libgcc-${PVER}" |
337 | PCAT="sys-libs" |
338 | } |
339 | |
340 | split_info_libssp() |
341 | { |
342 | DESCRIPTION="Stack Smashing Protection library from GCC." |
343 | DEPEND="${LIBSSP_DEPEND}" |
344 | PCAT="sys-libs" |
345 | } |
346 | |
347 | split_info_libssp-dev() |
348 | { |
349 | DESCRIPTION="Development files for libssp." |
350 | DEPEND="== sys-libs/libssp-${PVER}" |
351 | PCAT="sys-libs" |
352 | } |
353 | |
354 | split_info_libgomp() |
355 | { |
356 | DESCRIPTION="GNU OpenMP runtime library." |
357 | DEPEND="${LIBGOMP_DEPEND}" |
358 | PCAT="sys-libs" |
359 | } |
360 | |
361 | split_info_libgomp-dev() |
362 | { |
363 | DESCRIPTION="Development files for libgomp." |
364 | DEPEND="== sys-libs/libgomp-${PVER}" |
365 | PCAT="sys-libs" |
366 | } |
367 | |
368 | split_info_libmudflap() |
369 | { |
370 | DESCRIPTION="GCC mudflap shared support library." |
371 | DEPEND="${LIBMUDFLAP_DEPEND}" |
372 | PCAT="sys-libs" |
373 | } |
374 | |
375 | split_info_libmudflap-dev() |
376 | { |
377 | DESCRIPTION="Development files for libmudflap." |
378 | DEPEND="== sys-libs/libmudflap-${PVER}" |
379 | PCAT="sys-libs" |
380 | } |
381 | |
382 | split_info_libquadmath() |
383 | { |
384 | DESCRIPTION="GCC __float128 shared support library." |
385 | DEPEND="${LIBQUADMATH_DEPEND}" |
386 | PCAT="sys-libs" |
387 | } |
388 | |
389 | split_info_libquadmath-dev() |
390 | { |
391 | DESCRIPTION="Development files for libquadmath." |
392 | DEPEND="== sys-libs/libquadmath-${PVER}" |
393 | PCAT="sys-libs" |
394 | } |
395 | |
396 | split_info_libitm() |
397 | { |
398 | DESCRIPTION="The GNU Transactional Memory library." |
399 | DEPEND="${LIBITM_DEPEND}" |
400 | PCAT="sys-libs" |
401 | } |
402 | |
403 | split_info_libitm-dev() |
404 | { |
405 | DESCRIPTION="Development files for libitm." |
406 | DEPEND="== sys-libs/libitm-${PVER}" |
407 | PCAT="sys-libs" |
408 | } |
409 | |
410 | split_info_libatomic() |
411 | { |
412 | DESCRIPTION="The GNU Atomic library." |
413 | DEPEND="${LIBATOMIC_DEPEND}" |
414 | PCAT="sys-libs" |
415 | } |
416 | |
417 | split_info_libatomic-dev() |
418 | { |
419 | DESCRIPTION="Development files for libatomic." |
420 | DEPEND="== sys-libs/libatomic-${PVER}" |
421 | PCAT="sys-libs" |
422 | } |
423 | |
424 | split_info_libasan() |
425 | { |
426 | DESCRIPTION="The Address Sanitizer runtime library." |
427 | DEPEND="== sys-libs/libgcc-${PVER} |
428 | == sys-libs/libstdc++-${PVER} |
429 | ${LIBASAN_DEPEND}" |
430 | PCAT="sys-libs" |
431 | } |
432 | |
433 | split_info_libasan-dev() |
434 | { |
435 | DESCRIPTION="Development files for libasan." |
436 | DEPEND="== sys-libs/libasan-${PVER} |
437 | == sys-libs/libgcc-dev-${PVER} |
438 | == sys-libs/libstdc++-dev-${PVER}" |
439 | PCAT="sys-libs" |
440 | } |
441 | |
442 | split_info_libtsan() |
443 | { |
444 | DESCRIPTION="The Thread Sanitizer runtime library." |
445 | DEPEND="== sys-libs/libgcc-${PVER} |
446 | == sys-libs/libstdc++-${PVER} |
447 | ${LIBTSAN_DEPEND}" |
448 | PCAT="sys-libs" |
449 | } |
450 | |
451 | split_info_libtsan-dev() |
452 | { |
453 | DESCRIPTION="Development files for libtsan." |
454 | DEPEND="== sys-libs/libtsan-${PVER} |
455 | == sys-libs/libgcc-dev-${PVER} |
456 | == sys-libs/libstdc++-dev-${PVER}" |
457 | PCAT="sys-libs" |
458 | } |
459 | |
460 | split_info_libstdc++() |
461 | { |
462 | DESCRIPTION="Standard GNU C and C++ libraries." |
463 | DEPEND="== sys-libs/libgcc-${PVER} |
464 | ${LIBSTDCPP_DEPEND}" |
465 | PCAT="sys-libs" |
466 | } |
467 | |
468 | split_info_libstdc++-dev() |
469 | { |
470 | DESCRIPTION="Development files for libstdc++." |
471 | DEPEND="== sys-libs/libstdc++-${PVER} |
472 | == sys-libs/libgcc-dev-${PVER}" |
473 | PCAT="sys-libs" |
474 | } |
475 | |
476 | if lang_enabled java |
477 | then |
478 | split_info_libgcj() |
479 | { |
480 | DESCRIPTION="Java runtime library for GCC." |
481 | DEPEND="== sys-libs/libgcc-${PVER} |
482 | ${LIBGCJ_DEPEND}" |
483 | PCAT="sys-libs" |
484 | } |
485 | |
486 | split_info_libgcj-dev() |
487 | { |
488 | DESCRIPTION="Development files for libgcj." |
489 | DEPEND="== sys-libs/libgcj-${PVER} |
490 | == sys-libs/libgcc-dev-${PVER}" |
491 | PCAT="sys-libs" |
492 | } |
493 | |
494 | split_info_gcc-gcj() |
495 | { |
496 | DESCRIPTION="Java support for GCC." |
497 | DEPEND="== sys-libs/libgcc-${PVER} |
498 | == sys-libs/libstdc++-${PVER} |
499 | == sys-libs/libgcj-${PVER} |
500 | == sys-dev/gcc-${PVER} |
501 | ${JAVA_DEPEND}" |
502 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
503 | then |
504 | DEPEND="${DEPEND} |
505 | == sys-libs/libgcc-dev-${PVER} |
506 | == sys-libs/libstdc++-dev-${PVER} |
507 | == sys-libs/libgcj-dev-${PVER}" |
508 | fi |
509 | } |
510 | fi |
511 | |
512 | if lang_enabled ada |
513 | then |
514 | split_info_libgnat() |
515 | { |
516 | DESCRIPTION="Gnu Ada 95 library which is needed to run Ada programs." |
517 | DEPEND="== sys-libs/libgcc-${PVER} |
518 | ${LIBGNAT_DEPEND}" |
519 | PCAT="sys-libs" |
520 | } |
521 | |
522 | split_info_libgnat-dev() |
523 | { |
524 | DESCRIPTION="Development files for libgnat." |
525 | DEPEND="== sys-libs/libgnat-${PVER} |
526 | == sys-libs/libgcc-dev-${PVER}" |
527 | PCAT="sys-libs" |
528 | } |
529 | |
530 | split_info_gcc-gnat() |
531 | { |
532 | DESCRIPTION="Ada 95 support for GCC." |
533 | DEPEND="== sys-libs/libgcc-${PVER} |
534 | == sys-libs/libstdc++-${PVER} |
535 | == sys-libs/libgnat-${PVER} |
536 | == sys-dev/gcc-${PVER} |
537 | ${ADA_DEPEND}" |
538 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
539 | then |
540 | DEPEND="${DEPEND} |
541 | == sys-libs/libgcc-dev-${PVER} |
542 | == sys-libs/libstdc++-dev-${PVER} |
543 | == sys-libs/libgnat-dev-${PVER}" |
544 | fi |
545 | } |
546 | fi |
547 | |
548 | if lang_enabled fortran |
549 | then |
550 | split_info_libgfortran() |
551 | { |
552 | DESCRIPTION="Gnu Fortran library which is needed to run Fortran programs." |
553 | DEPEND="== sys-libs/libquadmath-${PVER} |
554 | ${LIBGFORTRAN_DEPEND}" |
555 | PCAT="sys-libs" |
556 | } |
557 | |
558 | split_info_libgfortran-dev() |
559 | { |
560 | DESCRIPTION="Development files for libgfortran." |
561 | DEPEND="== sys-libs/libgfortran-${PVER} |
562 | == sys-libs/libquadmath-dev-${PVER}" |
563 | PCAT="sys-libs" |
564 | } |
565 | |
566 | split_info_gcc-gfortran() |
567 | { |
568 | DESCRIPTION="Fortran support for GCC." |
569 | DEPEND="== sys-libs/libgcc-${PVER} |
570 | == sys-libs/libstdc++-${PVER} |
571 | == sys-libs/libgfortran-${PVER} |
572 | == sys-dev/gcc-${PVER} |
573 | ${FORTRAN_DEPEND}" |
574 | |
575 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
576 | then |
577 | DEPEND="${DEPEND} |
578 | == sys-libs/libgcc-dev-${PVER} |
579 | == sys-libs/libstdc++-dev-${PVER} |
580 | == sys-libs/libgfortran-dev-${PVER}" |
581 | fi |
582 | } |
583 | fi |
584 | |
585 | if lang_enabled go |
586 | then |
587 | split_info_libgo() |
588 | { |
589 | DESCRIPTION="Go library which is needed to run Go programs." |
590 | DEPEND="== sys-libs/libgcc-${PVER} |
591 | ${LIBGO_DEPEND}" |
592 | PCAT="sys-libs" |
593 | } |
594 | |
595 | split_info_libgo-dev() |
596 | { |
597 | DESCRIPTION="Development files for libgo." |
598 | DEPEND="== sys-libs/libgo-${PVER} |
599 | == sys-libs/libgcc-dev-${PVER}" |
600 | PCAT="sys-libs" |
601 | } |
602 | |
603 | split_info_gcc-go() |
604 | { |
605 | DESCRIPTION="Go support for GCC." |
606 | DEPEND="== sys-libs/libgcc-${PVER} |
607 | == sys-libs/libstdc++-${PVER} |
608 | == sys-libs/libgo-${PVER} |
609 | == sys-dev/gcc-${PVER} |
610 | ${GO_DEPEND}" |
611 | |
612 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
613 | then |
614 | DEPEND="${DEPEND} |
615 | == sys-libs/libgcc-dev-${PVER} |
616 | == sys-libs/libstdc++-dev-${PVER} |
617 | == sys-libs/libgo-dev-${PVER}" |
618 | fi |
619 | } |
620 | fi |
621 | |
622 | if lang_enabled objc |
623 | then |
624 | split_info_libobjc() |
625 | { |
626 | DESCRIPTION="Objective-C library which is needed to run Objective-C programs." |
627 | DEPEND="== sys-libs/libgcc-${PVER} |
628 | ${LIBOBJC_DEPEND}" |
629 | PCAT="sys-libs" |
630 | } |
631 | |
632 | split_info_libobjc-dev() |
633 | { |
634 | DESCRIPTION="Development files for libobjc." |
635 | DEPEND="== sys-libs/libobjc-${PVER} |
636 | == sys-libs/libgcc-dev-${PVER}" |
637 | PCAT="sys-libs" |
638 | } |
639 | |
640 | split_info_gcc-objc() |
641 | { |
642 | DESCRIPTION="Objective-C support for GCC." |
643 | DEPEND="== sys-libs/libgcc-${PVER} |
644 | == sys-libs/libstdc++-${PVER} |
645 | == sys-libs/libobjc-${PVER} |
646 | == sys-dev/gcc-${PVER} |
647 | ${OBJC_DEPEND}" |
648 | |
649 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
650 | then |
651 | DEPEND="${DEPEND} |
652 | == sys-libs/libgcc-dev-${PVER} |
653 | == sys-libs/libstdc++-dev-${PVER} |
654 | == sys-libs/libobjc-dev-${PVER}" |
655 | fi |
656 | } |
657 | |
658 | if lang_enabled obj-c++ |
659 | then |
660 | split_info_gcc-objc++() |
661 | { |
662 | DESCRIPTION="Objective-C++ support for GCC." |
663 | DEPEND="== sys-libs/libgcc-${PVER} |
664 | == sys-libs/libstdc++-${PVER} |
665 | == sys-libs/libobjc-${PVER} |
666 | == sys-dev/gcc-${PVER} |
667 | == sys-dev/gcc-objc-${PVER} |
668 | ${OBJCPP_DEPEND}" |
669 | |
670 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
671 | then |
672 | DEPEND="${DEPEND} |
673 | == sys-libs/libgcc-dev-${PVER} |
674 | == sys-libs/libstdc++-dev-${PVER} |
675 | == sys-libs/libobjc-dev-${PVER}" |
676 | fi |
677 | } |
678 | fi |
679 | fi |
680 | |
681 | src_prepare() |
682 | { |
683 | munpack ${SRCFILE} || die |
684 | |
685 | if lang_enabled ada |
686 | then |
687 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
688 | then |
689 | # setup binary ada if boostrap is enabled |
690 | install -d ${GNAT_BIN_SRCDIR} || die |
691 | munpack ${GNAT_BIN} ${GNAT_BIN_SRCDIR} || die |
692 | # gnat wrapper has problems with quotation |
693 | sed -i \ |
694 | -e "/-DREVISION/d" \ |
695 | -e "/-DDEVPHASE/d" \ |
696 | -e "s: -DDATESTAMP=\$(DATESTAMP_s)::" \ |
697 | ${SRCDIR}/gcc/Makefile.in || die |
698 | sed -i \ |
699 | -e "s: DATESTAMP DEVPHASE REVISION::" \ |
700 | -e "s:PKGVERSION:\"\":" \ |
701 | ${SRCDIR}/gcc/version.c || die |
702 | fi |
703 | cd ${SRCDIR} |
704 | fi |
705 | |
706 | cd ${SRCDIR} |
707 | |
708 | # generic fixes |
709 | mpatch ${PNAME}-4.5.1-no-fixincludes.patch || die |
710 | |
711 | # fix pic issues |
712 | mpatch ${PNAME}-4.7.1-libada-pic.patch || die |
713 | |
714 | # suppress installation of libffi, we're using libffi3 instead |
715 | sed -i 's/\(install.*:\) install-.*recursive/\1/' libffi/Makefile.in || die |
716 | sed -i 's/\(install-data-am:\).*/\1/' libffi/include/Makefile.in || die |
717 | |
718 | install -d ${SRCDIR}/build || die |
719 | } |
720 | |
721 | src_compile() |
722 | { |
723 | if lang_enabled ada |
724 | then |
725 | if [[ ${ADA_BOOTSTRAP} = 1 ]] |
726 | then |
727 | # export binary gnat pathes |
728 | export PATH="${GNAT_BIN_SRCDIR}/usr/bin:${PATH}" |
729 | export CC="${GNAT_BIN_SRCDIR}/usr/bin/gnatgcc" |
730 | # CPATH is supposed to be applied for any language, thus |
731 | # superseding either of C/CPLUS/OBJC_INCLUDE_PATHs |
732 | export CPATH="${GNAT_BIN_SRCDIR}/usr/lib/include" |
733 | export LIB_DIR="${GNAT_BIN_SRCDIR}/usr/lib" |
734 | export LDFLAGS="-L${GNAT_BIN_SRCDIR}/usr/lib" |
735 | export LIBRARY_PATH="${GNAT_BIN_SRCDIR}/usr/lib" |
736 | export ADA_OBJECTS_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adalib" |
737 | export ADA_INCLUDE_PATH="${GNAT_BIN_SRCDIR}/usr/lib/adainclude" |
738 | |
739 | # prepare some tools |
740 | cd ${GNAT_BIN_SRCDIR} |
741 | cp -v ${SRCDIR}/gcc/ada/xtreeprs.adb ${GNAT_BIN_SRCDIR} || die |
742 | cp -v ${SRCDIR}/gcc/ada/csinfo.adb ${GNAT_BIN_SRCDIR} || die |
743 | cp -v ${SRCDIR}/gcc/ada/ceinfo.adb ${GNAT_BIN_SRCDIR} || die |
744 | cp -v ${SRCDIR}/gcc/ada/xsinfo.adb ${GNAT_BIN_SRCDIR} || die |
745 | cp -v ${SRCDIR}/gcc/ada/xeinfo.adb ${GNAT_BIN_SRCDIR} || die |
746 | cp -v ${SRCDIR}/gcc/ada/xnmake.adb ${GNAT_BIN_SRCDIR} || die |
747 | cp -v ${SRCDIR}/gcc/ada/xutil.ad{s,b} ${GNAT_BIN_SRCDIR} || die |
748 | gnatmake xtreeprs || die |
749 | gnatmake xsinfo || die |
750 | gnatmake xeinfo || die |
751 | gnatmake xnmake || die |
752 | fi |
753 | fi |
754 | |
755 | cd ${SRCDIR}/build |
756 | local myconf |
757 | |
758 | # Straight from the GCC install doc: |
759 | # "GCC has code to correctly determine the correct value for target |
760 | # for nearly all native systems. Therefore, we highly recommend you |
761 | # not provide a configure target when configuring a native compiler." |
762 | if [[ ${CHOST} != ${CTARGET} ]] |
763 | then |
764 | myconf+=" --target=${CTARGET}" |
765 | fi |
766 | |
767 | if lang_enabled java |
768 | then |
769 | myconf+=" --enable-java-awt=gtk |
770 | --enable-gtk-cairo |
771 | --enable-libgcj-multifile |
772 | --with-ecj-jar=/usr/share/java/eclipse-ecj.jar |
773 | --with-fastjar=/usr/bin/fastjar |
774 | --enable-hash-synchronization" |
775 | # disable mutilib for java |
776 | myconf+=" --disable-libjava-multilib" |
777 | # java home, must be the same of java-gcj-compat |
778 | myconf+=" --with-java-home=/usr/$(mlibdir)/jvm/java-${JAVA_PVER}/jre" |
779 | fi |
780 | |
781 | # use isl backend |
782 | myconf+=" --enable-cloog-backend=isl" |
783 | |
784 | # suppress installation of libiberty, as we will be |
785 | # using the one from binutils |
786 | myconf+=" --disable-install-libiberty" |
787 | |
788 | # gcc >= 4.3 has now configure flags for uri and version - yeah! |
789 | AR=ar \ |
790 | ../configure \ |
791 | --with-bugurl="http://bugs.magellan-linux.de/" \ |
792 | --with-pkgversion="Magellan-Linux" \ |
793 | --build=${CHOST} \ |
794 | --host=${CHOST} \ |
795 | --prefix=/usr \ |
796 | --sbindir=/usr/bin \ |
797 | --mandir=/usr/share/man \ |
798 | --infodir=/usr/share/info \ |
799 | --libdir=/usr/$(mlibdir) \ |
800 | --libexecdir=/usr/$(mlibdir) \ |
801 | --enable-shared \ |
802 | --enable-threads=posix \ |
803 | --enable-__cxa_atexit \ |
804 | --enable-clocale=gnu \ |
805 | --enable-checking=release \ |
806 | --with-system-zlib \ |
807 | --enable-long-long \ |
808 | --enable-cstdio=stdio \ |
809 | --enable-languages=${MyLanguages} \ |
810 | --disable-libstdcxx-pch \ |
811 | --enable-gnu-unique-object \ |
812 | --enable-lto \ |
813 | --enable-plugin \ |
814 | --enable-gold \ |
815 | --with-plugin-ld=ld.gold \ |
816 | --enable-ld=default \ |
817 | --enable-linker-build-id \ |
818 | --disable-install-libiberty \ |
819 | ${myconf} \ |
820 | || die |
821 | |
822 | # parallel builds seems to break sometimes on x86_64 |
823 | local myopts |
824 | [[ ${ARCH} = x86_64 ]] && myopts=-j1 |
825 | |
826 | # enable bootstrap if requested |
827 | local target |
828 | [[ ${GCC_BOOTSTRAP} = 1 ]] && target="bootstrap-lean" |
829 | |
830 | mmake ${myopts} ${target} || die |
831 | } |
832 | |
833 | src_install_gcc() |
834 | { |
835 | local i |
836 | local bin |
837 | |
838 | cd ${SRCDIR}/build |
839 | minstalldir /$(mlibdir) || die |
840 | |
841 | # install all targets |
842 | make DESTDIR=${BINDIR} install || die |
843 | |
844 | # move gdb scripts to a proper location and to pretty-print ldconfig |
845 | minstalldir /usr/share/gdb/auto-load/usr/$(mlibdir) || die |
846 | mv -v ${BINDIR}/usr/$(mlibdir)/libstdc++*gdb.py* ${BINDIR}/usr/share/gdb/auto-load/usr/$(mlibdir)/ || die |
847 | # multilib as well |
848 | if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]] |
849 | then |
850 | minstalldir /usr/share/gdb/auto-load/usr/lib || die |
851 | mv -v ${BINDIR}/usr/lib/libstdc++*gdb.py* ${BINDIR}/usr/share/gdb/auto-load/usr/lib/ || die |
852 | fi |
853 | |
854 | # deletes libstdc++ && libgcc_s && libssp && libgomp libmudflap && libquadmath && libitm && libatomic && libasan |
855 | rm -v ${BINDIR}/usr/$(mlibdir)/libgcc_s.so* || die |
856 | mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
857 | mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
858 | mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
859 | mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
860 | mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
861 | mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
862 | mmake -j1 -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
863 | if [[ ${ARCH} = x86_64 ]] |
864 | then |
865 | mmake -j1 -C ${CHOST}/libsanitizer/tsan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
866 | fi |
867 | mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
868 | if [[ $(mlibdir) != lib ]] |
869 | then |
870 | rm -v ${BINDIR}/usr/lib/libgcc_s.so* || die |
871 | mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
872 | mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
873 | mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
874 | mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
875 | mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
876 | mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
877 | mmake -j1 -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
878 | # only 64bit exist |
879 | # mmake -j1 -C ${CHOST}/32//libsanitizer/tsan DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
880 | mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
881 | fi |
882 | mdelete /usr/share/info/libgomp.info || die |
883 | mdelete /usr/share/info/libitm.info || die |
884 | mdelete /usr/share/info/libquadmath.info || die |
885 | find ${BINDIR}/usr/share/locale -name libstdc++.mo | xargs --no-run-if-empty --verbose rm -v || die |
886 | |
887 | # deletes all java specific |
888 | if lang_enabled java |
889 | then |
890 | mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
891 | if [[ $(mlibdir) != lib ]] |
892 | then |
893 | mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
894 | fi |
895 | rm -v ${BINDIR}/usr/$(mlibdir)/libgcj_bc.so* || die |
896 | rm -rv ${BINDIR}/usr/include/c++/${PVER}/{gcj,gnu,java{,x},org,sun} || die |
897 | rm -rv ${BINDIR}/usr/$(mlibdir)/gcj* || die |
898 | mdelete /usr/$(mlibdir)/logging.properties || die |
899 | mdelete /usr/$(mlibdir)/libgcj.spec || die |
900 | rm -v ${BINDIR}/usr/$(mlibdir)/pkgconfig/libgcj*.pc || die |
901 | mdelete -r /usr/$(mlibdir)/security || die |
902 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ecj1 || die |
903 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jc1 || die |
904 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/jvgenmain || die |
905 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/gcj || die |
906 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/{{jawt,jni}{,_md},jvmpi}.h || die |
907 | if [[ $(mlibdir) != lib ]] && [[ -d ${BINDIR}/usr/lib ]] |
908 | then |
909 | rm -v ${BINDIR}/usr/lib/libgcj_bc.so* || die |
910 | rm -rv ${BINDIR}/usr/lib/gcj* || die |
911 | mdelete /usr/lib/logging.properties || die |
912 | mdelete -r /usr/lib/security || die |
913 | fi |
914 | mdelete /usr/share/info/cp-tools.info || die |
915 | mdelete /usr/share/info/gcj.info || die |
916 | mdelete -r /usr/share/java || die |
917 | mdelete -r /usr/share/gcc-${PVER}/python/libjava || die |
918 | for i in aot-compile gappletviewer gc-analyze gcj gcj-dbtool gcjh gij gjar \ |
919 | gjarsigner gjavah gjdoc gkeytool gnative2ascii gorbd grmic grmid grmiregistry \ |
920 | gserialver gtnameserv jcf-dump jv-convert rebuild-gcj-db ${CHOST}-gcj |
921 | do |
922 | if [ -f ${BINDIR}/usr/bin/${i} ] |
923 | then |
924 | mdelete /usr/bin/${i} || die |
925 | fi |
926 | if [ -f ${BINDIR}/usr/share/man/man1/${i}.1 ] |
927 | then |
928 | mdelete /usr/share/man/man1/${i}.1 || die |
929 | fi |
930 | done |
931 | fi |
932 | |
933 | # deletes all ada specific |
934 | if lang_enabled ada |
935 | then |
936 | rm -v ${BINDIR}/usr/bin/gnat* || die |
937 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/gnat1 || die |
938 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib || die |
939 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die |
940 | if [[ $(mlibdir) != lib ]] |
941 | then |
942 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib || die |
943 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die |
944 | fi |
945 | rm -v ${BINDIR}/usr/share/info/gnat*.info || die |
946 | fi |
947 | |
948 | # deletes all fortran specific |
949 | if lang_enabled fortran |
950 | then |
951 | mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} uninstall || die |
952 | if [[ $(mlibdir) != lib ]] |
953 | then |
954 | mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} uninstall || die |
955 | fi |
956 | mdelete /usr/bin/gfortran || die |
957 | mdelete /usr/bin/${CHOST}-gfortran || die |
958 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die |
959 | mdelete /usr/share/info/gfortran.info || die |
960 | mdelete /usr/share/man/man1/gfortran.1 || die |
961 | fi |
962 | |
963 | # deletes all go specific |
964 | if lang_enabled go |
965 | then |
966 | mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
967 | if [[ $(mlibdir) != lib ]] |
968 | then |
969 | mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
970 | fi |
971 | mdelete /usr/bin/gccgo || die |
972 | mdelete /usr/bin/${CHOST}-gccgo || die |
973 | mdelete -r /usr/$(mlibdir)/go || die |
974 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/go1 || die |
975 | mdelete /usr/$(mlibdir)/libgobegin.a || die |
976 | if [[ $(mlibdir) != lib ]] |
977 | then |
978 | mdelete -r /usr/lib/go || die |
979 | mdelete /usr/lib/libgobegin.a || die |
980 | fi |
981 | mdelete /usr/share/info/gccgo.info || die |
982 | mdelete /usr/share/man/man1/gccgo.1 || die |
983 | fi |
984 | |
985 | # deletes all objc + obj-c++ |
986 | if lang_enabled objc |
987 | then |
988 | rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.so* || die |
989 | rm -v ${BINDIR}/usr/$(mlibdir)/libobjc.{a,la} || die |
990 | if [[ $(mlibdir) != lib ]] |
991 | then |
992 | rm -v ${BINDIR}/usr/lib/libobjc.so* || die |
993 | rm -v ${BINDIR}/usr/lib/libobjc.{a,la} || die |
994 | fi |
995 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1obj || die |
996 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/include/objc || die |
997 | |
998 | if lang_enabled obj-c++ |
999 | then |
1000 | mdelete /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/cc1objplus || die |
1001 | fi |
1002 | fi |
1003 | |
1004 | # versionize all bins and symlink them |
1005 | versionize_all_bins || die |
1006 | |
1007 | mlink ../usr/bin/cpp-${PVER} /usr/$(mlibdir)/cpp || die |
1008 | # this one is needed on multilib systems. |
1009 | # rpcgen may not find the cpp compiler correctly if not in /lib/cpp |
1010 | if [[ $(mlibdir) != lib ]] |
1011 | then |
1012 | minstalldir /usr/lib || die |
1013 | mlink ../usr/bin/cpp-${PVER} /usr/lib/cpp || die |
1014 | fi |
1015 | mlink gcc-${PVER} /usr/bin/cc || die |
1016 | |
1017 | # fix all .la files |
1018 | # they may contain invalid libpathes which are not needed |
1019 | local la |
1020 | for la in $(find ${BINDIR} -name \*.la) |
1021 | do |
1022 | fix_la_file ${la} || die ${la} |
1023 | done |
1024 | |
1025 | # remove /lib dirs to be usr-move compat |
1026 | if [[ -d ${BINDIR}/$(mlibdir) ]] |
1027 | then |
1028 | rm -rv ${BINDIR}/$(mlibdir) || die |
1029 | fi |
1030 | if [[ $(mlibdir) != lib ]] |
1031 | then |
1032 | if [[ -d ${BINDIR}/lib ]] |
1033 | then |
1034 | rm -rv ${BINDIR}/lib || die |
1035 | fi |
1036 | fi |
1037 | } |
1038 | |
1039 | src_install_libgcc() |
1040 | { |
1041 | cd ${SRCDIR}/build |
1042 | mmake -j1 -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die |
1043 | if [[ $(mlibdir) != lib ]] |
1044 | then |
1045 | mmake -j1 -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die |
1046 | fi |
1047 | mdelete -r /usr/$(mlibdir)/gcc || die |
1048 | |
1049 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1050 | then |
1051 | keep_dev_package_libs 'libgcc_s.so.*' || die |
1052 | fi |
1053 | } |
1054 | |
1055 | src_install_libgcc-dev() |
1056 | { |
1057 | cd ${SRCDIR}/build |
1058 | mmake -j1 -C ${CHOST}/libgcc DESTDIR=${BINDIR} install-shared || die |
1059 | if [[ $(mlibdir) != lib ]] |
1060 | then |
1061 | mmake -j1 -C${CHOST}/32/libgcc DESTDIR=${BINDIR} install-shared || die |
1062 | fi |
1063 | mdelete -r /usr/$(mlibdir)/gcc || die |
1064 | |
1065 | delete_dev_package_libs 'libgcc_s.so.*' || die |
1066 | } |
1067 | |
1068 | src_install_libssp() |
1069 | { |
1070 | cd ${SRCDIR}/build |
1071 | mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1072 | if [[ $(mlibdir) != lib ]] |
1073 | then |
1074 | mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1075 | fi |
1076 | |
1077 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1078 | then |
1079 | keep_dev_package_libs 'libssp.so.*' || die |
1080 | fi |
1081 | } |
1082 | |
1083 | src_install_libssp-dev() |
1084 | { |
1085 | cd ${SRCDIR}/build |
1086 | mmake -j1 -C ${CHOST}/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1087 | if [[ $(mlibdir) != lib ]] |
1088 | then |
1089 | mmake -j1 -C ${CHOST}/32/libssp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1090 | fi |
1091 | |
1092 | delete_dev_package_libs 'libssp.so.*' || die |
1093 | } |
1094 | |
1095 | src_install_libgomp() |
1096 | { |
1097 | cd ${SRCDIR}/build |
1098 | mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1099 | if [[ $(mlibdir) != lib ]] |
1100 | then |
1101 | mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1102 | fi |
1103 | mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die |
1104 | |
1105 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1106 | then |
1107 | keep_dev_package_libs 'libgomp.so.*' || die |
1108 | fi |
1109 | } |
1110 | |
1111 | src_install_libgomp-dev() |
1112 | { |
1113 | cd ${SRCDIR}/build |
1114 | mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1115 | if [[ $(mlibdir) != lib ]] |
1116 | then |
1117 | mmake -j1 -C ${CHOST}/32/libgomp DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1118 | fi |
1119 | mmake -j1 -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-info || die |
1120 | |
1121 | delete_dev_package_libs 'libgomp.so.*' || die |
1122 | } |
1123 | |
1124 | src_install_libmudflap() |
1125 | { |
1126 | cd ${SRCDIR}/build |
1127 | mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1128 | if [[ $(mlibdir) != lib ]] |
1129 | then |
1130 | mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1131 | fi |
1132 | |
1133 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1134 | then |
1135 | keep_dev_package_libs 'libmudflap.so.*' || die |
1136 | fi |
1137 | } |
1138 | |
1139 | src_install_libmudflap-dev() |
1140 | { |
1141 | cd ${SRCDIR}/build |
1142 | mmake -j1 -C ${CHOST}/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1143 | if [[ $(mlibdir) != lib ]] |
1144 | then |
1145 | mmake -j1 -C ${CHOST}/32/libmudflap DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1146 | fi |
1147 | |
1148 | delete_dev_package_libs 'libmudflap.so.*' || die |
1149 | } |
1150 | |
1151 | src_install_libquadmath() |
1152 | { |
1153 | cd ${SRCDIR}/build |
1154 | mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1155 | if [[ $(mlibdir) != lib ]] |
1156 | then |
1157 | mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1158 | fi |
1159 | mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-info || die |
1160 | |
1161 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1162 | then |
1163 | keep_dev_package_libs 'libquadmath.so.*' || die |
1164 | fi |
1165 | } |
1166 | |
1167 | src_install_libquadmath-dev() |
1168 | { |
1169 | cd ${SRCDIR}/build |
1170 | mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1171 | if [[ $(mlibdir) != lib ]] |
1172 | then |
1173 | mmake -j1 -C ${CHOST}/32/libquadmath DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1174 | fi |
1175 | mmake -j1 -C ${CHOST}/libquadmath DESTDIR=${BINDIR} install-info || die |
1176 | |
1177 | delete_dev_package_libs 'libquadmath.so.*' || die |
1178 | } |
1179 | |
1180 | src_install_libitm() |
1181 | { |
1182 | cd ${SRCDIR}/build |
1183 | mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1184 | if [[ $(mlibdir) != lib ]] |
1185 | then |
1186 | mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1187 | fi |
1188 | mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-info || die |
1189 | |
1190 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1191 | then |
1192 | keep_dev_package_libs 'libitm.so.*' || die |
1193 | fi |
1194 | } |
1195 | |
1196 | src_install_libitm-dev() |
1197 | { |
1198 | cd ${SRCDIR}/build |
1199 | mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1200 | if [[ $(mlibdir) != lib ]] |
1201 | then |
1202 | mmake -j1 -C ${CHOST}/32/libitm DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1203 | fi |
1204 | mmake -j1 -C ${CHOST}/libitm DESTDIR=${BINDIR} install-info || die |
1205 | |
1206 | delete_dev_package_libs 'libitm.so.*' || die |
1207 | } |
1208 | |
1209 | src_install_libatomic() |
1210 | { |
1211 | cd ${SRCDIR}/build |
1212 | mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1213 | if [[ $(mlibdir) != lib ]] |
1214 | then |
1215 | mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1216 | fi |
1217 | |
1218 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1219 | then |
1220 | keep_dev_package_libs 'libatomic.so.*' || die |
1221 | fi |
1222 | } |
1223 | |
1224 | src_install_libatomic-dev() |
1225 | { |
1226 | cd ${SRCDIR}/build |
1227 | mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1228 | if [[ $(mlibdir) != lib ]] |
1229 | then |
1230 | mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1231 | fi |
1232 | |
1233 | delete_dev_package_libs 'libatomic.so.*' || die |
1234 | } |
1235 | |
1236 | src_install_libasan() |
1237 | { |
1238 | cd ${SRCDIR}/build |
1239 | mmake -j1 -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1240 | if [[ $(mlibdir) != lib ]] |
1241 | then |
1242 | mmake -j1 -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1243 | fi |
1244 | |
1245 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1246 | then |
1247 | keep_dev_package_libs 'libasan.so.*' || die |
1248 | fi |
1249 | } |
1250 | |
1251 | src_install_libasan-dev() |
1252 | { |
1253 | cd ${SRCDIR}/build |
1254 | mmake -j1 -C ${CHOST}/libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1255 | if [[ $(mlibdir) != lib ]] |
1256 | then |
1257 | mmake -j1 -C ${CHOST}/32/libsanitizer/asan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1258 | fi |
1259 | |
1260 | delete_dev_package_libs 'libasan.so.*' || die |
1261 | } |
1262 | |
1263 | src_install_libtsan() |
1264 | { |
1265 | cd ${SRCDIR}/build |
1266 | mmake -j1 -C ${CHOST}/libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1267 | # only 64bit exist |
1268 | # if [[ $(mlibdir) != lib ]] |
1269 | # then |
1270 | # mmake -j1 -C ${CHOST}/32/libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1271 | # fi |
1272 | |
1273 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1274 | then |
1275 | keep_dev_package_libs 'libtsan.so.*' || die |
1276 | fi |
1277 | } |
1278 | |
1279 | src_install_libtsan-dev() |
1280 | { |
1281 | cd ${SRCDIR}/build |
1282 | mmake -j1 -C ${CHOST}/libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1283 | # only 64bit exist |
1284 | # if [[ $(mlibdir) != lib ]] |
1285 | # then |
1286 | # mmake -j1 -C ${CHOST}/32/libsanitizer/tsan DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1287 | # fi |
1288 | |
1289 | delete_dev_package_libs 'libtsan.so.*' || die |
1290 | } |
1291 | |
1292 | src_install_libstdc++() |
1293 | { |
1294 | cd ${SRCDIR}/build |
1295 | mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1296 | if [[ $(mlibdir) != lib ]] |
1297 | then |
1298 | mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1299 | fi |
1300 | mmake -j1 -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die |
1301 | |
1302 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1303 | then |
1304 | keep_dev_package_libs 'libstdc++.so.*' || die |
1305 | fi |
1306 | } |
1307 | |
1308 | src_install_libstdc++-dev() |
1309 | { |
1310 | cd ${SRCDIR}/build |
1311 | mmake -j1 -C ${CHOST}/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1312 | if [[ $(mlibdir) != lib ]] |
1313 | then |
1314 | mmake -j1 -C ${CHOST}/32/libstdc++-v3/src DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1315 | fi |
1316 | mmake -j1 -C ${CHOST}/libstdc++-v3/po DESTDIR=${BINDIR} install || die |
1317 | |
1318 | delete_dev_package_libs 'libstdc++.so.*' || die |
1319 | } |
1320 | |
1321 | if lang_enabled java |
1322 | then |
1323 | src_install_libgcj() |
1324 | { |
1325 | cd ${SRCDIR}/build |
1326 | mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1327 | if [[ $(mlibdir) != lib ]] |
1328 | then |
1329 | mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1330 | fi |
1331 | |
1332 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1333 | then |
1334 | keep_dev_package_libs 'libgcj_bc.so.* libgcj-tools.so.* libgcj.so.* libgij.so.*' || die |
1335 | fi |
1336 | } |
1337 | |
1338 | src_install_libgcj-dev() |
1339 | { |
1340 | cd ${SRCDIR}/build |
1341 | mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1342 | if [[ $(mlibdir) != lib ]] |
1343 | then |
1344 | mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1345 | fi |
1346 | |
1347 | delete_dev_package_libs 'libgcj_bc.so.* libgcj-tools.so.* libgcj.so.* libgij.so.*' || die |
1348 | } |
1349 | |
1350 | src_install_gcc-gcj() |
1351 | { |
1352 | cd ${SRCDIR}/build |
1353 | |
1354 | # install only java targets |
1355 | make DESTDIR=${BINDIR} install-target-libjava || die |
1356 | make -C gcc DESTDIR=${BINDIR} java.install-common || die |
1357 | make -C gcc DESTDIR=${BINDIR} java.install-man || die |
1358 | |
1359 | # missing bins |
1360 | minstallexec gcc/jc1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1361 | minstallexec gcc/jvgenmain /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1362 | |
1363 | # remove libraries already included elsewhere |
1364 | mmake -j1 -C ${CHOST}/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1365 | rm -v ${BINDIR}/usr/$(mlibdir)/libgcc_s.so* || die |
1366 | rm -v ${BINDIR}/usr/$(mlibdir)/libgcj_bc.so* || die |
1367 | if [[ $(mlibdir) != lib ]] |
1368 | then |
1369 | mmake -j1 -C ${CHOST}/32/libjava DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1370 | rm -v ${BINDIR}/usr/lib/libgcc_s.so.* || die |
1371 | rm -v ${BINDIR}/usr/lib/libgcj_bc.so.* || die |
1372 | fi |
1373 | |
1374 | # versionize all bins and symlink them |
1375 | versionize_all_bins || die |
1376 | } |
1377 | fi |
1378 | |
1379 | if lang_enabled ada |
1380 | then |
1381 | src_install_libgnat() |
1382 | { |
1383 | cd ${SRCDIR}/build |
1384 | mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die |
1385 | if [[ $(mlibdir) != lib ]] |
1386 | then |
1387 | # install 32bit libgnat |
1388 | # make tries to execute the libs, which fails |
1389 | # we override the INSTALL commands to *not* do that |
1390 | mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die |
1391 | fi |
1392 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die |
1393 | |
1394 | # move so-libs to the right location |
1395 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so /usr/$(mlibdir) || die |
1396 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so /usr/$(mlibdir) || die |
1397 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/lib{gnarl,gnat}.so || die |
1398 | mlink libgnarl-${PVER%.*}.so /usr/$(mlibdir)/libgnarl.so || die |
1399 | mlink libgnat-${PVER%.*}.so /usr/$(mlibdir)/libgnat.so || die |
1400 | mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so || die |
1401 | mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so || die |
1402 | mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die |
1403 | mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die |
1404 | |
1405 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die |
1406 | |
1407 | if [[ $(mlibdir) != lib ]] |
1408 | then |
1409 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die |
1410 | |
1411 | # move so-libs to the right location |
1412 | minstalldir /usr/lib || die |
1413 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so /usr/lib || die |
1414 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so /usr/lib || die |
1415 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/lib{gnarl,gnat}.so || die |
1416 | mlink libgnarl-${PVER%.*}.so /usr/lib/libgnarl.so || die |
1417 | mlink libgnat-${PVER%.*}.so /usr/lib/libgnat.so || die |
1418 | mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so || die |
1419 | mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so || die |
1420 | mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die |
1421 | mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die |
1422 | |
1423 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die |
1424 | fi |
1425 | |
1426 | # remove other |
1427 | mdelete -r /usr/bin || die |
1428 | |
1429 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1430 | then |
1431 | keep_dev_package_libs "libgnarl-${PVER%.*}.so libgnarl.so libgnat-${PVER%.*}.so libgnat.so" || die |
1432 | fi |
1433 | } |
1434 | |
1435 | src_install_libgnat() |
1436 | { |
1437 | cd ${SRCDIR}/build |
1438 | mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die |
1439 | if [[ $(mlibdir) != lib ]] |
1440 | then |
1441 | # install 32bit libgnat |
1442 | # make tries to execute the libs, which fails |
1443 | # we override the INSTALL commands to *not* do that |
1444 | mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die |
1445 | fi |
1446 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib libgnarl*.* libgnat*.* || die |
1447 | |
1448 | # move so-libs to the right location |
1449 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so /usr/$(mlibdir) || die |
1450 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so /usr/$(mlibdir) || die |
1451 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/lib{gnarl,gnat}.so || die |
1452 | mlink libgnarl-${PVER%.*}.so /usr/$(mlibdir)/libgnarl.so || die |
1453 | mlink libgnat-${PVER%.*}.so /usr/$(mlibdir)/libgnat.so || die |
1454 | mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl-${PVER%.*}.so || die |
1455 | mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat-${PVER%.*}.so || die |
1456 | mlink ../../../../libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl.so || die |
1457 | mlink ../../../../libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat.so || die |
1458 | |
1459 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adainclude || die |
1460 | |
1461 | if [[ $(mlibdir) != lib ]] |
1462 | then |
1463 | zapmost ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib libgnarl*.* libgnat*.* || die |
1464 | |
1465 | # move so-libs to the right location |
1466 | minstalldir /usr/lib || die |
1467 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so /usr/lib || die |
1468 | mmove ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so /usr/lib || die |
1469 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/lib{gnarl,gnat}.so || die |
1470 | mlink libgnarl-${PVER%.*}.so /usr/lib/libgnarl.so || die |
1471 | mlink libgnat-${PVER%.*}.so /usr/lib/libgnat.so || die |
1472 | mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl-${PVER%.*}.so || die |
1473 | mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat-${PVER%.*}.so || die |
1474 | mlink ../../../../../../lib/libgnarl-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl.so || die |
1475 | mlink ../../../../../../lib/libgnat-${PVER%.*}.so /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat.so || die |
1476 | |
1477 | mdelete -r /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adainclude || die |
1478 | fi |
1479 | |
1480 | # remove other |
1481 | mdelete -r /usr/bin || die |
1482 | |
1483 | delete_dev_package_libs "libgnarl-${PVER%.*}.so libgnarl.so libgnat-${PVER%.*}.so libgnat.so" || die |
1484 | } |
1485 | |
1486 | src_install_gcc-gnat() |
1487 | { |
1488 | cd ${SRCDIR}/build |
1489 | mmake -C gcc DESTDIR=${BINDIR} ada.install-common || die |
1490 | if [[ $(mlibdir) != lib ]] |
1491 | then |
1492 | # install 32bit libgnat |
1493 | # make tries to execute the libs, which fails |
1494 | # we override the INSTALL commands to *not* do that |
1495 | mmake -C ${CHOST}/32/libada DESTDIR=${BINDIR} INSTALL="install" INSTALL_DATA="install -m0644" install-gnatlib || die |
1496 | fi |
1497 | mmake -C gcc DESTDIR=${BINDIR} ada.install-info || die |
1498 | minstallexec gcc/gnat1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER} || die |
1499 | |
1500 | # remove libraries already included elsewhere |
1501 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnarl*.* || die |
1502 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/adalib/libgnat*.* || die |
1503 | if [[ $(mlibdir) != lib ]] |
1504 | then |
1505 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnarl*.* || die |
1506 | rm -v ${BINDIR}/usr/$(mlibdir)/gcc/${CHOST}/${PVER}/32/adalib/libgnat*.* || die |
1507 | fi |
1508 | |
1509 | # versionize all bins and symlink them |
1510 | versionize_all_bins || die |
1511 | } |
1512 | fi |
1513 | |
1514 | if lang_enabled fortran |
1515 | then |
1516 | src_install_libgfortran() |
1517 | { |
1518 | cd ${SRCDIR}/build |
1519 | mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install || die |
1520 | if [[ $(mlibdir) != lib ]] |
1521 | then |
1522 | mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install || die |
1523 | fi |
1524 | |
1525 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1526 | then |
1527 | keep_dev_package_libs 'libgfortran.so.*' || die |
1528 | fi |
1529 | } |
1530 | |
1531 | src_install_libgfortran-dev() |
1532 | { |
1533 | cd ${SRCDIR}/build |
1534 | mmake -j1 -C ${CHOST}/libgfortran DESTDIR=${BINDIR} install || die |
1535 | if [[ $(mlibdir) != lib ]] |
1536 | then |
1537 | mmake -j1 -C ${CHOST}/32/libgfortran DESTDIR=${BINDIR} install || die |
1538 | fi |
1539 | |
1540 | delete_dev_package_libs 'libgfortran.so.*' || die |
1541 | } |
1542 | |
1543 | src_install_gcc-gfortran() |
1544 | { |
1545 | cd ${SRCDIR}/build |
1546 | |
1547 | # omp headers needed by fortran |
1548 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} install-nodist_fincludeHEADERS || die |
1549 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-common || die |
1550 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-man || die |
1551 | mmake -C gcc DESTDIR=${BINDIR} fortran.install-info || die |
1552 | # missing binaries |
1553 | minstallexec gcc/f951 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/f951 || die |
1554 | mlink gfortran /usr/bin/f95 || die |
1555 | |
1556 | # remove libraries already included elsewhere |
1557 | mmake -C ${CHOST}/libgomp DESTDIR=${BINDIR} uninstall-nodist_fincludeHEADERS || die |
1558 | |
1559 | # versionize all bins and symlink them |
1560 | versionize_all_bins || die |
1561 | } |
1562 | fi |
1563 | |
1564 | if lang_enabled go |
1565 | then |
1566 | src_install_libgo() |
1567 | { |
1568 | cd ${SRCDIR}/build |
1569 | mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1570 | if [[ $(mlibdir) != lib ]] |
1571 | then |
1572 | mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1573 | fi |
1574 | |
1575 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1576 | then |
1577 | keep_dev_package_libs 'libgo.so.*' || die |
1578 | fi |
1579 | } |
1580 | |
1581 | src_install_libgo-dev() |
1582 | { |
1583 | cd ${SRCDIR}/build |
1584 | mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1585 | if [[ $(mlibdir) != lib ]] |
1586 | then |
1587 | mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} install-toolexeclibLTLIBRARIES || die |
1588 | fi |
1589 | |
1590 | delete_dev_package_libs 'libgo.so.*' || die |
1591 | } |
1592 | |
1593 | src_install_gcc-go() |
1594 | { |
1595 | cd ${SRCDIR}/build |
1596 | mmake DESTDIR=${BINDIR} install-target-libgo || die |
1597 | mmake -C gcc DESTDIR=${BINDIR} go.install-common || die |
1598 | mmake -C gcc DESTDIR=${BINDIR} go.install-man || die |
1599 | mmake -C gcc DESTDIR=${BINDIR} go.install-info || die |
1600 | minstallexec gcc/go1 /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1601 | |
1602 | # remove libraries already included elsewhere |
1603 | mmake -j1 -C ${CHOST}/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1604 | mmake -j1 -C ${CHOST}/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1605 | if [[ $(mlibdir) != lib ]] |
1606 | then |
1607 | mmake -j1 -C ${CHOST}/32/libgo DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1608 | mmake -j1 -C ${CHOST}/32/libatomic DESTDIR=${BINDIR} uninstall-toolexeclibLTLIBRARIES || die |
1609 | fi |
1610 | |
1611 | # versionize all bins and symlink them |
1612 | versionize_all_bins || die |
1613 | } |
1614 | fi |
1615 | |
1616 | if lang_enabled objc |
1617 | then |
1618 | src_install_libobjc() |
1619 | { |
1620 | cd ${SRCDIR}/build |
1621 | mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die |
1622 | if [[ $(mlibdir) != lib ]] |
1623 | then |
1624 | mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die |
1625 | fi |
1626 | |
1627 | if [[ ${ENABLE_DEV_PACKAGES} = 1 ]] |
1628 | then |
1629 | keep_dev_package_libs 'libobjc.so.*' || die |
1630 | fi |
1631 | } |
1632 | |
1633 | src_install_libobjc-dev() |
1634 | { |
1635 | cd ${SRCDIR}/build |
1636 | mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-libs || die |
1637 | if [[ $(mlibdir) != lib ]] |
1638 | then |
1639 | mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-libs || die |
1640 | fi |
1641 | |
1642 | delete_dev_package_libs 'libobjc.so.*' || die |
1643 | } |
1644 | |
1645 | src_install_gcc-objc() |
1646 | { |
1647 | cd ${SRCDIR}/build |
1648 | mmake -j1 -C ${CHOST}/libobjc DESTDIR=${BINDIR} install-headers || die |
1649 | if [[ $(mlibdir) != lib ]] |
1650 | then |
1651 | mmake -j1 -C ${CHOST}/32/libobjc DESTDIR=${BINDIR} install-headers || die |
1652 | fi |
1653 | minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1654 | minstallexec gcc/cc1obj /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1655 | } |
1656 | |
1657 | if lang_enabled obj-c++ |
1658 | then |
1659 | src_install_gcc-objc++() |
1660 | { |
1661 | cd ${SRCDIR}/build |
1662 | minstalldir /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1663 | minstallexec gcc/cc1objplus /usr/$(mlibdir)/gcc/${CHOST}/${PVER}/ || die |
1664 | } |
1665 | fi |
1666 | fi |