/[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.11 Revision 1.14
1# Copyright 2007-2008 Gentoo Foundation 1# Copyright 2007-2008 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.11 2008/04/10 14:23:45 ingmar Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.14 2008/05/26 14:30:44 ingmar Exp $
4 4
5# @ECLASS: qt4-build.eclass 5# @ECLASS: qt4-build.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# Caleb Tennis <caleb@gentoo.org> 7# Caleb Tennis <caleb@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 11
12inherit eutils multilib toolchain-funcs flag-o-matic 12inherit eutils multilib toolchain-funcs flag-o-matic
13 13
14IUSE="${IUSE} debug" 14IUSE="${IUSE} debug pch"
15 15
16case "${PV}" in 16case "${PV}" in
17 4.4.0_beta*) 17 4.4.0_beta*)
18 SRCTYPE="${SRCTYPE:-opensource-src}" 18 SRCTYPE="${SRCTYPE:-opensource-src}"
19 MY_PV="${PV/_beta/-beta}" 19 MY_PV="${PV/_beta/-beta}"
31S=${WORKDIR}/${MY_P} 31S=${WORKDIR}/${MY_P}
32 32
33SRC_URI="ftp://ftp.trolltech.com/qt/source/${MY_P}.tar.bz2" 33SRC_URI="ftp://ftp.trolltech.com/qt/source/${MY_P}.tar.bz2"
34 34
35case "${PV}" in 35case "${PV}" in
36 4.4.0_rc*) 36 4.4.0|4.4.0_rc*)
37 SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-headers.tar.bz2" 37 SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-headers.tar.bz2"
38 ;; 38 ;;
39 *) 39 *)
40 ;; 40 ;;
41esac 41esac
67 67
68qt4_unpack() { 68qt4_unpack() {
69 local target targets 69 local target targets
70 for target in configure LICENSE.{GPL2,GPL3,QPL} projects.pro \ 70 for target in configure LICENSE.{GPL2,GPL3,QPL} projects.pro \
71 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \ 71 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \
72 ${QT4_EXTRACT_DIRECTORIES} ${QT4_TARGET_DIRECTORIES}; do 72 ${QT4_EXTRACT_DIRECTORIES}; do
73 targets="${targets} ${MY_P}/${target}" 73 targets="${targets} ${MY_P}/${target}"
74 done 74 done
75 75
76 echo tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets} 76 echo tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
77 tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets} 77 tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
78 78
79 case "${PV}" in 79 case "${PV}" in
80 4.4.0_rc*) 80 4.4.0|4.4.0_rc*)
81 echo tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2 81 echo tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2
82 tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2 82 tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2
83 ;; 83 ;;
84 esac 84 esac
85} 85}
144 # Disable visibility explicitly if gcc version isn't 4 144 # Disable visibility explicitly if gcc version isn't 4
145 if [[ "$(gcc-major-version)" -lt "4" ]]; then 145 if [[ "$(gcc-major-version)" -lt "4" ]]; then
146 myconf="${myconf} -no-reduce-exports" 146 myconf="${myconf} -no-reduce-exports"
147 fi 147 fi
148 148
149 # precompiled headers doesn't work on hardened, where the flag is masked.
150 if use pch; then
151 myconf="${myconf} -pch"
152 else
153 myconf="${myconf} -no-pch"
154 fi
155
149 if use debug; then 156 if use debug; then
150 myconf="${myconf} -debug -no-separate-debug-info" 157 myconf="${myconf} -debug -no-separate-debug-info"
151 else 158 else
152 myconf="${myconf} -release -no-separate-debug-info" 159 myconf="${myconf} -release -no-separate-debug-info"
153 fi 160 fi
155 # ARCH is set on Gentoo. QT now falls back to generic on an unsupported 162 # ARCH is set on Gentoo. QT now falls back to generic on an unsupported
156 # ${ARCH}. Therefore we convert it to supported values. 163 # ${ARCH}. Therefore we convert it to supported values.
157 case "${ARCH}" in 164 case "${ARCH}" in
158 amd64) myconf="${myconf} -arch x86_64" ;; 165 amd64) myconf="${myconf} -arch x86_64" ;;
159 ppc|ppc64) myconf="${myconf} -arch powerpc" ;; 166 ppc|ppc64) myconf="${myconf} -arch powerpc" ;;
160 x86) myconf="${myconf} -arch i386" ;; 167 x86|x86-*) myconf="${myconf} -arch i386" ;;
161 alpha|arm|ia64|mips|s390|sparc) myconf="${myconf} -arch ${ARCH}" ;; 168 alpha|arm|ia64|mips|s390|sparc) myconf="${myconf} -arch ${ARCH}" ;;
162 hppa|sh) myconf="${myconf} -arch generic" ;; 169 hppa|sh) myconf="${myconf} -arch generic" ;;
163 *) die "${ARCH} is unsupported by this eclass. Please file a bug." ;; 170 *) die "${ARCH} is unsupported by this eclass. Please file a bug." ;;
164 esac 171 esac
165 172

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.20