diff options
author | Caleb Tennis <caleb@gentoo.org> | 2007-07-31 13:39:50 +0000 |
---|---|---|
committer | Caleb Tennis <caleb@gentoo.org> | 2007-07-31 13:39:50 +0000 |
commit | ccea1b4b669b782aba03052b910d796fb9d848b7 (patch) | |
tree | ea9a1d058dcd49a7ed1a782a91155e719a1a6e98 /eclass | |
parent | Lock to Qt3 (diff) | |
download | gentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.tar.gz gentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.tar.bz2 gentoo-2-ccea1b4b669b782aba03052b910d796fb9d848b7.zip |
Adding eqmake from bug #120116
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/qt4.eclass | 73 |
1 files changed, 67 insertions, 6 deletions
diff --git a/eclass/qt4.eclass b/eclass/qt4.eclass index e55e751c2295..d56bee8435e3 100644 --- a/eclass/qt4.eclass +++ b/eclass/qt4.eclass @@ -1,6 +1,6 @@ # Copyright 2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.19 2007/07/17 11:59:18 swegener Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/qt4.eclass,v 1.20 2007/07/31 13:39:50 caleb Exp $ # # Author Caleb Tennis <caleb@gentoo.org> # @@ -13,7 +13,7 @@ # 08.16.06 - Renamed qt_min_* to qt4_min_* to avoid conflicts with the qt3 eclass. # - Caleb Tennis <caleb@gentoo.org> -inherit versionator eutils +inherit eutils multilib toolchain-funcs versionator QTPKG="x11-libs/qt-" QT4MAJORVERSIONS="4.3 4.2 4.1 4.0" @@ -51,12 +51,73 @@ qt4_min_version_list() { echo "${VERSIONS}" } -EXPORT_FUNCTIONS pkg_setup - qt4_pkg_setup() { - for x in $QT4_BUILT_WITH_USE_CHECK; do + for x in ${QT4_BUILT_WITH_USE_CHECK}; do if ! built_with_use =x11-libs/qt-4* $x; then - die "This package requires Qt4 to be built with the ${x} use flag." + die "This package requires Qt4 to be built with the '${x}' use flag." fi done } + +eqmake4() { + local LOGFILE="${T}/qmake-$$.out" + local projprofile="${1}" + [ -z ${projprofile} ] && projprofile="${PN}.pro" + shift 1 + + ebegin "Processing qmake ${projprofile}" + + # file exists? + if [ ! -f ${projprofile} ]; then + echo + eerror "Project .pro file \"${projprofile}\" does not exists" + eerror "qmake cannot handle non-existing .pro files" + echo + eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org" + echo + die "Project file not found in ${PN} sources" + fi + + echo >> ${LOGFILE} + echo "****** qmake ${projprofile} ******" >> ${LOGFILE} + echo >> ${LOGFILE} + + # as a workaround for broken qmake, put everything into file + if use debug; then + echo -e "$CONFIG -= release\nCONFIG += no_fixpath debug" >> ${projprofile} + else + echo -e "$CONFIG -= debug\nCONFIG += no_fixpath release" >> ${projprofile} + fi + + /usr/bin/qmake ${projprofile} \ + QTDIR=/usr/$(get_libdir) \ + QMAKE=/usr/bin/qmake \ + QMAKE_CC=$(tc-getCC) \ + QMAKE_CXX=$(tc-getCXX) \ + QMAKE_LINK=$(tc-getCXX) \ + QMAKE_CFLAGS_RELEASE="${CFLAGS}" \ + QMAKE_CFLAGS_DEBUG="${CFLAGS}" \ + QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}" \ + QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS}" \ + QMAKE_LFLAGS_RELEASE="${LDFLAGS}" \ + QMAKE_LFLAGS_DEBUG="${LDFLAGS}" \ + QMAKE_RPATH= \ + ${@} >> ${LOGFILE} 2>&1 + + local result=$? + eend ${result} + + # was qmake successful? + if [ ${result} -ne 0 ]; then + echo + eerror "Running qmake on \"${projprofile}\" has failed" + echo + eerror "This shouldn't happen - please send a bug report to bugs.gentoo.org" + echo + die "qmake failed on ${projprofile}" + fi + + return ${result} +} + +EXPORT_FUNCTIONS pkg_setup |