/[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.66 Revision 1.70
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.66 2010/03/24 14:36:28 yngwin Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.70 2010/05/24 22:03:30 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>,
65 65
66# @FUNCTION: qt4-build_pkg_setup 66# @FUNCTION: qt4-build_pkg_setup
67# @DESCRIPTION: 67# @DESCRIPTION:
68# Sets up S, MY_P, PATH, and LD_LIBRARY_PATH 68# Sets up S, MY_P, PATH, and LD_LIBRARY_PATH
69qt4-build_pkg_setup() { 69qt4-build_pkg_setup() {
70 if [[ "${PN}" == "qt-webkit" ]]; then
71 if [[ "${CFLAGS}" =~ "-ggdb" ]] || [[ "${CXXFLAGS}" =~ "-ggdb" ]]; then
72 echo
73 ewarn "Your \$C{,XX}FLAGS contain -ggdb. You may experience really"
74 ewarn "long compilation times and/or increased memory usage."
75 ewarn "If compilation fails, please try removing -ggdb before"
76 ewarn "reporting a bug."
77 ewarn "For more info check out bug #307861"
78 echo
79 fi
80 fi
81
70 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX= 82 [[ ${EAPI} == 2 ]] && use !prefix && EPREFIX=
71 83
72 # Protect users by not allowing downgrades between releases 84 # Protect users by not allowing downgrades between releases
73 # Downgrading revisions within the same release should be allowed 85 # Downgrading revisions within the same release should be allowed
74 if has_version '>'${CATEGORY}/${P}-r9999 ; then 86 if has_version '>'${CATEGORY}/${P}-r9999 ; then
148# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf. 160# source files in order to respect CFLAGS/CXXFLAGS/LDFLAGS specified on /etc/make.conf.
149qt4-build_src_prepare() { 161qt4-build_src_prepare() {
150 setqtenv 162 setqtenv
151 cd "${S}" 163 cd "${S}"
152 164
165 # fix qt 4.7 regression that skips -fvisibility=hidden
166 if [[ "${PV}" == "4.7.0_beta1" ]]; then
167 sed -e "s/^gcc|g++)/*gcc|*g++)/" \
168 -i config.tests/unix/fvisibility.test ||
169 die "visibility fixing sed failed"
170 fi
171
153 if use aqua; then 172 if use aqua; then
154 # provide a proper macx-g++-64 173 # provide a proper macx-g++-64
155 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir) 174 use x64-macos && ln -s macx-g++ mkspecs/$(qt_mkspecs_dir)
156 175
157 sed -e '/^CONFIG/s:app_bundle::' \ 176 sed -e '/^CONFIG/s:app_bundle::' \
167 186
168 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then 187 if [[ ${CHOST} == *86*-apple-darwin* ]] ; then
169 # qmake bus errors with -O2 but -O3 works 188 # qmake bus errors with -O2 but -O3 works
170 replace-flags -O2 -O3 189 replace-flags -O2 -O3
171 fi 190 fi
172
173 # Bug 282984 && Bug 295530
174 sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\n\1:" \
175 -i configure || die "sed qmake compilers failed"
176 sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX):" \
177 -i config.tests/unix/compile.test || die "sed test compilers failed"
178 191
179 # Bug 178652 192 # Bug 178652
180 if [[ $(gcc-major-version) == 3 ]] && use amd64; then 193 if [[ $(gcc-major-version) == 3 ]] && use amd64; then
181 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" 194 ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
182 append-flags -fno-gcse 195 append-flags -fno-gcse
195 if use ppc64; then 208 if use ppc64; then
196 ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" 209 ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS"
197 append-flags -mminimal-toc 210 append-flags -mminimal-toc
198 fi 211 fi
199 212
213 # Bug 282984 && Bug 295530
214 sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \
215 -i configure || die "sed qmake compilers failed"
216 # bug 321335
217 find ./config.tests/unix -name "*.test" -type f -exec grep -lZ \$MAKE '{}' \; | \
218 xargs -0 \
219 sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX) LINK=$(tc-getCXX):g" \
220 -i || die "sed test compilers failed"
221
200 # Bug 172219 222 # Bug 172219
201 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
202 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
203 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
204 -e "s:X11R6/::" \ 223 sed -e "s:X11R6/::" \
205 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed" 224 -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed"
206 225
207 if [[ ${CHOST} != *-darwin* ]]; then 226 if [[ ${CHOST} == *-darwin* ]]; then
208 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
209 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
210 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
211 -i mkspecs/common/g++.conf || die "sed mkspecs/common/g++.conf failed"
212 else
213 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib 227 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib
214 # crippled (by design) :/ 228 # crippled (by design) :/
215 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ 229 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
216 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ 230 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
217 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \ 231 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \
462 { 476 {
463 echo "${S}"/mkspecs/common/*.conf 477 echo "${S}"/mkspecs/common/*.conf
464 find "${S}" -name '*.pr[io]' 478 find "${S}" -name '*.pr[io]'
465 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die 479 } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die
466 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed" 480 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed"
467 emake CC="@echo compiling \$< && $(tc-getCC)" \ 481 emake CC="$(tc-getCC)" \
468 CXX="@echo compiling \$< && $(tc-getCXX)" \ 482 CXX="$(tc-getCXX)" \
469 LINK="@echo linking \$@ && $(tc-getCXX)" || die "emake failed" 483 LINK="$(tc-getCXX)" || die "emake failed"
470 popd >/dev/null 484 popd >/dev/null
471 done 485 done
472} 486}
473 487
474# @FUNCTION: install_directories 488# @FUNCTION: install_directories

Legend:
Removed from v.1.66  
changed lines
  Added in v.1.70

  ViewVC Help
Powered by ViewVC 1.1.20