| 1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2011 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.106 2011/12/21 22:47:35 pesa Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.107 2011/12/21 23:38:45 pesa Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: qt4-build.eclass |
5 | # @ECLASS: qt4-build.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # Qt herd <qt@gentoo.org> |
7 | # Qt herd <qt@gentoo.org> |
| 8 | # @BLURB: Eclass for Qt4 split ebuilds. |
8 | # @BLURB: Eclass for Qt4 split ebuilds. |
| … | |
… | |
| 461 | # @FUNCTION: standard_configure_options |
461 | # @FUNCTION: standard_configure_options |
| 462 | # @DESCRIPTION: |
462 | # @DESCRIPTION: |
| 463 | # Sets up some standard configure options, like libdir (if necessary), whether |
463 | # Sets up some standard configure options, like libdir (if necessary), whether |
| 464 | # debug info is wanted or not. |
464 | # debug info is wanted or not. |
| 465 | standard_configure_options() { |
465 | standard_configure_options() { |
| 466 | local myconf= |
466 | local myconf="-prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} |
|
|
467 | -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} -plugindir ${QTPLUGINDIR} |
|
|
468 | -importdir ${QTIMPORTDIR} -datadir ${QTDATADIR} -translationdir ${QTTRANSDIR} |
|
|
469 | -sysconfdir ${QTSYSCONFDIR} -examplesdir ${QTEXAMPLESDIR} -demosdir ${QTDEMOSDIR} |
|
|
470 | -opensource -confirm-license -shared -fast -largefile -stl -verbose |
|
|
471 | -platform $(qt_mkspecs_dir) -nomake examples -nomake demos" |
| 467 | |
472 | |
| 468 | [[ $(get_libdir) != lib ]] && myconf+=" -L${EPREFIX}/usr/$(get_libdir)" |
473 | [[ $(get_libdir) != lib ]] && myconf+=" -L${EPREFIX}/usr/$(get_libdir)" |
| 469 | |
474 | |
| 470 | # Disable visibility explicitly if gcc version isn't 4 |
475 | # debug/release |
| 471 | if [[ $(gcc-major-version) -lt 4 ]]; then |
|
|
| 472 | myconf+=" -no-reduce-exports" |
|
|
| 473 | fi |
|
|
| 474 | |
|
|
| 475 | # precompiled headers doesn't work on hardened, where the flag is masked. |
|
|
| 476 | myconf+=" $(qt_use pch)" |
|
|
| 477 | |
|
|
| 478 | if use debug; then |
476 | if use debug; then |
| 479 | myconf+=" -debug" |
477 | myconf+=" -debug" |
| 480 | else |
478 | else |
| 481 | myconf+=" -release" |
479 | myconf+=" -release" |
| 482 | fi |
480 | fi |
| 483 | myconf+=" -no-separate-debug-info" |
481 | myconf+=" -no-separate-debug-info" |
|
|
482 | |
|
|
483 | # exceptions USE flag |
|
|
484 | local exceptions="-exceptions" |
|
|
485 | in_iuse exceptions && exceptions="$(qt_use exceptions)" |
|
|
486 | myconf+=" ${exceptions}" |
|
|
487 | |
|
|
488 | # disable RPATH on Qt >= 4.8 (bug 380415) |
|
|
489 | version_is_at_least 4.8 && myconf+=" -no-rpath" |
|
|
490 | |
|
|
491 | # precompiled headers don't work on hardened, where the flag is masked |
|
|
492 | myconf+=" $(qt_use pch)" |
|
|
493 | |
|
|
494 | # -reduce-relocations |
|
|
495 | # This flag seems to introduce major breakage to applications, |
|
|
496 | # mostly to be seen as a core dump with the message "QPixmap: Must |
|
|
497 | # construct a QApplication before a QPaintDevice" on Solaris. |
|
|
498 | # -- Daniel Vergien |
|
|
499 | [[ ${CHOST} != *-solaris* ]] && myconf+=" -reduce-relocations" |
| 484 | |
500 | |
| 485 | use aqua && myconf+=" -no-framework" |
501 | use aqua && myconf+=" -no-framework" |
| 486 | |
502 | |
| 487 | # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported |
503 | # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported |
| 488 | # $(tc-arch). Therefore we convert it to supported values. |
504 | # $(tc-arch). Therefore we convert it to supported values. |
| … | |
… | |
| 495 | x86|x86-*) myconf+=" -arch i386" ;; |
511 | x86|x86-*) myconf+=" -arch i386" ;; |
| 496 | alpha|arm|ia64|mips|s390) myconf+=" -arch $(tc-arch)" ;; |
512 | alpha|arm|ia64|mips|s390) myconf+=" -arch $(tc-arch)" ;; |
| 497 | hppa|sh) myconf+=" -arch generic" ;; |
513 | hppa|sh) myconf+=" -arch generic" ;; |
| 498 | *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;; |
514 | *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;; |
| 499 | esac |
515 | esac |
| 500 | |
|
|
| 501 | # exceptions USE flag |
|
|
| 502 | local exceptions="-exceptions" |
|
|
| 503 | in_iuse exceptions && exceptions="$(qt_use exceptions)" |
|
|
| 504 | |
|
|
| 505 | # bug 380415 |
|
|
| 506 | version_is_at_least 4.8 && myconf+=" -no-rpath" |
|
|
| 507 | |
|
|
| 508 | # note about -reduce-relocations: |
|
|
| 509 | # That flag seems to introduce major breakage to applications, |
|
|
| 510 | # mostly to be seen as a core dump with the message "QPixmap: Must |
|
|
| 511 | # construct a QApplication before a QPaintDevice" on Solaris |
|
|
| 512 | # -- Daniel Vergien |
|
|
| 513 | [[ ${CHOST} != *-solaris* ]] && myconf+=" -reduce-relocations" |
|
|
| 514 | |
|
|
| 515 | myconf+=" -platform $(qt_mkspecs_dir) -stl -verbose -largefile -confirm-license |
|
|
| 516 | -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} |
|
|
| 517 | -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} |
|
|
| 518 | -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR} |
|
|
| 519 | -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR} |
|
|
| 520 | -demosdir ${QTDEMOSDIR} -importdir ${QTIMPORTDIR} -silent -fast -opensource |
|
|
| 521 | ${exceptions} |
|
|
| 522 | -nomake examples -nomake demos" |
|
|
| 523 | |
516 | |
| 524 | echo "${myconf}" |
517 | echo "${myconf}" |
| 525 | } |
518 | } |
| 526 | |
519 | |
| 527 | # @FUNCTION: prepare_directories |
520 | # @FUNCTION: prepare_directories |