/[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.59 Revision 1.63
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.59 2009/12/25 15:27:22 abcd Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.63 2010/02/10 20:34:17 yngwin 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>,
70 PATH="${S}/bin${PATH:+:}${PATH}" 70 PATH="${S}/bin${PATH:+:}${PATH}"
71 if [[ ${CHOST} != *-darwin* ]]; then 71 if [[ ${CHOST} != *-darwin* ]]; then
72 LD_LIBRARY_PATH="${S}/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" 72 LD_LIBRARY_PATH="${S}/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"
73 else 73 else
74 DYLD_LIBRARY_PATH="${S}/lib${DYLD_LIBRARY_PATH:+:}${DYLD_LIBRARY_PATH}" 74 DYLD_LIBRARY_PATH="${S}/lib${DYLD_LIBRARY_PATH:+:}${DYLD_LIBRARY_PATH}"
75 # on mac we *need* src/gui/kernel/qapplication_mac.cpp for platfrom 75 # On MacOS we *need* at least src/gui/kernel/qapplication_mac.mm for
76 # detection since the x11-headers package b0rkens the header 76 # platform detection. Note: needs to come before any directories to
77 # installation, we have to extract src/ and include/ completely on mac 77 # avoid extract failure.
78 # tools is needed for qt-demo and some others 78 [[ ${CHOST} == *-apple-darwin* ]] && \
79 QT4_EXTRACT_DIRECTORIES+=" src include" 79 QT4_EXTRACT_DIRECTORIES="src/gui/kernel/qapplication_mac.mm ${QT4_EXTRACT_DIRECTORIES}"
80
81 if [[ ${PN} == qt-demo || ${PN} == qt-qt3support || ${PN} == qt-webkit ]]; then
82 QT4_EXTRACT_DIRECTORIES+=" tools"
83 fi
84 fi 80 fi
85 81
86 # Make sure ebuilds use the required EAPI 82 # Make sure ebuilds use the required EAPI
87 if [[ ${EAPI} != [23] ]]; then 83 if [[ ${EAPI} != [23] ]]; then
88 eerror "The qt4-build eclass requires EAPI=2 or EAPI=3, but this ebuild is using" 84 eerror "The qt4-build eclass requires EAPI=2 or EAPI=3, but this ebuild is using"
119 ${QT4_EXTRACT_DIRECTORIES}; do 115 ${QT4_EXTRACT_DIRECTORIES}; do
120 targets+=" ${MY_P}/${target}" 116 targets+=" ${MY_P}/${target}"
121 done 117 done
122 118
123 echo tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 119 echo tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets}
124 tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets} 120 tar xzpf "${DISTDIR}"/${MY_P}.tar.gz ${targets} || die
125} 121}
126 122
127# @ECLASS-VARIABLE: PATCHES 123# @ECLASS-VARIABLE: PATCHES
128# @DESCRIPTION: 124# @DESCRIPTION:
129# In case you have patches to apply, specify them in PATCHES variable. Make sure 125# In case you have patches to apply, specify them in PATCHES variable. Make sure
274 unset glibflags 270 unset glibflags
275 fi 271 fi
276 272
277 if use aqua ; then 273 if use aqua ; then
278 # On (snow) leopard use the new (frameworked) cocoa code. 274 # On (snow) leopard use the new (frameworked) cocoa code.
279 if [[ $(uname -r | cut -d . -f 1) -ge 9 ]] ; then 275 if [[ ${CHOST##*-darwin} -ge 9 ]] ; then
280 myconf+=" -cocoa -framework" 276 myconf+=" -cocoa -framework"
281 277
282 # We are crazy and build cocoa + qt3support :-) 278 # We are crazy and build cocoa + qt3support :-)
283 if use qt3support; then 279 if use qt3support; then
284 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \ 280 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \
313# @FUNCTION: fix_includes 309# @FUNCTION: fix_includes
314# @DESCRIPTION: 310# @DESCRIPTION:
315# For MacOSX we need to add some symlinks when frameworks are 311# For MacOSX we need to add some symlinks when frameworks are
316# being used, to avoid complications with some more or less stupid packages. 312# being used, to avoid complications with some more or less stupid packages.
317fix_includes() { 313fix_includes() {
318 if use aqua && [[ $(uname -r | cut -d . -f 1) -ge 9 ]] ; then 314 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then
319 # Some packages tend to include <Qt/...> 315 # Some packages tend to include <Qt/...>
320 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt 316 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt
321 317
322 # Fake normal headers when frameworks are installed... eases life later on 318 # Fake normal headers when frameworks are installed... eases life later on
323 local dest f 319 local dest f
456# @DESCRIPTION: 452# @DESCRIPTION:
457# Compiles the code in $QT4_TARGET_DIRECTORIES 453# Compiles the code in $QT4_TARGET_DIRECTORIES
458build_directories() { 454build_directories() {
459 for x in "$@"; do 455 for x in "$@"; do
460 pushd "${S}"/${x} >/dev/null 456 pushd "${S}"/${x} >/dev/null
461 sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" $(find "${S}" -name '*.pr[io]') "${S}"/mkspecs/common/*.conf || die 457 # avoid running over the maximum argument number, bug #299810
458 {
459 echo "${S}"/mkspecs/common/*.conf
460 find "${S}" -name '*.pr[io]'
461 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die
462 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed" 462 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed"
463 emake CC="@echo compiling \$< && $(tc-getCC)" \ 463 emake CC="@echo compiling \$< && $(tc-getCC)" \
464 CXX="@echo compiling \$< && $(tc-getCXX)" \ 464 CXX="@echo compiling \$< && $(tc-getCXX)" \
465 LINK="@echo linking \$@ && $(tc-getCXX)" || die "emake failed" 465 LINK="@echo linking \$@ && $(tc-getCXX)" || die "emake failed"
466 popd >/dev/null 466 popd >/dev/null

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.63

  ViewVC Help
Powered by ViewVC 1.1.20