1 | # Copyright 1999-2009 Gentoo Foundation |
1 | # Copyright 1999-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.81 2010/08/14 18:00:38 hwoarang Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.86 2010/11/13 20:30:26 wired 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>, |
… | |
… | |
15 | inherit base eutils multilib toolchain-funcs flag-o-matic versionator |
15 | inherit base eutils multilib toolchain-funcs flag-o-matic versionator |
16 | |
16 | |
17 | MY_PV=${PV/_/-} |
17 | MY_PV=${PV/_/-} |
18 | if version_is_at_least 4.5.99999999; then |
18 | if 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 ]] && IUSE="+exceptions" |
20 | [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] && |
|
|
21 | [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] && |
|
|
22 | IUSE="+exceptions" |
21 | else |
23 | else |
22 | MY_P=qt-x11-opensource-src-${MY_PV} |
24 | MY_P=qt-x11-opensource-src-${MY_PV} |
23 | fi |
25 | fi |
24 | |
26 | |
25 | HOMEPAGE="http://qt.nokia.com/" |
27 | HOMEPAGE="http://qt.nokia.com/" |
26 | SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz" |
28 | SRC_URI="http://get.qt.nokia.com/qt/source/${MY_P}.tar.gz" |
27 | |
29 | |
28 | LICENSE="|| ( LGPL-2.1 GPL-3 )" |
30 | LICENSE="|| ( LGPL-2.1 GPL-3 )" |
|
|
31 | IUSE+=" debug" |
|
|
32 | [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] && |
29 | IUSE+=" debug pch aqua" |
33 | IUSE+=" pch aqua" |
30 | |
34 | |
31 | RDEPEND=" |
35 | RDEPEND=" |
32 | !<x11-libs/qt-assistant-${PV} |
36 | !<x11-libs/qt-assistant-${PV} |
33 | !>x11-libs/qt-assistant-${PV}-r9999 |
37 | !>x11-libs/qt-assistant-${PV}-r9999 |
34 | !<x11-libs/qt-core-${PV} |
38 | !<x11-libs/qt-core-${PV} |
… | |
… | |
194 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
198 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
195 | # qmake bus errors with -O2 but -O3 works |
199 | # qmake bus errors with -O2 but -O3 works |
196 | replace-flags -O2 -O3 |
200 | replace-flags -O2 -O3 |
197 | fi |
201 | fi |
198 | |
202 | |
199 | if [[ ${CHOST} == arm* ]] ; then |
|
|
200 | # Fails on arm with -Os, bug 331641 |
|
|
201 | # This can be removed once qt-4.7 is stable or the bug on gcc is fixed |
|
|
202 | replace-flags -Os -O2 |
|
|
203 | fi |
|
|
204 | |
|
|
205 | # Bug 178652 |
203 | # Bug 178652 |
206 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
204 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
207 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
205 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
208 | append-flags -fno-gcse |
206 | append-flags -fno-gcse |
209 | fi |
207 | fi |
… | |
… | |
228 | -i configure || die "sed qmake compilers failed" |
226 | -i configure || die "sed qmake compilers failed" |
229 | # bug 321335 |
227 | # bug 321335 |
230 | if version_is_at_least 4.6; then |
228 | if version_is_at_least 4.6; then |
231 | find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \ |
229 | find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \ |
232 | xargs -0 \ |
230 | xargs -0 \ |
233 | sed -e "s:\(\$MAKE\):\1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getCXX)" "LINK=$(tc-getCXX)":g" \ |
231 | sed -e "s:\(\$MAKE\):\1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getCXX)" LINK="$(tc-getCXX)":g" \ |
234 | -i || die "sed test compilers failed" |
232 | -i || die "sed test compilers failed" |
235 | fi |
233 | fi |
236 | |
234 | |
237 | # Bug 172219 |
235 | # Bug 172219 |
238 | sed -e "s:X11R6/::" \ |
236 | sed -e "s:X11R6/::" \ |
… | |
… | |
287 | sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die |
285 | sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die |
288 | # don't flirt with non-Prefix stuff, we're quite possessive |
286 | # don't flirt with non-Prefix stuff, we're quite possessive |
289 | sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ |
287 | sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ |
290 | mkspecs/$(qt_mkspecs_dir)/qmake.conf || die |
288 | mkspecs/$(qt_mkspecs_dir)/qmake.conf || die |
291 | # strip predefined CFLAGS from qmake ( bug #312689 ) |
289 | # strip predefined CFLAGS from qmake ( bug #312689 ) |
292 | sed -i '/^QMAKE_CFLAGS_\(RELEASE\|DEBUG\)/s:+=.*:+=:' mkspecs/common/g++.conf |
290 | sed -i '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf |
293 | |
291 | |
294 | base_src_prepare |
292 | base_src_prepare |
295 | } |
293 | } |
296 | |
294 | |
297 | # @FUNCTION: qt4-build_src_configure |
295 | # @FUNCTION: qt4-build_src_configure |
… | |
… | |
333 | fi |
331 | fi |
334 | else |
332 | else |
335 | # freetype2 include dir is non-standard, thus include it on configure |
333 | # freetype2 include dir is non-standard, thus include it on configure |
336 | # use -I from configure |
334 | # use -I from configure |
337 | myconf+=" $(pkg-config --cflags freetype2)" |
335 | myconf+=" $(pkg-config --cflags freetype2)" |
|
|
336 | fi |
|
|
337 | |
|
|
338 | # Disable SSE4.x, since auto-detection is currently broken |
|
|
339 | # Upstream bug http://bugreports.qt.nokia.com/browse/QTBUG-13623 |
|
|
340 | if version_is_at_least 4.7.1; then |
|
|
341 | myconf+=" -no-sse4.1 -no-sse4.2" |
338 | fi |
342 | fi |
339 | |
343 | |
340 | echo ./configure ${myconf} |
344 | echo ./configure ${myconf} |
341 | ./configure ${myconf} || die "./configure failed" |
345 | ./configure ${myconf} || die "./configure failed" |
342 | myconf="" |
346 | myconf="" |