/[gentoo-x86]/eclass/qt4-build.eclass
Gentoo

Diff of /eclass/qt4-build.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.92 Revision 1.94
1# Copyright 1999-2009 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.92 2011/08/13 11:31:03 hwoarang Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.94 2011/08/29 01:28:10 vapier Exp $
4 4
5# @ECLASS: qt4-build.eclass 5# @ECLASS: qt4-build.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Ben de Groot <yngwin@gentoo.org>, 7# Ben de Groot <yngwin@gentoo.org>,
8# Markos Chandras <hwoarang@gentoo.org>, 8# Markos Chandras <hwoarang@gentoo.org>,
15inherit base eutils multilib toolchain-funcs flag-o-matic versionator 15inherit base eutils multilib toolchain-funcs flag-o-matic versionator
16 16
17MY_PV=${PV/_/-} 17MY_PV=${PV/_/-}
18if version_is_at_least 4.5.99999999; then 18if version_is_at_least 4.5.99999999; then
19 MY_P=qt-everywhere-opensource-src-${MY_PV} 19 MY_P=qt-everywhere-opensource-src-${MY_PV}
20 [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] && 20 [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] &&
21 [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] && 21 [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] &&
22 IUSE="+exceptions" 22 IUSE="+exceptions"
23else 23else
24 MY_P=qt-x11-opensource-src-${MY_PV} 24 MY_P=qt-x11-opensource-src-${MY_PV}
25fi 25fi
26 26
174# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix 174# Prepare the sources before the configure phase. Strip CFLAGS if necessary, and fix
175# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf. 175# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf.
176qt4-build_src_prepare() { 176qt4-build_src_prepare() {
177 setqtenv 177 setqtenv
178 cd "${S}" 178 cd "${S}"
179 179
180 # fix qt 4.7 regression that skips -fvisibility=hidden 180 # fix qt 4.7 regression that skips -fvisibility=hidden
181 if version_is_at_least "4.7.0_beta1"; then 181 if version_is_at_least "4.7.0_beta1"; then
182 sed -e "s/^gcc|g++)/*gcc|*g++)/" \ 182 sed -e "s/^gcc|g++)/*gcc|*g++)/" \
183 -i config.tests/unix/fvisibility.test || 183 -i config.tests/unix/fvisibility.test ||
184 die "visibility fixing sed failed" 184 die "visibility fixing sed failed"
355 355
356 prepare_directories ${QT4_TARGET_DIRECTORIES} 356 prepare_directories ${QT4_TARGET_DIRECTORIES}
357} 357}
358 358
359# @FUNCTION: qt4-build_src_compile 359# @FUNCTION: qt4-build_src_compile
360# @DESCRIPTION:
360# @DESCRIPTION: Actual compile phase 361# Actual compile phase
361qt4-build_src_compile() { 362qt4-build_src_compile() {
362 setqtenv 363 setqtenv
363 364
364 build_directories ${QT4_TARGET_DIRECTORIES} 365 build_directories ${QT4_TARGET_DIRECTORIES}
365} 366}
408 install_directories ${QT4_TARGET_DIRECTORIES} 409 install_directories ${QT4_TARGET_DIRECTORIES}
409 install_qconfigs 410 install_qconfigs
410 fix_library_files 411 fix_library_files
411 fix_includes 412 fix_includes
412 # remove .la files since we are building only shared Qt libraries 413 # remove .la files since we are building only shared Qt libraries
413 find "${D}"${QTLIBDIR} -name "*.la" -print0 | xargs -0 rm 414 find "${D}"${QTLIBDIR} -name "*.la" -print0 | xargs -0 rm
414} 415}
415 416
416# @FUNCTION: setqtenv 417# @FUNCTION: setqtenv
417setqtenv() { 418setqtenv() {
418 # Set up installation directories 419 # Set up installation directories
566# @DESCRIPTION: 567# @DESCRIPTION:
567# List variables that should be defined at the top of QtCore/qconfig.h 568# List variables that should be defined at the top of QtCore/qconfig.h
568: ${QCONFIG_DEFINE:=} 569: ${QCONFIG_DEFINE:=}
569 570
570# @FUNCTION: install_qconfigs 571# @FUNCTION: install_qconfigs
572# @DESCRIPTION:
571# @DESCRIPTION: Install gentoo-specific mkspecs configurations 573# Install gentoo-specific mkspecs configurations
572install_qconfigs() { 574install_qconfigs() {
573 local x 575 local x
574 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} ]]; then 576 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} ]]; then
575 for x in QCONFIG_ADD QCONFIG_REMOVE; do 577 for x in QCONFIG_ADD QCONFIG_REMOVE; do
576 [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri 578 [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri
587 doins "${T}"/gentoo-${PN}-qconfig.h || die "installing ${PN}-qconfig.h failed" 589 doins "${T}"/gentoo-${PN}-qconfig.h || die "installing ${PN}-qconfig.h failed"
588 fi 590 fi
589} 591}
590 592
591# @FUNCTION: generate_qconfigs 593# @FUNCTION: generate_qconfigs
594# @DESCRIPTION:
592# @DESCRIPTION: Generates gentoo-specific configurations 595# Generates gentoo-specific configurations
593generate_qconfigs() { 596generate_qconfigs() {
594 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == x11-libs/qt-core ]]; then 597 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == x11-libs/qt-core ]]; then
595 local x qconfig_add qconfig_remove qconfig_new 598 local x qconfig_add qconfig_remove qconfig_new
596 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do 599 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do
597 [[ -f ${x} ]] || continue 600 [[ -f ${x} ]] || continue
645 fi 648 fi
646 fi 649 fi
647} 650}
648 651
649# @FUNCTION: qt4-build_pkg_postrm 652# @FUNCTION: qt4-build_pkg_postrm
653# @DESCRIPTION:
650# @DESCRIPTION: Generate configurations when the package is completely removed 654# Generate configurations when the package is completely removed
651qt4-build_pkg_postrm() { 655qt4-build_pkg_postrm() {
652 generate_qconfigs 656 generate_qconfigs
653} 657}
654 658
655# @FUNCTION: qt4-build_pkg_postinst 659# @FUNCTION: qt4-build_pkg_postinst
660# @DESCRIPTION:
656# @DESCRIPTION: Generate configuration, plus throws a message about possible 661# Generate configuration, plus throws a message about possible
657# breakages and proposed solutions. 662# breakages and proposed solutions.
658qt4-build_pkg_postinst() { 663qt4-build_pkg_postinst() {
659 generate_qconfigs 664 generate_qconfigs
660} 665}
661 666

Legend:
Removed from v.1.92  
changed lines
  Added in v.1.94

  ViewVC Help
Powered by ViewVC 1.1.20