/[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.113 Revision 1.114
1# Copyright 1999-2011 Gentoo Foundation 1# Copyright 1999-2011 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.113 2011/12/31 00:46:04 pesa Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.114 2012/01/01 18:12:03 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.
236 CC='$(tc-getCC)'\n\ 236 CC='$(tc-getCC)'\n\
237 CXX='$(tc-getCXX)'\n\ 237 CXX='$(tc-getCXX)'\n\
238 CFLAGS='${CFLAGS}'\n\ 238 CFLAGS='${CFLAGS}'\n\
239 CXXFLAGS='${CXXFLAGS}'\n\ 239 CXXFLAGS='${CXXFLAGS}'\n\
240 LDFLAGS='${LDFLAGS}'\n" \ 240 LDFLAGS='${LDFLAGS}'\n" \
241 -i configure \
241 -i configure || die "sed SYSTEM_VARIABLES failed" 242 || die "sed SYSTEM_VARIABLES failed"
242 243
243 # Respect CC, CXX, LINK and *FLAGS in config.tests 244 # Respect CC, CXX, LINK and *FLAGS in config.tests
244 find config.tests/unix -name '*.test' -type f -print0 | xargs -0 \ 245 find config.tests/unix -name '*.test' -type f -print0 | xargs -0 \
245 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \ 246 sed -i -e "/bin\/qmake/ s: \"QT_BUILD_TREE=: \
246 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \ 247 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \
247 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \ 248 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \
248 || die "sed config.tests failed" 249 || die "sed config.tests failed"
249 250
251 # Strip predefined CFLAGS from mkspecs (bug 312689)
252 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf || die
253
250 # Bug 172219 254 # Bug 172219
251 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 255 sed -e 's:/X11R6/:/:' -i mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
252 256
253 if [[ ${CHOST} == *-darwin* ]]; then 257 if [[ ${CHOST} == *-darwin* ]]; then
254 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib 258 # Set FLAGS *and* remove -arch, since our gcc-apple is multilib
255 # crippled (by design) :/ 259 # crippled (by design) :/
260 sed \
256 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ 261 -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
257 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ 262 -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
258 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \ 263 -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=-headerpad_max_install_names ${LDFLAGS}:" \
259 -e "s:-arch\s\w*::g" \ 264 -e "s:-arch\s\w*::g" \
260 -i mkspecs/common/mac-g++.conf || die "sed mkspecs/common/mac-g++.conf failed" 265 -i mkspecs/common/mac-g++.conf \
266 || die "sed mkspecs/common/mac-g++.conf failed"
261 267
262 # Fix configure's -arch settings that appear in qmake/Makefile and also 268 # Fix configure's -arch settings that appear in qmake/Makefile and also
263 # fix arch handling (automagically duplicates our -arch arg and breaks 269 # fix arch handling (automagically duplicates our -arch arg and breaks
264 # pch). Additionally disable Xarch support. 270 # pch). Additionally disable Xarch support.
265 sed \ 271 sed \
270 -e "s:-arch \$i::" \ 276 -e "s:-arch \$i::" \
271 -e "/if \[ ! -z \"\$NATIVE_64_ARCH\" \]; then/,/fi/ d" \ 277 -e "/if \[ ! -z \"\$NATIVE_64_ARCH\" \]; then/,/fi/ d" \
272 -e "s:CFG_MAC_XARCH=yes:CFG_MAC_XARCH=no:g" \ 278 -e "s:CFG_MAC_XARCH=yes:CFG_MAC_XARCH=no:g" \
273 -e "s:-Xarch_x86_64::g" \ 279 -e "s:-Xarch_x86_64::g" \
274 -e "s:-Xarch_ppc64::g" \ 280 -e "s:-Xarch_ppc64::g" \
275 -i configure mkspecs/common/mac-g++.conf || die "sed -arch/-Xarch failed" 281 -i configure mkspecs/common/mac-g++.conf \
282 || die "sed -arch/-Xarch failed"
276 283
277 # On Snow Leopard don't fall back to 10.5 deployment target. 284 # On Snow Leopard don't fall back to 10.5 deployment target.
278 if [[ ${CHOST} == *-apple-darwin10 ]] ; then 285 if [[ ${CHOST} == *-apple-darwin10 ]] ; then
279 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \ 286 sed -e "s:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET.*:QMakeVar set QMAKE_MACOSX_DEPLOYMENT_TARGET 10.6:g" \
280 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \ 287 -e "s:-mmacosx-version-min=10.[0-9]:-mmacosx-version-min=10.6:g" \
281 -i configure mkspecs/common/mac-g++.conf || die "sed deployment target failed" 288 -i configure mkspecs/common/mac-g++.conf \
289 || die "sed deployment target failed"
282 fi 290 fi
283 fi 291 fi
284 292
285 # this one is needed for all systems with a separate -liconv, apart from 293 # this one is needed for all systems with a separate -liconv, apart from
286 # Darwin, for which the sources already cater for -liconv 294 # Darwin, for which the sources already cater for -liconv
287 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] ; then 295 if use !elibc_glibc && [[ ${CHOST} != *-darwin* ]] ; then
288 sed \ 296 sed -e 's|mac:\(LIBS += -liconv\)|\1|g' \
289 -e "s|mac:LIBS += -liconv|LIBS += -liconv|g" \
290 -i config.tests/unix/iconv/iconv.pro \ 297 -i config.tests/unix/iconv/iconv.pro \
291 || die "sed on iconv.pro failed" 298 || die "sed iconv.pro failed"
292 fi 299 fi
293 300
294 # we need some patches for Solaris 301 # we need some patches for Solaris
295 sed -i \
296 -e '/^QMAKE_LFLAGS_THREAD/a\QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,' \ 302 sed -i -e '/^QMAKE_LFLAGS_THREAD/a\QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,' \
297 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 303 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
298 # use GCC over SunStudio 304 # use GCC over SunStudio
299 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die 305 sed -i -e '/PLATFORM=solaris-cc/s/cc/g++/' configure || die
300 # don't flirt with non-Prefix stuff, we're quite possessive 306 # do not flirt with non-Prefix stuff, we're quite possessive
301 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \ 307 sed -i -e '/^QMAKE_\(LIB\|INC\)DIR\(_X11\|_OPENGL\|\)\t/s/=.*$/=/' \
302 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die 308 mkspecs/$(qt_mkspecs_dir)/qmake.conf || die
303
304 # strip predefined CFLAGS from mkspecs (bug 312689)
305 sed -i -e '/^QMAKE_CFLAGS_RELEASE/s:+=.*:+=:' mkspecs/common/g++.conf
306 309
307 base_src_prepare 310 base_src_prepare
308} 311}
309 312
310# @FUNCTION: qt4-build_src_configure 313# @FUNCTION: qt4-build_src_configure
342 myconf+=" -cocoa -framework" 345 myconf+=" -cocoa -framework"
343 346
344 # We are crazy and build cocoa + qt3support :-) 347 # We are crazy and build cocoa + qt3support :-)
345 if use qt3support; then 348 if use qt3support; then
346 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \ 349 sed -e "/case \"\$PLATFORM,\$CFG_MAC_COCOA\" in/,/;;/ s|CFG_QT3SUPPORT=\"no\"|CFG_QT3SUPPORT=\"yes\"|" \
347 -i configure 350 -i configure || die
348 fi 351 fi
349 352
350 # We need the source's headers, not the installed ones. 353 # We need the source's headers, not the installed ones.
351 myconf+=" -I${S}/include" 354 myconf+=" -I${S}/include"
352 355
392 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then 395 if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then
393 # Some packages tend to include <Qt/...> 396 # Some packages tend to include <Qt/...>
394 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt 397 dodir "${QTHEADERDIR#${EPREFIX}}"/Qt
395 398
396 # Fake normal headers when frameworks are installed... eases life later on 399 # Fake normal headers when frameworks are installed... eases life later on
397 local dest f 400 local dest f h
398 for frw in "${D}${QTLIBDIR}"/*.framework; do 401 for frw in "${D}${QTLIBDIR}"/*.framework; do
399 [[ -e "${frw}"/Headers ]] || continue 402 [[ -e "${frw}"/Headers ]] || continue
400 f=$(basename ${frw}) 403 f=$(basename ${frw})
401 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework} 404 dest="${QTHEADERDIR#${EPREFIX}}"/${f%.framework}
402 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers "${dest}" 405 dosym "${QTLIBDIR#${EPREFIX}}"/${f}/Headers "${dest}"
421 install_qconfigs 424 install_qconfigs
422 fix_library_files 425 fix_library_files
423 fix_includes 426 fix_includes
424 427
425 # remove .la files since we are building only shared Qt libraries 428 # remove .la files since we are building only shared Qt libraries
426 find "${D}"${QTLIBDIR} -name "*.la" -print0 | xargs -0 rm 429 find "${D}"${QTLIBDIR} -type f -name '*.la' -print0 | xargs -0 rm -f
427} 430}
428 431
429# @FUNCTION: setqtenv 432# @FUNCTION: setqtenv
430# @INTERNAL 433# @INTERNAL
431setqtenv() { 434setqtenv() {

Legend:
Removed from v.1.113  
changed lines
  Added in v.1.114

  ViewVC Help
Powered by ViewVC 1.1.20