| 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.83 2010/09/05 09:25:08 hwoarang Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.88 2011/01/20 23:08:09 spatz 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/" |
| … | |
… | |
| 194 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
196 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
| 195 | # qmake bus errors with -O2 but -O3 works |
197 | # qmake bus errors with -O2 but -O3 works |
| 196 | replace-flags -O2 -O3 |
198 | replace-flags -O2 -O3 |
| 197 | fi |
199 | fi |
| 198 | |
200 | |
| 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 |
201 | # Bug 178652 |
| 206 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
202 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
| 207 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
203 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
| 208 | append-flags -fno-gcse |
204 | append-flags -fno-gcse |
| 209 | fi |
205 | fi |
| … | |
… | |
| 222 | ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" |
218 | ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" |
| 223 | append-flags -mminimal-toc |
219 | append-flags -mminimal-toc |
| 224 | fi |
220 | fi |
| 225 | |
221 | |
| 226 | # Bug 282984 && Bug 295530 |
222 | # Bug 282984 && Bug 295530 |
| 227 | sed -e "s:\(^SYSTEM_VARIABLES\):CC="$(tc-getCC)"\nCXX="$(tc-getCXX)"\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \ |
223 | sed -e "s:\(^SYSTEM_VARIABLES\):CC=\"$(tc-getCC)\"\nCXX=\"$(tc-getCXX)\"\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \ |
| 228 | -i configure || die "sed qmake compilers failed" |
224 | -i configure || die "sed qmake compilers failed" |
| 229 | # bug 321335 |
225 | # bug 321335 |
| 230 | if version_is_at_least 4.6; then |
226 | if version_is_at_least 4.6; then |
| 231 | find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \ |
227 | find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \ |
| 232 | xargs -0 \ |
228 | xargs -0 \ |
| 233 | sed -e "s:\(\$MAKE\):\1 CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getCXX)" LINK="$(tc-getCXX)":g" \ |
229 | 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" |
230 | -i || die "sed test compilers failed" |
| 235 | fi |
231 | fi |
| 236 | |
232 | |
| 237 | # Bug 172219 |
233 | # Bug 172219 |
| 238 | sed -e "s:X11R6/::" \ |
234 | sed -e "s:X11R6/::" \ |
| … | |
… | |
| 333 | fi |
329 | fi |
| 334 | else |
330 | else |
| 335 | # freetype2 include dir is non-standard, thus include it on configure |
331 | # freetype2 include dir is non-standard, thus include it on configure |
| 336 | # use -I from configure |
332 | # use -I from configure |
| 337 | myconf+=" $(pkg-config --cflags freetype2)" |
333 | myconf+=" $(pkg-config --cflags freetype2)" |
|
|
334 | fi |
|
|
335 | |
|
|
336 | # Disable SSE4.x, since auto-detection is currently broken |
|
|
337 | # Upstream bug http://bugreports.qt.nokia.com/browse/QTBUG-13623 |
|
|
338 | if version_is_at_least 4.7.1; then |
|
|
339 | myconf+=" -no-sse4.1 -no-sse4.2" |
| 338 | fi |
340 | fi |
| 339 | |
341 | |
| 340 | echo ./configure ${myconf} |
342 | echo ./configure ${myconf} |
| 341 | ./configure ${myconf} || die "./configure failed" |
343 | ./configure ${myconf} || die "./configure failed" |
| 342 | myconf="" |
344 | myconf="" |