| 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.67 2010/05/22 15:22:46 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>, |
| … | |
… | |
| 168 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
168 | if [[ ${CHOST} == *86*-apple-darwin* ]] ; then |
| 169 | # qmake bus errors with -O2 but -O3 works |
169 | # qmake bus errors with -O2 but -O3 works |
| 170 | replace-flags -O2 -O3 |
170 | replace-flags -O2 -O3 |
| 171 | fi |
171 | fi |
| 172 | |
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 | |
|
|
| 179 | # Bug 178652 |
173 | # Bug 178652 |
| 180 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
174 | if [[ $(gcc-major-version) == 3 ]] && use amd64; then |
| 181 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
175 | ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS" |
| 182 | append-flags -fno-gcse |
176 | append-flags -fno-gcse |
| 183 | fi |
177 | fi |
| … | |
… | |
| 195 | if use ppc64; then |
189 | if use ppc64; then |
| 196 | ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" |
190 | ewarn "Appending -mminimal-toc to CFLAGS/CXXFLAGS" |
| 197 | append-flags -mminimal-toc |
191 | append-flags -mminimal-toc |
| 198 | fi |
192 | fi |
| 199 | |
193 | |
|
|
194 | # Bug 282984 && Bug 295530 |
|
|
195 | sed -e "s:\(^SYSTEM_VARIABLES\):CC=$(tc-getCC)\nCXX=$(tc-getCXX)\nCFLAGS=\"${CFLAGS}\"\nCXXFLAGS=\"${CXXFLAGS}\"\nLDFLAGS=\"${LDFLAGS}\"\n\1:" \ |
|
|
196 | -i configure || die "sed qmake compilers failed" |
|
|
197 | sed -e "s:\(\$MAKE\):\1 CC=$(tc-getCC) CXX=$(tc-getCXX) LD=$(tc-getCXX) LINK=$(tc-getCXX):" \ |
|
|
198 | -i config.tests/unix/compile.test || die "sed test compilers failed" |
|
|
199 | |
| 200 | # Bug 172219 |
200 | # 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/::" \ |
201 | sed -e "s:X11R6/::" \ |
| 205 | -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed" |
202 | -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed" |
| 206 | |
203 | |
| 207 | if [[ ${CHOST} != *-darwin* ]]; then |
204 | 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 |
205 | # Set FLAGS *and* remove -arch, since our gcc-apple is multilib |
| 214 | # crippled (by design) :/ |
206 | # crippled (by design) :/ |
| 215 | sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ |
207 | sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ |
| 216 | -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ |
208 | -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ |
| 217 | -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \ |
209 | -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \ |
| … | |
… | |
| 462 | { |
454 | { |
| 463 | echo "${S}"/mkspecs/common/*.conf |
455 | echo "${S}"/mkspecs/common/*.conf |
| 464 | find "${S}" -name '*.pr[io]' |
456 | find "${S}" -name '*.pr[io]' |
| 465 | } | xargs sed -i -e "s:\$\$\[QT_INSTALL_LIBS\]:${EPREFIX}/usr/$(get_libdir)/qt4:g" || die |
457 | } | 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" |
458 | "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed" |
| 467 | emake CC="@echo compiling \$< && $(tc-getCC)" \ |
459 | emake CC="$(tc-getCC)" \ |
| 468 | CXX="@echo compiling \$< && $(tc-getCXX)" \ |
460 | CXX="$(tc-getCXX)" \ |
| 469 | LINK="@echo linking \$@ && $(tc-getCXX)" || die "emake failed" |
461 | LINK="$(tc-getCXX)" || die "emake failed" |
| 470 | popd >/dev/null |
462 | popd >/dev/null |
| 471 | done |
463 | done |
| 472 | } |
464 | } |
| 473 | |
465 | |
| 474 | # @FUNCTION: install_directories |
466 | # @FUNCTION: install_directories |