/[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.81 Revision 1.89
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.89 2011/03/03 21:39:29 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>,
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 ]] && IUSE="+exceptions" 20 [[ ${CATEGORY}/${PN} != x11-libs/qt-xmlpatterns ]] &&
21 [[ ${CATEGORY}/${PN} != x11-themes/qgtkstyle ]] &&
22 IUSE="+exceptions"
21else 23else
22 MY_P=qt-x11-opensource-src-${MY_PV} 24 MY_P=qt-x11-opensource-src-${MY_PV}
23fi 25fi
24 26
25HOMEPAGE="http://qt.nokia.com/" 27HOMEPAGE="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/::" \
287 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die 283 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die
288 # don't flirt with non-Prefix stuff, we're quite possessive 284 # don't flirt with non-Prefix stuff, we're quite possessive
289 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ 285 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \
290 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 286 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
291 # strip predefined CFLAGS from qmake ( bug #312689 ) 287 # strip predefined CFLAGS from qmake ( bug #312689 )
292 sed -i '/^QMAKE_CFLAGS_\(RELEASE\|DEBUG\)/s:+=.*:+=:' mkspecs/common/g++.conf 288 sed -i '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf
293 289
294 base_src_prepare 290 base_src_prepare
295} 291}
296 292
297# @FUNCTION: qt4-build_src_configure 293# @FUNCTION: qt4-build_src_configure
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)"
338 fi 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 [[ ${PV} == "4.7.1" ]] && myconf+=" -no-sse4.1 -no-sse4.2"
339 339
340 echo ./configure ${myconf} 340 echo ./configure ${myconf}
341 ./configure ${myconf} || die "./configure failed" 341 ./configure ${myconf} || die "./configure failed"
342 myconf="" 342 myconf=""
343} 343}

Legend:
Removed from v.1.81  
changed lines
  Added in v.1.89

  ViewVC Help
Powered by ViewVC 1.1.20