/[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.118 Revision 1.123
1# Copyright 1999-2012 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.118 2012/02/09 22:58:36 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.123 2012/03/08 14:24:40 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.
9# @DESCRIPTION: 9# @DESCRIPTION:
10# This eclass contains various functions that are used when building Qt4. 10# This eclass contains various functions that are used when building Qt4.
11
12case ${EAPI} in
13 2|3|4) : ;;
14 *) die "qt4-build.eclass requires EAPI 2, 3 or 4." ;;
15esac
11 16
12inherit base eutils multilib toolchain-funcs flag-o-matic versionator 17inherit base eutils multilib toolchain-funcs flag-o-matic versionator
13 18
14MY_PV=${PV/_/-} 19MY_PV=${PV/_/-}
15MY_P=qt-everywhere-opensource-src-${MY_PV} 20MY_P=qt-everywhere-opensource-src-${MY_PV}
44 !>x11-libs/qt-gui-${PV}-r9999 49 !>x11-libs/qt-gui-${PV}-r9999
45 !<x11-libs/qt-multimedia-${PV} 50 !<x11-libs/qt-multimedia-${PV}
46 !>x11-libs/qt-multimedia-${PV}-r9999 51 !>x11-libs/qt-multimedia-${PV}-r9999
47 !<x11-libs/qt-opengl-${PV} 52 !<x11-libs/qt-opengl-${PV}
48 !>x11-libs/qt-opengl-${PV}-r9999 53 !>x11-libs/qt-opengl-${PV}-r9999
54 !<x11-libs/qt-openvg-${PV}
55 !>x11-libs/qt-openvg-${PV}-r9999
49 !<x11-libs/qt-phonon-${PV} 56 !<x11-libs/qt-phonon-${PV}
50 !>x11-libs/qt-phonon-${PV}-r9999 57 !>x11-libs/qt-phonon-${PV}-r9999
51 !<x11-libs/qt-qt3support-${PV} 58 !<x11-libs/qt-qt3support-${PV}
52 !>x11-libs/qt-qt3support-${PV}-r9999 59 !>x11-libs/qt-qt3support-${PV}-r9999
53 !<x11-libs/qt-script-${PV} 60 !<x11-libs/qt-script-${PV}
82 else 89 else
83 ewarn "Downgrading Qt is completely unsupported and will break your system!" 90 ewarn "Downgrading Qt is completely unsupported and will break your system!"
84 fi 91 fi
85 fi 92 fi
86 93
87 if [[ ${PN} == "qt-webkit" ]]; then 94 if [[ ${PN} == qt-webkit ]]; then
88 eshopts_push -s extglob 95 eshopts_push -s extglob
89 if is-flagq '-g?(gdb)?([1-9])'; then 96 if is-flagq '-g?(gdb)?([1-9])'; then
90 echo 97 echo
91 ewarn "You have enabled debug info (probably have -g or -ggdb in your \$C{,XX}FLAGS)." 98 ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
92 ewarn "You may experience really long compilation times and/or increased memory usage." 99 ewarn "You may experience really long compilation times and/or increased memory usage."
93 ewarn "If compilation fails, please try removing -g{,gdb} before reporting a bug." 100 ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
94 ewarn "For more info check out bug #307861" 101 ewarn "For more info check out bug #307861"
95 echo 102 echo
96 fi 103 fi
97 eshopts_pop 104 eshopts_pop
98 fi 105 fi
108 [[ ${CHOST} == *-apple-darwin* ]] && \ 115 [[ ${CHOST} == *-apple-darwin* ]] && \
109 QT4_EXTRACT_DIRECTORIES="src/gui/kernel/qapplication_mac.mm 116 QT4_EXTRACT_DIRECTORIES="src/gui/kernel/qapplication_mac.mm
110 ${QT4_EXTRACT_DIRECTORIES}" 117 ${QT4_EXTRACT_DIRECTORIES}"
111 fi 118 fi
112 119
113 # Make sure ebuilds use the required EAPI
114 if [[ ${EAPI} != [234] ]]; then
115 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"
117 eerror "fixed. Using qt4-build eclass without EAPI 2,3 or 4 will fail."
118 die "qt4-build eclass requires EAPI 2,3 or 4"
119 fi
120
121 if ! version_is_at_least 4.1 $(gcc-version); then 120 if ! version_is_at_least 4.1 $(gcc-version); then
122 ewarn "Using a GCC version lower than 4.1 is not supported!" 121 ewarn "Using a GCC version lower than 4.1 is not supported."
123 fi 122 fi
124} 123}
125 124
126# @ECLASS-VARIABLE: QT4_TARGET_DIRECTORIES 125# @ECLASS-VARIABLE: QT4_TARGET_DIRECTORIES
127# @DESCRIPTION: 126# @DESCRIPTION:
171# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in /etc/make.conf. 170# the build system in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified in /etc/make.conf.
172qt4-build_src_prepare() { 171qt4-build_src_prepare() {
173 setqtenv 172 setqtenv
174 cd "${S}" 173 cd "${S}"
175 174
176 if version_is_at_least "4.7"; then 175 if version_is_at_least 4.7; then
177 # fix libX11 dependency on non X packages 176 # fix libX11 dependency on non X packages
178 local nolibx11_pkgs="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns" 177 local nolibx11_pkgs="qt-core qt-dbus qt-script qt-sql qt-test qt-xmlpatterns"
179 has ${PN} ${nolibx11_pkgs} && qt_nolibx11 178 has ${PN} ${nolibx11_pkgs} && qt_nolibx11
180 179
181 qt_assistant_cleanup 180 qt_assistant_cleanup
194 skip_qmake_build 193 skip_qmake_build
195 skip_project_generation 194 skip_project_generation
196 symlink_binaries_to_buildtree 195 symlink_binaries_to_buildtree
197 fi 196 fi
198 197
199 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then 198 if [[ ${CHOST} == *86*-apple-darwin* ]]; then
200 # qmake bus errors with -O2 but -O3 works 199 # qmake bus errors with -O2 but -O3 works
201 replace-flags -O2 -O3 200 replace-flags -O2 -O3
202 fi 201 fi
203 202
204 # Bug 178652 203 # Bug 178652
206 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" 205 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
207 append-flags -fno-gcse 206 append-flags -fno-gcse
208 fi 207 fi
209 208
210 if use_if_iuse c++0x; then 209 if use_if_iuse c++0x; then
210 echo
211 ewarn "You are about to build Qt4 using the C++11 standard. Even though" 211 ewarn "You are about to build Qt4 using the C++11 standard. Even though"
212 ewarn "this is an official standard, some of the reverse dependencies" 212 ewarn "this is an official standard, some of the reverse dependencies"
213 ewarn "may fail to compile or link againt the Qt4 libraries. Before" 213 ewarn "may fail to compile or link againt the Qt4 libraries. Before"
214 ewarn "reporting a bug, make sure your bug is reproducible with c++0x" 214 ewarn "reporting a bug, make sure your bug is reproducible with c++0x"
215 ewarn "disabled." 215 ewarn "disabled."
216 echo
216 append-flags -std=c++0x 217 append-flags -std=c++0x
217 fi 218 fi
218 219
219 # Unsupported old gcc versions - hardened needs this :( 220 # Unsupported old gcc versions - hardened needs this :(
220 if [[ $(gcc-major-version) -lt 4 ]] ; then 221 if [[ $(gcc-major-version) -lt 4 ]]; then
221 ewarn "Appending -fno-stack-protector to CXXFLAGS" 222 ewarn "Appending -fno-stack-protector to CXXFLAGS"
222 append-cxxflags -fno-stack-protector 223 append-cxxflags -fno-stack-protector
223 # Bug 253127 224 # Bug 253127
224 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \ 225 sed -e "/^QMAKE_CFLAGS\t/ s:$: -fno-stack-protector-all:" \
225 -i mkspecs/common/g++.conf || die 226 -i mkspecs/common/g++.conf || die
280 -e "s:-Xarch_ppc64::g" \ 281 -e "s:-Xarch_ppc64::g" \
281 -i configure mkspecs/common/mac-g++.conf \ 282 -i configure mkspecs/common/mac-g++.conf \
282 || die "sed -arch/-Xarch failed" 283 || die "sed -arch/-Xarch failed"
283 284
284 # On Snow Leopard don't fall back to 10.5 deployment target. 285 # On Snow Leopard don't fall back to 10.5 deployment target.
285 if [[ ${CHOST} == *-apple-darwin10 ]] ; then 286 if [[ ${CHOST} == *-apple-darwin10 ]]; then
286 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \ 287 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \
287 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \ 288 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \
288 -i configure mkspecs/common/mac-g++.conf \ 289 -i configure mkspecs/common/mac-g++.conf \
289 || die "sed deployment target failed" 290 || die "sed deployment target failed"
290 fi 291 fi
291 fi 292 fi
292 293
293 # this one is needed for all systems with a separate -liconv, apart from 294 # this one is needed for all systems with a separate -liconv, apart from
294 # Darwin, for which the sources already cater for -liconv 295 # Darwin, for which the sources already cater for -liconv
295 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] ; then 296 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]]; then
296 sed -e 's|mac:\(LIBS += -liconv\)|\1|g' \ 297 sed -e 's|mac:\(LIBS += -liconv\)|\1|g' \
297 -i config.tests/unix/iconv/iconv.pro \ 298 -i config.tests/unix/iconv/iconv.pro \
298 || die "sed iconv.pro failed" 299 || die "sed iconv.pro failed"
299 fi 300 fi
300 301
313# @FUNCTION: qt4-build_src_configure 314# @FUNCTION: qt4-build_src_configure
314# @DESCRIPTION: 315# @DESCRIPTION:
315# Default configure phase 316# Default configure phase
316qt4-build_src_configure() { 317qt4-build_src_configure() {
317 setqtenv 318 setqtenv
318 myconf="$(standard_configure_options) ${myconf}" 319
320 local conf="
321 -prefix ${QTPREFIXDIR}
322 -bindir ${QTBINDIR}
323 -libdir ${QTLIBDIR}
324 -docdir ${QTDOCDIR}
325 -headerdir ${QTHEADERDIR}
326 -plugindir ${QTPLUGINDIR}
327 $(version_is_at_least 4.7 && echo -importdir ${QTIMPORTDIR})
328 -datadir ${QTDATADIR}
329 -translationdir ${QTTRANSDIR}
330 -sysconfdir ${QTSYSCONFDIR}
331 -examplesdir ${QTEXAMPLESDIR}
332 -demosdir ${QTDEMOSDIR}
333 -opensource -confirm-license
334 -shared -fast -largefile -stl -verbose
335 -nomake examples -nomake demos"
336
337 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
338 # $(tc-arch). Therefore we convert it to supported values.
339 case "$(tc-arch)" in
340 amd64|x64-*) conf+=" -arch x86_64" ;;
341 ppc-macos) conf+=" -arch ppc" ;;
342 ppc|ppc64|ppc-*) conf+=" -arch powerpc" ;;
343 sparc|sparc-*|sparc64-*) conf+=" -arch sparc" ;;
344 x86-macos) conf+=" -arch x86" ;;
345 x86|x86-*) conf+=" -arch i386" ;;
346 alpha|arm|ia64|mips|s390) conf+=" -arch $(tc-arch)" ;;
347 hppa|sh) conf+=" -arch generic" ;;
348 *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;;
349 esac
350
351 conf+=" -platform $(qt_mkspecs_dir)"
352
353 [[ $(get_libdir) != lib ]] && conf+=" -L${EPREFIX}/usr/$(get_libdir)"
354
355 # debug/release
356 if use debug; then
357 conf+=" -debug"
358 else
359 conf+=" -release"
360 fi
361 conf+=" -no-separate-debug-info"
362
363 # exceptions USE flag
364 conf+=" $(in_iuse exceptions && qt_use exceptions || echo -exceptions)"
365
366 # disable RPATH on Qt >= 4.8 (bug 380415)
367 version_is_at_least 4.8 && conf+=" -no-rpath"
368
369 # precompiled headers don't work on hardened, where the flag is masked
370 conf+=" $(qt_use pch)"
371
372 # -reduce-relocations
373 # This flag seems to introduce major breakage to applications,
374 # mostly to be seen as a core dump with the message "QPixmap: Must
375 # construct a QApplication before a QPaintDevice" on Solaris.
376 # -- Daniel Vergien
377 [[ ${CHOST} != *-solaris* ]] && conf+=" -reduce-relocations"
319 378
320 # this one is needed for all systems with a separate -liconv, apart from 379 # this one is needed for all systems with a separate -liconv, apart from
321 # Darwin, for which the sources already cater for -liconv 380 # Darwin, for which the sources already cater for -liconv
322 use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] && \ 381 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]]; then
323 myconf+=" -liconv" 382 conf+=" -liconv"
383 fi
324 384
325 if use_if_iuse glib; then 385 if use_if_iuse glib; then
326 # use -I, -L and -l from configure
327 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)" 386 local glibflags="$(pkg-config --cflags --libs glib-2.0 gthread-2.0)"
328 # avoid the -pthread argument 387 # avoid the -pthread argument
329 myconf+=" ${glibflags//-pthread}" 388 conf+=" ${glibflags//-pthread}"
330 unset glibflags 389 unset glibflags
331 fi 390 fi
332 391
333 if use_if_iuse qpa; then 392 if use_if_iuse qpa; then
334 ewarn 393 echo
335 ewarn "The qpa useflag enables the Qt Platform Abstraction, formely" 394 ewarn "The qpa useflag enables the Qt Platform Abstraction, formely"
336 ewarn "known as Qt Lighthouse. If you are not sure what that is, then" 395 ewarn "known as Qt Lighthouse. If you are not sure what that is, then"
337 ewarn "disable it before reporting any bugs related to this useflag." 396 ewarn "disable it before reporting any bugs related to this useflag."
338 ewarn 397 echo
339 myconf+=" -qpa" 398 conf+=" -qpa"
340 fi 399 fi
341 400
342 if use aqua ; then 401 if use aqua; then
343 # On (snow) leopard use the new (frameworked) cocoa code. 402 # On (snow) leopard use the new (frameworked) cocoa code.
344 if [[ ${CHOST##*-darwin} -ge 9 ]] ; then 403 if [[ ${CHOST##*-darwin} -ge 9 ]]; then
345 myconf+=" -cocoa -framework" 404 conf+=" -cocoa -framework"
405 # We need the source's headers, not the installed ones.
406 conf+=" -I${S}/include"
407 # Add hint for the framework location.
408 conf+=" -F${QTLIBDIR}"
346 409
347 # We are crazy and build cocoa + qt3support :-) 410 # We are crazy and build cocoa + qt3support :-)
348 if use qt3support; then 411 if use qt3support; then
349 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \ 412 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \
350 -i configure || die 413 -i configure || die
351 fi 414 fi
352 415 else
353 # We need the source's headers, not the installed ones. 416 conf+=" -no-framework"
354 myconf+=" -I${S}/include"
355
356 # Add hint for the framework location.
357 myconf+=" -F${QTLIBDIR}"
358 fi 417 fi
359 else 418 else
360 # freetype2 include dir is non-standard, thus include it on configure 419 # freetype2 include dir is non-standard, thus pass it to configure
361 # use -I from configure
362 myconf+=" $(pkg-config --cflags freetype2)" 420 conf+=" $(pkg-config --cflags-only-I freetype2)"
363 fi 421 fi
364 422
423 conf+=" ${myconf}"
424 myconf=
425
365 echo ./configure ${myconf} 426 echo ./configure ${conf}
366 ./configure ${myconf} || die "./configure failed" 427 ./configure ${conf} || die "./configure failed"
367 myconf=""
368 428
369 prepare_directories ${QT4_TARGET_DIRECTORIES} 429 prepare_directories ${QT4_TARGET_DIRECTORIES}
370} 430}
371 431
372# @FUNCTION: qt4-build_src_compile 432# @FUNCTION: qt4-build_src_compile
381# @FUNCTION: qt4-build_src_test 441# @FUNCTION: qt4-build_src_test
382# @DESCRIPTION: 442# @DESCRIPTION:
383# Runs tests only in target directories. 443# Runs tests only in target directories.
384qt4-build_src_test() { 444qt4-build_src_test() {
385 # QtMultimedia does not have any test suite (bug #332299) 445 # QtMultimedia does not have any test suite (bug #332299)
386 [[ ${PN} == "qt-multimedia" ]] && return 446 [[ ${PN} == qt-multimedia ]] && return
387 447
388 for dir in ${QT4_TARGET_DIRECTORIES}; do 448 for dir in ${QT4_TARGET_DIRECTORIES}; do
389 emake -j1 check -C ${dir} 449 emake -j1 check -C ${dir}
390 done 450 done
391} 451}
393# @FUNCTION: fix_includes 453# @FUNCTION: fix_includes
394# @DESCRIPTION: 454# @DESCRIPTION:
395# For MacOS X we need to add some symlinks when frameworks are 455# For MacOS X we need to add some symlinks when frameworks are
396# being used, to avoid complications with some more or less stupid packages. 456# being used, to avoid complications with some more or less stupid packages.
397fix_includes() { 457fix_includes() {
398 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then 458 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]]; then
399 # Some packages tend to include <Qt/...> 459 # Some packages tend to include <Qt/...>
400 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt 460 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt
401 461
402 # Fake normal headers when frameworks are installed... eases life later on 462 # Fake normal headers when frameworks are installed... eases life later on
403 local dest f h 463 local dest f h
455 PLATFORM=$(qt_mkspecs_dir) 515 PLATFORM=$(qt_mkspecs_dir)
456 516
457 unset QMAKESPEC 517 unset QMAKESPEC
458} 518}
459 519
460# @FUNCTION: standard_configure_options
461# @INTERNAL
462# @DESCRIPTION:
463# Sets up some standard configure options, like libdir (if necessary), whether
464# debug info is wanted or not.
465standard_configure_options() {
466 local myconf="-prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
467 -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR} -plugindir ${QTPLUGINDIR}
468 $(version_is_at_least 4.7 && echo -importdir ${QTIMPORTDIR})
469 -datadir ${QTDATADIR} -translationdir ${QTTRANSDIR} -sysconfdir ${QTSYSCONFDIR}
470 -examplesdir ${QTEXAMPLESDIR} -demosdir ${QTDEMOSDIR}
471 -opensource -confirm-license -shared -fast -largefile -stl -verbose
472 -platform $(qt_mkspecs_dir) -nomake examples -nomake demos"
473
474 [[ $(get_libdir) != lib ]] && myconf+=" -L${EPREFIX}/usr/$(get_libdir)"
475
476 # debug/release
477 if use debug; then
478 myconf+=" -debug"
479 else
480 myconf+=" -release"
481 fi
482 myconf+=" -no-separate-debug-info"
483
484 # exceptions USE flag
485 local exceptions="-exceptions"
486 in_iuse exceptions && exceptions="$(qt_use exceptions)"
487 myconf+=" ${exceptions}"
488
489 # disable RPATH on Qt >= 4.8 (bug 380415)
490 version_is_at_least 4.8 && myconf+=" -no-rpath"
491
492 # precompiled headers don't work on hardened, where the flag is masked
493 myconf+=" $(qt_use pch)"
494
495 # -reduce-relocations
496 # This flag seems to introduce major breakage to applications,
497 # mostly to be seen as a core dump with the message "QPixmap: Must
498 # construct a QApplication before a QPaintDevice" on Solaris.
499 # -- Daniel Vergien
500 [[ ${CHOST} != *-solaris* ]] && myconf+=" -reduce-relocations"
501
502 use aqua && myconf+=" -no-framework"
503
504 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
505 # $(tc-arch). Therefore we convert it to supported values.
506 case "$(tc-arch)" in
507 amd64|x64-*) myconf+=" -arch x86_64" ;;
508 ppc-macos) myconf+=" -arch ppc" ;;
509 ppc|ppc64|ppc-*) myconf+=" -arch powerpc" ;;
510 sparc|sparc-*|sparc64-*) myconf+=" -arch sparc" ;;
511 x86-macos) myconf+=" -arch x86" ;;
512 x86|x86-*) myconf+=" -arch i386" ;;
513 alpha|arm|ia64|mips|s390) myconf+=" -arch $(tc-arch)" ;;
514 hppa|sh) myconf+=" -arch generic" ;;
515 *) die "$(tc-arch) is unsupported by this eclass. Please file a bug." ;;
516 esac
517
518 echo "${myconf}"
519}
520
521# @FUNCTION: prepare_directories 520# @FUNCTION: prepare_directories
522# @USAGE: < directories > 521# @USAGE: < directories >
523# @INTERNAL 522# @INTERNAL
524# @DESCRIPTION: 523# @DESCRIPTION:
525# Generates Makefiles for the given list of directories. 524# Generates Makefiles for the given list of directories.
610# @FUNCTION: generate_qconfigs 609# @FUNCTION: generate_qconfigs
611# @INTERNAL 610# @INTERNAL
612# @DESCRIPTION: 611# @DESCRIPTION:
613# Generates gentoo-specific qconfig.{h,pri}. 612# Generates gentoo-specific qconfig.{h,pri}.
614generate_qconfigs() { 613generate_qconfigs() {
615 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == x11-libs/qt-core ]]; then 614 if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${PN} == qt-core ]]; then
616 local x qconfig_add qconfig_remove qconfig_new 615 local x qconfig_add qconfig_remove qconfig_new
617 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do 616 for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do
618 [[ -f ${x} ]] || continue 617 [[ -f ${x} ]] || continue
619 qconfig_add+=" $(sed -n 's/^QCONFIG_ADD=//p' "${x}")" 618 qconfig_add+=" $(sed -n 's/^QCONFIG_ADD=//p' "${x}")"
620 qconfig_remove+=" $(sed -n 's/^QCONFIG_REMOVE=//p' "${x}")" 619 qconfig_remove+=" $(sed -n 's/^QCONFIG_REMOVE=//p' "${x}")"
751# @RETURN: the specs-directory w/o path 750# @RETURN: the specs-directory w/o path
752# @DESCRIPTION: 751# @DESCRIPTION:
753# Allows us to define which mkspecs dir we want to use. 752# Allows us to define which mkspecs dir we want to use.
754qt_mkspecs_dir() { 753qt_mkspecs_dir() {
755 local spec= 754 local spec=
755
756 case ${CHOST} in 756 case "${CHOST}" in
757 *-freebsd*|*-dragonfly*) 757 *-freebsd*|*-dragonfly*)
758 spec=freebsd ;; 758 spec=freebsd ;;
759 *-openbsd*) 759 *-openbsd*)
760 spec=openbsd ;; 760 spec=openbsd ;;
761 *-netbsd*) 761 *-netbsd*)
772 *-solaris*) 772 *-solaris*)
773 spec=solaris ;; 773 spec=solaris ;;
774 *-linux-*|*-linux) 774 *-linux-*|*-linux)
775 spec=linux ;; 775 spec=linux ;;
776 *) 776 *)
777 die "Unknown CHOST, no platform chosen" 777 die "${FUNCNAME}(): Unknown CHOST '${CHOST}'" ;;
778 esac 778 esac
779 779
780 CXX=$(tc-getCXX) 780 case "$(tc-getCXX)" in
781 if [[ ${CXX} == *g++* ]]; then 781 *g++*)
782 spec+=-g++ 782 spec+=-g++ ;;
783 elif [[ ${CXX} == *icpc* ]]; then 783 *icpc*)
784 spec+=-icc 784 spec+=-icc ;;
785 else 785 *)
786 die "Unknown compiler '${CXX}'" 786 die "${FUNCNAME}(): Unknown compiler '$(tc-getCXX)'" ;;
787 fi 787 esac
788 788
789 # Add -64 for 64bit profiles 789 # Add -64 for 64bit profiles
790 if use x64-freebsd || 790 if use x64-freebsd ||
791 use amd64-linux || 791 use amd64-linux ||
792 use x64-macos || 792 use x64-macos ||
805# Tries to clean up tools.pro for qt-assistant ebuilds. 805# Tries to clean up tools.pro for qt-assistant ebuilds.
806# Meant to be called in src_prepare(). 806# Meant to be called in src_prepare().
807# Since Qt 4.7.4 this function is a no-op. 807# Since Qt 4.7.4 this function is a no-op.
808qt_assistant_cleanup() { 808qt_assistant_cleanup() {
809 # apply patching to qt-assistant ebuilds only 809 # apply patching to qt-assistant ebuilds only
810 [[ ${PN} != "qt-assistant" ]] && return 810 [[ ${PN} != qt-assistant ]] && return
811 811
812 # no longer needed for 4.7.4 and later 812 # no longer needed for 4.7.4 and later
813 version_is_at_least "4.7.4" && return 813 version_is_at_least 4.7.4 && return
814 814
815 # different versions (and branches...) may need different handling, 815 # different versions (and branches...) may need different handling,
816 # add a case if you need special handling 816 # add a case if you need special handling
817 case "${MY_PV_EXTRA}" in 817 case "${MY_PV_EXTRA}" in
818 *kde-qt*) 818 *kde-qt*)

Legend:
Removed from v.1.118  
changed lines
  Added in v.1.123

  ViewVC Help
Powered by ViewVC 1.1.20