/[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.48 Revision 1.54
1# Copyright 2007-2009 Gentoo Foundation 1# Copyright 2007-2009 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.48 2009/10/16 15:02:15 wired Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.54 2009/12/06 09:34:36 hwoarang 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>,
101 if ! version_is_at_least 4.1 $(gcc-version) ; then 101 if ! version_is_at_least 4.1 $(gcc-version) ; then
102 ewarn "Using a GCC version lower than 4.1 is not supported!" 102 ewarn "Using a GCC version lower than 4.1 is not supported!"
103 echo 103 echo
104 ebeep 3 104 ebeep 3
105 fi 105 fi
106
107 if [[ "${P}" == "qt-core-4.6.0_rc1" ]]; then
108 ewarn
109 ewarn "Binary compatibility broke between 4.6.0_beta1 and 4.6.0_rc1."
110 ewarn "If you are upgrading from 4.6.0_beta1, you'll have to"
111 ewarn "re-emerge everything that depends on Qt."
112 ewarn "Use the following command:"
113 ewarn
114 ewarn " emerge -av1 \$(for i in \$(qlist -IC x11-libs/qt-);"
115 ewarn " do equery -q d \$i | grep -v 'x11-libs/qt-' |"
116 ewarn " sed \"s/^/=/\"; done)"
117 ewarn
118 ewarn "YOU'VE BEEN WARNED"
119 ewarn
120 ebeep 3
121 fi
122
106} 123}
107 124
108# @ECLASS-VARIABLE: QT4_TARGET_DIRECTORIES 125# @ECLASS-VARIABLE: QT4_TARGET_DIRECTORIES
109# @DESCRIPTION: 126# @DESCRIPTION:
110# Arguments for build_target_directories. Takes the directories, in which the 127# Arguments for build_target_directories. Takes the directories, in which the
176 skip_qmake_build_patch 193 skip_qmake_build_patch
177 skip_project_generation_patch 194 skip_project_generation_patch
178 symlink_binaries_to_buildtree 195 symlink_binaries_to_buildtree
179 fi 196 fi
180 197
198 # Bug 282984 && Bug 295530
199 sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\n\1:" \
200 -i configure || die "sed qmake compilers failed"
201 sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX):" \
202 -i config.tests/unix/compile.test || die "sed test compilers failed"
203
181 # Bug 178652 204 # Bug 178652
182 if [[ "$(gcc-major-version)" == "3" ]] && use amd64; then 205 if [[ "$(gcc-major-version)" == "3" ]] && use amd64; then
183 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" 206 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
184 append-flags -fno-gcse 207 append-flags -fno-gcse
185 fi 208 fi
189 ewarn "Appending -fno-stack-protector to CXXFLAGS" 212 ewarn "Appending -fno-stack-protector to CXXFLAGS"
190 append-cxxflags -fno-stack-protector 213 append-cxxflags -fno-stack-protector
191 # Bug 253127 214 # Bug 253127
192 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \ 215 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \
193 -i "${S}"/mkspecs/common/g++.conf || die "sed ${S}/mkspecs/common/g++.conf failed" 216 -i "${S}"/mkspecs/common/g++.conf || die "sed ${S}/mkspecs/common/g++.conf failed"
217 fi
218
219 # Bug 261632
220 if use ppc64; then
221 ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS"
222 append-flags -mminimal-toc
194 fi 223 fi
195 224
196 # Bug 172219 225 # Bug 172219
197 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ 226 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
198 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ 227 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
314 *) 343 *)
315 [[ ${PN} == "qt-xmlpatterns" ]] || exceptions="-no-exceptions" 344 [[ ${PN} == "qt-xmlpatterns" ]] || exceptions="-no-exceptions"
316 ;; 345 ;;
317 esac 346 esac
318 347
319 myconf="${myconf} -platform $(qt_mkspecs_dir) -stl -verbose -largefile -confirm-license -no-rpath 348 myconf="${myconf} -platform $(qt_mkspecs_dir) -stl -verbose -largefile -confirm-license
320 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} 349 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
321 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} 350 -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR}
322 -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR} 351 -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR}
323 -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR} 352 -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR}
324 -demosdir ${QTDEMOSDIR} -silent -fast 353 -demosdir ${QTDEMOSDIR} -silent -fast
467# @FUNCTION: qt4-build_pkg_postinst 496# @FUNCTION: qt4-build_pkg_postinst
468# @DESCRIPTION: Generate configuration, plus throws a message about possible 497# @DESCRIPTION: Generate configuration, plus throws a message about possible
469# breakages and proposed solutions. 498# breakages and proposed solutions.
470qt4-build_pkg_postinst() { 499qt4-build_pkg_postinst() {
471 generate_qconfigs 500 generate_qconfigs
501
502 if [[ "${PN}" == "qt-core" ]]; then
472 echo 503 echo
473 ewarn "After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt" 504 ewarn "After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt"
474 ewarn "and KDE styles and widgets) can no longer be loaded. In this situation you" 505 ewarn "and KDE styles and widgets) can no longer be loaded. In this situation you"
475 ewarn "should recompile the packages providing these plugins. Also, make sure you" 506 ewarn "should recompile the packages providing these plugins. Also, make sure you"
476 ewarn "compile the Qt packages, and the packages that depend on it, with the same" 507 ewarn "compile the Qt packages, and the packages that depend on it, with the same"
477 ewarn "GCC version and the same USE flag settings (especially the debug flag)." 508 ewarn "GCC version and the same USE flag settings (especially the debug flag)."
478 ewarn 509 ewarn
479 ewarn "Packages that typically need to be recompiled are kdelibs from KDE4, any" 510 ewarn "Packages that typically need to be recompiled are kdelibs from KDE4, any"
480 ewarn "additional KDE4/Qt4 styles, qscintilla and PyQt4. Before filing a bug report," 511 ewarn "additional KDE4/Qt4 styles, qscintilla and PyQt4. Before filing a bug report,"
481 ewarn "make sure all your Qt4 packages are up-to-date and built with the same" 512 ewarn "make sure all your Qt4 packages are up-to-date and built with the same"
482 ewarn "configuration." 513 ewarn "configuration."
483 ewarn 514 ewarn
484 ewarn "For more information, see http://doc.trolltech.com/${PV%.*}/plugins-howto.html" 515 ewarn "For more information, see http://doc.trolltech.com/${PV%.*}/plugins-howto.html"
485 echo 516 echo
517 fi
486} 518}
487 519
488# @FUNCTION: skip_qmake_build_patch 520# @FUNCTION: skip_qmake_build_patch
489# @DESCRIPTION: 521# @DESCRIPTION:
490# Don't need to build qmake, as it's already installed from qt-core 522# Don't need to build qmake, as it's already installed from qt-core

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.54

  ViewVC Help
Powered by ViewVC 1.1.20