/[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.111 Revision 1.120
1# Copyright 1999-2011 Gentoo Foundation 1# Copyright 1999-2012 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.111 2011/12/27 16:04:27 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.120 2012/02/28 18:53:45 pesa Exp $
4 4
5# @ECLASS: qt4-build.eclass 5# @ECLASS: qt4-build.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Qt herd <qt@gentoo.org> 7# Qt herd <qt@gentoo.org>
8# @BLURB: Eclass for Qt4 split ebuilds. 8# @BLURB: Eclass for Qt4 split ebuilds.
44 !>x11-libs/qt-gui-${PV}-r9999 44 !>x11-libs/qt-gui-${PV}-r9999
45 !<x11-libs/qt-multimedia-${PV} 45 !<x11-libs/qt-multimedia-${PV}
46 !>x11-libs/qt-multimedia-${PV}-r9999 46 !>x11-libs/qt-multimedia-${PV}-r9999
47 !<x11-libs/qt-opengl-${PV} 47 !<x11-libs/qt-opengl-${PV}
48 !>x11-libs/qt-opengl-${PV}-r9999 48 !>x11-libs/qt-opengl-${PV}-r9999
49 !<x11-libs/qt-openvg-${PV}
50 !>x11-libs/qt-openvg-${PV}-r9999
49 !<x11-libs/qt-phonon-${PV} 51 !<x11-libs/qt-phonon-${PV}
50 !>x11-libs/qt-phonon-${PV}-r9999 52 !>x11-libs/qt-phonon-${PV}-r9999
51 !<x11-libs/qt-qt3support-${PV} 53 !<x11-libs/qt-qt3support-${PV}
52 !>x11-libs/qt-qt3support-${PV}-r9999 54 !>x11-libs/qt-qt3support-${PV}-r9999
53 !<x11-libs/qt-script-${PV} 55 !<x11-libs/qt-script-${PV}
109 QT4_EXTRACT_DIRECTORIES="src/gui/kernel/qapplication_mac.mm 111 QT4_EXTRACT_DIRECTORIES="src/gui/kernel/qapplication_mac.mm
110 ${QT4_EXTRACT_DIRECTORIES}" 112 ${QT4_EXTRACT_DIRECTORIES}"
111 fi 113 fi
112 114
113 # Make sure ebuilds use the required EAPI 115 # Make sure ebuilds use the required EAPI
114 if [[ ${EAPI} != [23] ]]; then 116 if [[ ${EAPI} != [234] ]]; then
115 eerror "The qt4-build eclass requires EAPI=2 or EAPI=3, but this ebuild is using" 117 eerror "The qt4-build eclass requires EAPI 2,3 or 4 but this ebuild is using"
116 eerror "EAPI=${EAPI:-0}. The ebuild author or editor failed. This ebuild needs to be" 118 eerror "EAPI=${EAPI:-0}. The ebuild author or editor failed. This ebuild needs to be"
117 eerror "fixed. Using qt4-build eclass without EAPI=2 or EAPI=3 will fail." 119 eerror "fixed. Using qt4-build eclass without EAPI 2,3 or 4 will fail."
118 die "qt4-build eclass requires EAPI=2 or EAPI=3" 120 die "qt4-build eclass requires EAPI 2,3 or 4"
119 fi 121 fi
120 122
121 if ! version_is_at_least 4.1 $(gcc-version); then 123 if ! version_is_at_least 4.1 $(gcc-version); then
122 ewarn "Using a GCC version lower than 4.1 is not supported!" 124 ewarn "Using a GCC version lower than 4.1 is not supported!"
123 fi 125 fi
136# @FUNCTION: qt4-build_src_unpack 138# @FUNCTION: qt4-build_src_unpack
137# @DESCRIPTION: 139# @DESCRIPTION:
138# Unpacks the sources. 140# Unpacks the sources.
139qt4-build_src_unpack() { 141qt4-build_src_unpack() {
140 setqtenv 142 setqtenv
141 local target targets= 143
144 local tarball="${MY_P}.tar.gz" target= targets=
142 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \ 145 for target in configure LICENSE.GPL3 LICENSE.LGPL projects.pro \
143 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \ 146 src/{qbase,qt_targets,qt_install}.pri bin config.tests \
144 ${QT4_EXTRACT_DIRECTORIES}; do 147 mkspecs qmake ${QT4_EXTRACT_DIRECTORIES}
148 do
145 targets+=" ${MY_P}/${target}" 149 targets+="${MY_P}/${target} "
146 done 150 done
147 151
152 ebegin "Unpacking parts of ${tarball}:" ${targets//${MY_P}\/}
148 echo tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 153 tar -xzf "${DISTDIR}/${tarball}" ${targets}
149 tar xzf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die 154 eend $? || die "failed to unpack"
150} 155}
151 156
152# @ECLASS-VARIABLE: PATCHES 157# @ECLASS-VARIABLE: PATCHES
153# @DEFAULT_UNSET 158# @DEFAULT_UNSET
154# @DESCRIPTION: 159# @DESCRIPTION:
191 skip_qmake_build 196 skip_qmake_build
192 skip_project_generation 197 skip_project_generation
193 symlink_binaries_to_buildtree 198 symlink_binaries_to_buildtree
194 fi 199 fi
195 200
196 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then 201 if [[ ${CHOST} == *86*-apple-darwin* ]]; then
197 # qmake bus errors with -O2 but -O3 works 202 # qmake bus errors with -O2 but -O3 works
198 replace-flags -O2 -O3 203 replace-flags -O2 -O3
199 fi 204 fi
200 205
201 # Bug 178652 206 # Bug 178652
212 ewarn "disabled." 217 ewarn "disabled."
213 append-flags -std=c++0x 218 append-flags -std=c++0x
214 fi 219 fi
215 220
216 # Unsupported old gcc versions - hardened needs this :( 221 # Unsupported old gcc versions - hardened needs this :(
217 if [[ $(gcc-major-version) -lt 4 ]] ; then 222 if [[ $(gcc-major-version) -lt 4 ]]; then
218 ewarn "Appending -fno-stack-protector to CXXFLAGS" 223 ewarn "Appending -fno-stack-protector to CXXFLAGS"
219 append-cxxflags -fno-stack-protector 224 append-cxxflags -fno-stack-protector
220 # Bug 253127 225 # Bug 253127
221 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \ 226 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \
222 -i mkspecs/common/g++.conf || die 227 -i mkspecs/common/g++.conf || die
233 CC='$(tc-getCC)'\n\ 238 CC='$(tc-getCC)'\n\
234 CXX='$(tc-getCXX)'\n\ 239 CXX='$(tc-getCXX)'\n\
235 CFLAGS='${CFLAGS}'\n\ 240 CFLAGS='${CFLAGS}'\n\
236 CXXFLAGS='${CXXFLAGS}'\n\ 241 CXXFLAGS='${CXXFLAGS}'\n\
237 LDFLAGS='${LDFLAGS}'\n" \ 242 LDFLAGS='${LDFLAGS}'\n" \
243 -i configure \
238 -i configure || die "sed SYSTEM_VARIABLES failed" 244 || die "sed SYSTEM_VARIABLES failed"
239 245
240 # Bug 321335 246 # Respect CC, CXX, LINK and *FLAGS in config.tests
241 find config.tests/unix -name '*.test' -type f -exec grep -lZ \$MAKE '{}' \; | xargs -0 \ 247 find config.tests/unix -name '*.test' -type f -print0 | xargs -0 \
242 sed -e "s:\(\$MAKE\):\1 CC='$(tc-getCC)' CXX='$(tc-getCXX)' LINK='$(tc-getCXX)':g" \ 248 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \
243 -i || die "sed test compilers failed" 249 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \
250 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \
251 || die "sed config.tests failed"
252
253 # Strip predefined CFLAGS from mkspecs (bug 312689)
254 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf || die
244 255
245 # Bug 172219 256 # Bug 172219
246 sed -e "s:X11R6/::" -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 257 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
247 258
248 if [[ ${CHOST} == *-darwin* ]]; then 259 if [[ ${CHOST} == *-darwin* ]]; then
249 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib 260 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib
250 # crippled (by design) :/ 261 # crippled (by design) :/
262 sed \
251 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ 263 -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
252 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ 264 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
253 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \ 265 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \
254 -e "s:-arch\s\w*::g" \ 266 -e "s:-arch\s\w*::g" \
255 -i mkspecs/common/mac-g++.conf || die "sed mkspecs/common/mac-g++.conf failed" 267 -i mkspecs/common/mac-g++.conf \
268 || die "sed mkspecs/common/mac-g++.conf failed"
256 269
257 # Fix configure's -arch settings that appear in qmake/Makefile and also 270 # Fix configure's -arch settings that appear in qmake/Makefile and also
258 # fix arch handling (automagically duplicates our -arch arg and breaks 271 # fix arch handling (automagically duplicates our -arch arg and breaks
259 # pch). Additionally disable Xarch support. 272 # pch). Additionally disable Xarch support.
260 sed \ 273 sed \
265 -e "s:-arch \$i::" \ 278 -e "s:-arch \$i::" \
266 -e "/if \[ ! -z \"\$NATIVE_64_ARCH\" \]; then/,/fi/ d" \ 279 -e "/if \[ ! -z \"\$NATIVE_64_ARCH\" \]; then/,/fi/ d" \
267 -e "s:CFG_MAC_XARCH=yes:CFG_MAC_XARCH=no:g" \ 280 -e "s:CFG_MAC_XARCH=yes:CFG_MAC_XARCH=no:g" \
268 -e "s:-Xarch_x86_64::g" \ 281 -e "s:-Xarch_x86_64::g" \
269 -e "s:-Xarch_ppc64::g" \ 282 -e "s:-Xarch_ppc64::g" \
270 -i configure mkspecs/common/mac-g++.conf || die "sed -arch/-Xarch failed" 283 -i configure mkspecs/common/mac-g++.conf \
284 || die "sed -arch/-Xarch failed"
271 285
272 # On Snow Leopard don't fall back to 10.5 deployment target. 286 # On Snow Leopard don't fall back to 10.5 deployment target.
273 if [[ ${CHOST} == *-apple-darwin10 ]] ; then 287 if [[ ${CHOST} == *-apple-darwin10 ]]; then
274 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \ 288 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \
275 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \ 289 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \
276 -i configure mkspecs/common/mac-g++.conf || die "sed deployment target failed" 290 -i configure mkspecs/common/mac-g++.conf \
291 || die "sed deployment target failed"
277 fi 292 fi
278 fi 293 fi
279 294
280 # this one is needed for all systems with a separate -liconv, apart from 295 # this one is needed for all systems with a separate -liconv, apart from
281 # Darwin, for which the sources already cater for -liconv 296 # Darwin, for which the sources already cater for -liconv
282 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] ; then 297 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]]; then
283 sed \ 298 sed -e 's|mac:\(LIBS += -liconv\)|\1|g' \
284 -e "s|mac:LIBS += -liconv|LIBS += -liconv|g" \
285 -i config.tests/unix/iconv/iconv.pro \ 299 -i config.tests/unix/iconv/iconv.pro \
286 || die "sed on iconv.pro failed" 300 || die "sed iconv.pro failed"
287 fi 301 fi
288 302
289 # we need some patches for Solaris 303 # we need some patches for Solaris
290 sed -i \
291 -e '/^QMAKE_LFLAGS_THREAD/a\QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,' \ 304 sed -i -e '/^QMAKE_LFLAGS_THREAD/a\QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,' \
292 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 305 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
293 # use GCC over SunStudio 306 # use GCC over SunStudio
294 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die 307 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die
295 # don't flirt with non-Prefix stuff, we're quite possessive 308 # do not flirt with non-Prefix stuff, we're quite possessive
296 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ 309 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \
297 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 310 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
298 # strip predefined CFLAGS from qmake ( bug #312689 )
299 sed -i '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf
300 311
301 base_src_prepare 312 base_src_prepare
302} 313}
303 314
304# @FUNCTION: qt4-build_src_configure 315# @FUNCTION: qt4-build_src_configure
308 setqtenv 319 setqtenv
309 myconf="$(standard_configure_options) ${myconf}" 320 myconf="$(standard_configure_options) ${myconf}"
310 321
311 # this one is needed for all systems with a separate -liconv, apart from 322 # this one is needed for all systems with a separate -liconv, apart from
312 # Darwin, for which the sources already cater for -liconv 323 # Darwin, for which the sources already cater for -liconv
313 use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] && \ 324 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]]; then
314 myconf+=" -liconv" 325 myconf+=" -liconv"
326 fi
315 327
316 if use_if_iuse glib; then 328 if use_if_iuse glib; then
317 # use -I, -L and -l from configure
318 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)" 329 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)"
319 # avoid the -pthread argument 330 # avoid the -pthread argument
320 myconf+=" ${glibflags//-pthread}" 331 myconf+=" ${glibflags//-pthread}"
321 unset glibflags 332 unset glibflags
322 fi 333 fi
328 ewarn "disable it before reporting any bugs related to this useflag." 339 ewarn "disable it before reporting any bugs related to this useflag."
329 ewarn 340 ewarn
330 myconf+=" -qpa" 341 myconf+=" -qpa"
331 fi 342 fi
332 343
333 if use aqua ; then 344 if use aqua; then
334 # On (snow) leopard use the new (frameworked) cocoa code. 345 # On (snow) leopard use the new (frameworked) cocoa code.
335 if [[ ${CHOST##*-darwin} -ge 9 ]] ; then 346 if [[ ${CHOST##*-darwin} -ge 9 ]]; then
336 myconf+=" -cocoa -framework" 347 myconf+=" -cocoa -framework"
348 # We need the source's headers, not the installed ones.
349 myconf+=" -I${S}/include"
350 # Add hint for the framework location.
351 myconf+=" -F${QTLIBDIR}"
337 352
338 # We are crazy and build cocoa + qt3support :-) 353 # We are crazy and build cocoa + qt3support :-)
339 if use qt3support; then 354 if use qt3support; then
340 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \ 355 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \
341 -i configure 356 -i configure || die
342 fi 357 fi
343 358 else
344 # We need the source's headers, not the installed ones. 359 myconf+=" -no-framework"
345 myconf+=" -I${S}/include"
346
347 # Add hint for the framework location.
348 myconf+=" -F${QTLIBDIR}"
349 fi 360 fi
350 else 361 else
351 # freetype2 include dir is non-standard, thus include it on configure 362 # freetype2 include dir is non-standard, thus include it on configure
352 # use -I from configure 363 # use -I from configure
353 myconf+=" $(pkg-config --cflags freetype2)" 364 myconf+=" $(pkg-config --cflags freetype2)"
371 382
372# @FUNCTION: qt4-build_src_test 383# @FUNCTION: qt4-build_src_test
373# @DESCRIPTION: 384# @DESCRIPTION:
374# Runs tests only in target directories. 385# Runs tests only in target directories.
375qt4-build_src_test() { 386qt4-build_src_test() {
387 # QtMultimedia does not have any test suite (bug #332299)
388 [[ ${PN} == "qt-multimedia" ]] && return
389
376 for dir in ${QT4_TARGET_DIRECTORIES}; do 390 for dir in ${QT4_TARGET_DIRECTORIES}; do
377 emake -j1 check -C ${dir} 391 emake -j1 check -C ${dir}
378 done 392 done
379} 393}
380 394
381# @FUNCTION: fix_includes 395# @FUNCTION: fix_includes
382# @DESCRIPTION: 396# @DESCRIPTION:
383# For MacOS X we need to add some symlinks when frameworks are 397# For MacOS X we need to add some symlinks when frameworks are
384# being used, to avoid complications with some more or less stupid packages. 398# being used, to avoid complications with some more or less stupid packages.
385fix_includes() { 399fix_includes() {
386 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then 400 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then
387 # Some packages tend to include <Qt/...> 401 # Some packages tend to include <Qt/...>
388 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt 402 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt
389 403
390 # Fake normal headers when frameworks are installed... eases life later on 404 # Fake normal headers when frameworks are installed... eases life later on
391 local dest f 405 local dest f h
392 for frw in "${D}${QTLIBDIR}"/*.framework; do 406 for frw in "${D}${QTLIBDIR}"/*.framework; do
393 [[ -e "${frw}"/Headers ]] || continue 407 [[ -e "${frw}"/Headers ]] || continue
394 f=$(basename ${frw}) 408 f=$(basename ${frw})
395 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework} 409 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework}
396 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers "${dest}" 410 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers "${dest}"
415 install_qconfigs 429 install_qconfigs
416 fix_library_files 430 fix_library_files
417 fix_includes 431 fix_includes
418 432
419 # remove .la files since we are building only shared Qt libraries 433 # remove .la files since we are building only shared Qt libraries
420 find "${D}"${QTLIBDIR} -name "*.la" -print0 | xargs -0 rm 434 find "${D}"${QTLIBDIR} -type f -name '*.la' -print0 | xargs -0 rm -f
421} 435}
422 436
423# @FUNCTION: setqtenv 437# @FUNCTION: setqtenv
424# @INTERNAL 438# @INTERNAL
425setqtenv() { 439setqtenv() {
449# @INTERNAL 463# @INTERNAL
450# @DESCRIPTION: 464# @DESCRIPTION:
451# Sets up some standard configure options, like libdir (if necessary), whether 465# Sets up some standard configure options, like libdir (if necessary), whether
452# debug info is wanted or not. 466# debug info is wanted or not.
453standard_configure_options() { 467standard_configure_options() {
468 local myconf="
454 local myconf="-prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR} 469 -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
455 -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} -plugindir ${QTPLUGINDIR} 470 -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} -plugindir ${QTPLUGINDIR}
456 -importdir ${QTIMPORTDIR} -datadir ${QTDATADIR} -translationdir ${QTTRANSDIR} 471 $(version_is_at_least 4.7 && echo -importdir ${QTIMPORTDIR})
472 -datadir ${QTDATADIR} -translationdir ${QTTRANSDIR} -sysconfdir ${QTSYSCONFDIR}
457 -sysconfdir ${QTSYSCONFDIR} -examplesdir ${QTEXAMPLESDIR} -demosdir ${QTDEMOSDIR} 473 -examplesdir ${QTEXAMPLESDIR} -demosdir ${QTDEMOSDIR}
458 -opensource -confirm-license -shared -fast -largefile -stl -verbose 474 -opensource -confirm-license -shared -fast -largefile -stl -verbose
459 -platform $(qt_mkspecs_dir) -nomake examples -nomake demos" 475 -platform $(qt_mkspecs_dir) -nomake examples -nomake demos"
460 476
461 [[ $(get_libdir) != lib ]] && myconf+=" -L${EPREFIX}/usr/$(get_libdir)" 477 [[ $(get_libdir) != lib ]] && myconf+=" -L${EPREFIX}/usr/$(get_libdir)"
462 478
467 myconf+=" -release" 483 myconf+=" -release"
468 fi 484 fi
469 myconf+=" -no-separate-debug-info" 485 myconf+=" -no-separate-debug-info"
470 486
471 # exceptions USE flag 487 # exceptions USE flag
472 local exceptions="-exceptions" 488 myconf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)"
473 in_iuse exceptions && exceptions="$(qt_use exceptions)"
474 myconf+=" ${exceptions}"
475 489
476 # disable RPATH on Qt >= 4.8 (bug 380415) 490 # disable RPATH on Qt >= 4.8 (bug 380415)
477 version_is_at_least 4.8 && myconf+=" -no-rpath" 491 version_is_at_least 4.8 && myconf+=" -no-rpath"
478 492
479 # precompiled headers don't work on hardened, where the flag is masked 493 # precompiled headers don't work on hardened, where the flag is masked
483 # This flag seems to introduce major breakage to applications, 497 # This flag seems to introduce major breakage to applications,
484 # mostly to be seen as a core dump with the message "QPixmap: Must 498 # mostly to be seen as a core dump with the message "QPixmap: Must
485 # construct a QApplication before a QPaintDevice" on Solaris. 499 # construct a QApplication before a QPaintDevice" on Solaris.
486 # -- Daniel Vergien 500 # -- Daniel Vergien
487 [[ ${CHOST} != *-solaris* ]] && myconf+=" -reduce-relocations" 501 [[ ${CHOST} != *-solaris* ]] && myconf+=" -reduce-relocations"
488
489 use aqua && myconf+=" -no-framework"
490 502
491 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported 503 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
492 # $(tc-arch). Therefore we convert it to supported values. 504 # $(tc-arch). Therefore we convert it to supported values.
493 case "$(tc-arch)" in 505 case "$(tc-arch)" in
494 amd64|x64-*) myconf+=" -arch x86_64" ;; 506 amd64|x64-*) myconf+=" -arch x86_64" ;;
770 elif [[ ${CXX} == *icpc* ]]; then 782 elif [[ ${CXX} == *icpc* ]]; then
771 spec+=-icc 783 spec+=-icc
772 else 784 else
773 die "Unknown compiler '${CXX}'" 785 die "Unknown compiler '${CXX}'"
774 fi 786 fi
775 if [[ -n ${LIBDIR/lib} ]]; then
776 spec+=-${LIBDIR/lib}
777 fi
778 787
779 # Add -64 for 64bit profiles 788 # Add -64 for 64bit profiles
780 if use x64-freebsd || 789 if use x64-freebsd ||
781 use amd64-linux || 790 use amd64-linux ||
782 use x64-macos || 791 use x64-macos ||

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.120

  ViewVC Help
Powered by ViewVC 1.1.20