/[gentoo-x86]/eclass/qt4-build.eclass
Gentoo

Contents of /eclass/qt4-build.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.23 - (hide annotations) (download)
Sat Feb 14 23:47:44 2009 UTC (5 years, 6 months ago) by hwoarang
Branch: MAIN
Changes since 1.22: +2 -3 lines
Remove trailing spaces, fixing typo

1 yngwin 1.20 # Copyright 2007-2009 Gentoo Foundation
2 caleb 1.1 # Distributed under the terms of the GNU General Public License v2
3 hwoarang 1.23 # $Header: /var/cvsroot/gentoo-x86/eclass/qt4-build.eclass,v 1.22 2009/02/14 22:48:26 hwoarang Exp $
4 caleb 1.1
5     # @ECLASS: qt4-build.eclass
6     # @MAINTAINER:
7 yngwin 1.20 # Ben de Groot <yngwin@gentoo.org>
8     # Markos Chandras <hwoarang@gentoo.org>
9 caleb 1.1 # Caleb Tennis <caleb@gentoo.org>
10 ingmar 1.8 # @BLURB: Eclass for Qt4 split ebuilds.
11 caleb 1.1 # @DESCRIPTION:
12     # This eclass contains various functions that are used when building Qt4
13    
14 yngwin 1.20 inherit eutils multilib toolchain-funcs flag-o-matic versionator
15 caleb 1.1
16 yngwin 1.20 IUSE="${IUSE} custom-cxxflags debug pch"
17 caleb 1.1
18 ingmar 1.7 case "${PV}" in
19 yngwin 1.20 4.?.?_rc*)
20 ingmar 1.11 SRCTYPE="${SRCTYPE:-opensource-src}"
21     MY_PV="${PV/_rc/-rc}"
22     ;;
23 ingmar 1.7 *)
24     SRCTYPE="${SRCTYPE:-opensource-src}"
25     MY_PV="${PV}"
26     ;;
27     esac
28 ingmar 1.11 MY_P=qt-x11-${SRCTYPE}-${MY_PV}
29     S=${WORKDIR}/${MY_P}
30 ingmar 1.7
31 yngwin 1.20 HOMEPAGE="http://www.qtsoftware.com/"
32 ingmar 1.11 SRC_URI="ftp://ftp.trolltech.com/qt/source/${MY_P}.tar.bz2"
33    
34     case "${PV}" in
35 yngwin 1.20 4.4.?) SRC_URI="${SRC_URI} mirror://gentoo/${MY_P}-headers.tar.bz2" ;;
36     *) ;;
37 ingmar 1.11 esac
38 ingmar 1.7
39 caleb 1.1 qt4-build_pkg_setup() {
40 yngwin 1.20 # EAPI=2 ebuilds set use-deps, others need this:
41     if [[ $EAPI != 2 ]]; then
42     # Make sure debug setting corresponds with qt-core (bug 258512)
43     if [[ $PN != "qt-core" ]]; then
44     use debug && QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK}
45     ~x11-libs/qt-core-${PV} debug"
46     fi
47    
48     # Check USE requirements
49     qt4-build_check_use
50     fi
51 ingmar 1.7
52 caleb 1.1 # Set up installation directories
53 caleb 1.5 QTBASEDIR=/usr/$(get_libdir)/qt4
54     QTPREFIXDIR=/usr
55     QTBINDIR=/usr/bin
56     QTLIBDIR=/usr/$(get_libdir)/qt4
57     QTPCDIR=/usr/$(get_libdir)/pkgconfig
58     QTDATADIR=/usr/share/qt4
59 caleb 1.6 QTDOCDIR=/usr/share/doc/qt-${PV}
60 caleb 1.5 QTHEADERDIR=/usr/include/qt4
61     QTPLUGINDIR=${QTLIBDIR}/plugins
62     QTSYSCONFDIR=/etc/qt4
63     QTTRANSDIR=${QTDATADIR}/translations
64     QTEXAMPLESDIR=${QTDATADIR}/examples
65     QTDEMOSDIR=${QTDATADIR}/demos
66 caleb 1.1
67 caleb 1.5 PLATFORM=$(qt_mkspecs_dir)
68 caleb 1.1
69     PATH="${S}/bin:${PATH}"
70     LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}"
71 yngwin 1.20
72     if ! version_is_at_least 4.1 $(gcc-version) ; then
73     ewarn "Using a GCC version lower than 4.1 is not supported!"
74     echo
75     ebeep 5
76     fi
77 hwoarang 1.21
78     if use custom-cxxflags; then
79     echo
80     ewarn "You have set USE=custom-cxxflags, which means Qt will be built with the"
81     ewarn "CXXFLAGS you have set in /etc/make.conf. This is not supported, and we"
82     ewarn "recommend to unset this useflag. But you are free to experiment with it."
83     ewarn "Just do not start crying if it breaks your system, or eats your kitten"
84     ewarn "for breakfast. ;-) "
85     echo
86     fi
87    
88 caleb 1.1 }
89    
90 yngwin 1.20 qt4-build_src_unpack() {
91 ingmar 1.11 local target targets
92 yngwin 1.15 for target in configure LICENSE.{GPL2,GPL3} projects.pro \
93 ingmar 1.11 src/{qbase,qt_targets,qt_install}.pri bin config.tests mkspecs qmake \
94 ingmar 1.13 ${QT4_EXTRACT_DIRECTORIES}; do
95 ingmar 1.11 targets="${targets} ${MY_P}/${target}"
96     done
97    
98     echo tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
99     tar xjpf "${DISTDIR}"/${MY_P}.tar.bz2 ${targets}
100    
101     case "${PV}" in
102 yngwin 1.20 4.4.?)
103 ingmar 1.11 echo tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2
104     tar xjpf "${DISTDIR}"/${MY_P}-headers.tar.bz2
105     ;;
106     esac
107 yngwin 1.20
108     # Be backwards compatible for now
109     if [[ $EAPI != 2 ]]; then
110     qt4-build_src_prepare
111     fi
112 ingmar 1.11 }
113    
114 yngwin 1.20 qt4-build_src_prepare() {
115     cd "${S}"
116    
117 ingmar 1.7 if [[ ${PN} != qt-core ]]; then
118     skip_qmake_build_patch
119     skip_project_generation_patch
120     symlink_binaries_to_buildtree
121     fi
122 hwoarang 1.21
123 hwoarang 1.22 if ! use custom-cxxflags;then
124 hwoarang 1.21 # Don't let the user go too overboard with flags.
125     strip-flags
126     replace-flags -O3 -O2
127     fi
128 ingmar 1.7
129 gengor 1.18 # Bug 253127
130 hwoarang 1.21 # Unsupported old gcc versions - hardened needs this :(
131 gengor 1.18 if [[ $(gcc-major-version) -lt "4" ]] ; then
132 hwoarang 1.21 ewarn "Appending -fno-stack-protector to CXXFLAGS"
133     append-cxxflags -fno-stack-protector
134     fi
135    
136     # Bug 178652
137     if [[ "$(gcc-major-version)" == "3" ]] && use amd64; then
138     ewarn "Appending -fno-gcse to CFLAGS/CXXFLAGS"
139     append-flags -fno-gcse
140 gengor 1.18 fi
141    
142 hwoarang 1.23 # Bug 172219
143 ingmar 1.7 sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
144     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
145     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
146     -e "s:X11R6/::" \
147     -i "${S}"/mkspecs/$(qt_mkspecs_dir)/qmake.conf || die "sed ${S}/mkspecs/$(qt_mkspecs_dir)/qmake.conf failed"
148    
149     sed -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
150     -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
151     -e "s:QMAKE_LFLAGS_RELEASE.*=.*:QMAKE_LFLAGS_RELEASE=${LDFLAGS}:" \
152     -i "${S}"/mkspecs/common/g++.conf || die "sed ${S}/mkspecs/common/g++.conf failed"
153 hwoarang 1.21
154 ingmar 1.7 }
155    
156 yngwin 1.20 qt4-build_src_configure() {
157 ingmar 1.10
158 ingmar 1.7 myconf="$(standard_configure_options) ${myconf}"
159    
160     echo ./configure ${myconf}
161     ./configure ${myconf} || die "./configure failed"
162 yngwin 1.20 }
163 ingmar 1.7
164 yngwin 1.20 qt4-build_src_compile() {
165     # Be backwards compatible for now
166     if [[ $EAPI != 2 ]]; then
167     qt4-build_src_configure
168     fi
169    
170     build_directories "${QT4_TARGET_DIRECTORIES}"
171 caleb 1.1 }
172    
173 caleb 1.4 qt4-build_src_install() {
174     install_directories "${QT4_TARGET_DIRECTORIES}"
175 ingmar 1.7 install_qconfigs
176 caleb 1.4 fix_library_files
177     }
178    
179 caleb 1.1 standard_configure_options() {
180     local myconf=""
181    
182 ingmar 1.7 [[ $(get_libdir) != "lib" ]] && myconf="${myconf} -L/usr/$(get_libdir)"
183 caleb 1.1
184     # Disable visibility explicitly if gcc version isn't 4
185 ingmar 1.7 if [[ "$(gcc-major-version)" -lt "4" ]]; then
186 caleb 1.1 myconf="${myconf} -no-reduce-exports"
187     fi
188    
189 ingmar 1.12 # precompiled headers doesn't work on hardened, where the flag is masked.
190     if use pch; then
191     myconf="${myconf} -pch"
192     else
193     myconf="${myconf} -no-pch"
194     fi
195    
196 ingmar 1.7 if use debug; then
197     myconf="${myconf} -debug -no-separate-debug-info"
198     else
199     myconf="${myconf} -release -no-separate-debug-info"
200     fi
201 caleb 1.1
202 yngwin 1.20 # ARCH is set on Gentoo. Qt now falls back to generic on an unsupported
203 ingmar 1.11 # ${ARCH}. Therefore we convert it to supported values.
204     case "${ARCH}" in
205     amd64) myconf="${myconf} -arch x86_64" ;;
206     ppc|ppc64) myconf="${myconf} -arch powerpc" ;;
207 ingmar 1.14 x86|x86-*) myconf="${myconf} -arch i386" ;;
208 ingmar 1.11 alpha|arm|ia64|mips|s390|sparc) myconf="${myconf} -arch ${ARCH}" ;;
209     hppa|sh) myconf="${myconf} -arch generic" ;;
210     *) die "${ARCH} is unsupported by this eclass. Please file a bug." ;;
211     esac
212    
213 ingmar 1.7 myconf="${myconf} -stl -verbose -largefile -confirm-license -no-rpath
214     -prefix ${QTPREFIXDIR} -bindir ${QTBINDIR} -libdir ${QTLIBDIR}
215     -datadir ${QTDATADIR} -docdir ${QTDOCDIR} -headerdir ${QTHEADERDIR}
216     -plugindir ${QTPLUGINDIR} -sysconfdir ${QTSYSCONFDIR}
217     -translationdir ${QTTRANSDIR} -examplesdir ${QTEXAMPLESDIR}
218 yngwin 1.20 -demosdir ${QTDEMOSDIR} -silent -fast
219     $([[ ${PN} == qt-xmlpatterns ]] || echo -no-exceptions)
220     $(use x86-fbsd || echo -reduce-relocations)
221 ingmar 1.7 -nomake examples -nomake demos"
222 caleb 1.1
223     echo "${myconf}"
224     }
225    
226     build_directories() {
227     local dirs="$@"
228     for x in ${dirs}; do
229     cd "${S}"/${x}
230 ingmar 1.7 "${S}"/bin/qmake "LIBS+=-L${QTLIBDIR}" "CONFIG+=nostrip" || die "qmake failed"
231     emake || die "emake failed"
232 caleb 1.1 done
233     }
234    
235     install_directories() {
236     local dirs="$@"
237     for x in ${dirs}; do
238 ingmar 1.7 pushd "${S}"/${x} >/dev/null || die "Can't pushd ${S}/${x}"
239     emake INSTALL_ROOT="${D}" install || die "emake install failed"
240     popd >/dev/null || die "Can't popd from ${S}/${x}"
241 caleb 1.1 done
242     }
243    
244 ingmar 1.7 # @ECLASS-VARIABLE: QCONFIG_ADD
245     # @DESCRIPTION:
246     # List options that need to be added to QT_CONFIG in qconfig.pri
247     QCONFIG_ADD="${QCONFIG_ADD:-}"
248    
249     # @ECLASS-VARIABLE: QCONFIG_REMOVE
250     # @DESCRIPTION:
251     # List options that need to be removed from QT_CONFIG in qconfig.pri
252     QCONFIG_REMOVE="${QCONFIG_REMOVE:-}"
253    
254     # @ECLASS-VARIABLE: QCONFIG_DEFINE
255     # @DESCRIPTION:
256     # List variables that should be defined at the top of QtCore/qconfig.h
257     QCONFIG_DEFINE="${QCONFIG_DEFINE:-}"
258    
259     install_qconfigs() {
260 zlin 1.9 local x
261     if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} ]]; then
262 ingmar 1.7 for x in QCONFIG_ADD QCONFIG_REMOVE; do
263     [[ -n ${!x} ]] && echo ${x}=${!x} >> "${T}"/${PN}-qconfig.pri
264     done
265     insinto ${QTDATADIR}/mkspecs/gentoo
266     doins "${T}"/${PN}-qconfig.pri || die "installing ${PN}-qconfig.pri failed"
267 zlin 1.9 fi
268 ingmar 1.7
269 zlin 1.9 if [[ -n ${QCONFIG_DEFINE} ]]; then
270 ingmar 1.7 for x in ${QCONFIG_DEFINE}; do
271     echo "#define ${x}" >> "${T}"/gentoo-${PN}-qconfig.h
272     done
273     insinto ${QTHEADERDIR}/Gentoo
274     doins "${T}"/gentoo-${PN}-qconfig.h || die "installing ${PN}-qconfig.h failed"
275     fi
276     }
277    
278     generate_qconfigs() {
279     if [[ -n ${QCONFIG_ADD} || -n ${QCONFIG_REMOVE} || -n ${QCONFIG_DEFINE} || ${CATEGORY}/${PN} == x11-libs/qt-core ]]; then
280     local x qconfig_add qconfig_remove qconfig_new
281     for x in "${ROOT}${QTDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do
282     [[ -f ${x} ]] || continue
283     qconfig_add="${qconfig_add} $(sed -n 's/^QCONFIG_ADD=//p' "${x}")"
284     qconfig_remove="${qconfig_remove} $(sed -n 's/^QCONFIG_REMOVE=//p' "${x}")"
285     done
286    
287     # these error checks do not use die because dying in pkg_post{inst,rm}
288     # just makes things worse.
289     if [[ -e "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri ]]; then
290     # start with the qconfig.pri that qt-core installed
291     if ! cp "${ROOT}${QTDATADIR}"/mkspecs/gentoo/qconfig.pri \
292     "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then
293     eerror "cp qconfig failed."
294     return 1
295     fi
296    
297     # generate list of QT_CONFIG entries from the existing list
298     # including qconfig_add and excluding qconfig_remove
299     for x in $(sed -n 's/^QT_CONFIG +=//p' \
300     "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri) ${qconfig_add}; do
301     hasq ${x} ${qconfig_remove} || qconfig_new="${qconfig_new} ${x}"
302     done
303    
304     # replace the existing QT_CONFIG list with qconfig_new
305     if ! sed -i -e "s/QT_CONFIG +=.*/QT_CONFIG += ${qconfig_new}/" \
306     "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri; then
307     eerror "Sed for QT_CONFIG failed"
308     return 1
309     fi
310    
311     # create Gentoo/qconfig.h
312     if [[ ! -e ${ROOT}${QTHEADERDIR}/Gentoo ]]; then
313     if ! mkdir -p "${ROOT}${QTHEADERDIR}"/Gentoo; then
314     eerror "mkdir ${QTHEADERDIR}/Gentoo failed"
315     return 1
316     fi
317     fi
318     : > "${ROOT}${QTHEADERDIR}"/Gentoo/gentoo-qconfig.h
319     for x in "${ROOT}${QTHEADERDIR}"/Gentoo/gentoo-*-qconfig.h; do
320     [[ -f ${x} ]] || continue
321     cat "${x}" >> "${ROOT}${QTHEADERDIR}"/Gentoo/gentoo-qconfig.h
322     done
323     else
324     rm -f "${ROOT}${QTDATADIR}"/mkspecs/qconfig.pri
325     rm -f "${ROOT}${QTHEADERDIR}"/Gentoo/gentoo-qconfig.h
326     rmdir "${ROOT}${QTDATADIR}"/mkspecs \
327     "${ROOT}${QTDATADIR}" \
328     "${ROOT}${QTHEADERDIR}"/Gentoo \
329     "${ROOT}${QTHEADERDIR}" 2>/dev/null
330     fi
331     fi
332     }
333    
334     qt4-build_pkg_postrm() {
335     generate_qconfigs
336 caleb 1.1 }
337    
338 ingmar 1.7 qt4-build_pkg_postinst() {
339     generate_qconfigs
340 yngwin 1.17 echo
341     ewarn "After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt"
342     ewarn "and KDE styles and widgets) can no longer be loaded. In this situation you"
343     ewarn "should recompile the packages providing these plugins. Also, make sure you"
344     ewarn "compile the Qt packages, and the packages that depend on it, with the same"
345     ewarn "GCC version and the same USE flag settings (especially the debug flag)."
346     ewarn
347     ewarn "Packages that typically need to be recompiled are kdelibs from KDE4, any"
348     ewarn "additional KDE4/Qt4 styles, qscintilla and PyQt4. Before filing a bug report,"
349     ewarn "make sure all your Qt4 packages are up-to-date and built with the same"
350     ewarn "configuration."
351     ewarn
352     ewarn "For more information, see http://doc.trolltech.com/4.4/plugins-howto.html"
353     echo
354 caleb 1.1 }
355    
356     skip_qmake_build_patch() {
357 ingmar 1.7 # Don't need to build qmake, as it's already installed from qt-core
358     sed -i -e "s:if true:if false:g" "${S}"/configure || die "Sed failed"
359 caleb 1.1 }
360    
361     skip_project_generation_patch() {
362     # Exit the script early by throwing in an exit before all of the .pro files are scanned
363 ingmar 1.7 sed -e "s:echo \"Finding:exit 0\n\necho \"Finding:g" \
364     -i "${S}"/configure || die "Sed failed"
365 caleb 1.1 }
366    
367 ingmar 1.7 symlink_binaries_to_buildtree() {
368     for bin in qmake moc uic rcc; do
369     ln -s ${QTBINDIR}/${bin} "${S}"/bin/ || die "Symlinking ${bin} to ${S}/bin failed."
370     done
371 caleb 1.1 }
372    
373     fix_library_files() {
374 ingmar 1.7 for libfile in "${D}"/${QTLIBDIR}/{*.la,*.prl,pkgconfig/*.pc}; do
375     if [[ -e ${libfile} ]]; then
376     sed -i -e "s:${S}/lib:${QTLIBDIR}:g" ${libfile} || die "Sed on ${libfile} failed."
377     fi
378     done
379 caleb 1.1
380     # pkgconfig files refer to WORKDIR/bin as the moc and uic locations. Fix:
381 ingmar 1.7 for libfile in "${D}"/${QTLIBDIR}/pkgconfig/*.pc; do
382     if [[ -e ${libfile} ]]; then
383     sed -i -e "s:${S}/bin:${QTBINDIR}:g" ${libfile} || die "Sed failed"
384 caleb 1.1
385     # Move .pc files into the pkgconfig directory
386 ingmar 1.7
387     dodir ${QTPCDIR}
388     mv ${libfile} "${D}"/${QTPCDIR}/ \
389     || die "Moving ${libfile} to ${D}/${QTPCDIR}/ failed."
390     fi
391     done
392    
393     # Don't install an empty directory
394     rmdir "${D}"/${QTLIBDIR}/pkgconfig
395 caleb 1.1 }
396    
397     qt_use() {
398 ingmar 1.7 local flag="${1}"
399     local feature="${1}"
400 caleb 1.5 local enableval=
401 caleb 1.1
402 ingmar 1.7 [[ -n ${2} ]] && feature=${2}
403     [[ -n ${3} ]] && enableval="-${3}"
404    
405     if use ${flag}; then
406     echo "${enableval}-${feature}"
407     else
408     echo "-no-${feature}"
409     fi
410     }
411    
412     # @ECLASS-VARIABLE: QT4_BUILT_WITH_USE_CHECK
413     # @DESCRIPTION:
414     # The contents of $QT4_BUILT_WITH_USE_CHECK gets fed to built_with_use
415     # (eutils.eclass), line per line.
416     #
417     # Example:
418     # @CODE
419     # pkg_setup() {
420     # use qt3support && QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK}
421     # ~x11-libs/qt-gui-${PV} qt3support"
422     # qt4-build_check_use
423     # }
424     # @CODE
425    
426     # Run built_with_use on each flag and print appropriate error messages if any
427     # flags are missing
428     _qt_built_with_use() {
429     local missing opt pkg flag flags
430 caleb 1.1
431 ingmar 1.7 if [[ ${1} = "--missing" ]]; then
432     missing="${1} ${2}" && shift 2
433     fi
434     if [[ ${1:0:1} = "-" ]]; then
435     opt=${1} && shift
436     fi
437    
438     pkg=${1} && shift
439    
440     for flag in "${@}"; do
441     flags="${flags} ${flag}"
442     if ! built_with_use ${missing} ${opt} ${pkg} ${flag}; then
443     flags="${flags}*"
444     else
445     [[ ${opt} = "-o" ]] && return 0
446     fi
447     done
448     if [[ "${flags# }" = "${@}" ]]; then
449     return 0
450     fi
451     if [[ ${opt} = "-o" ]]; then
452     eerror "This package requires '${pkg}' to be built with any of the following USE flags: '$*'."
453     else
454     eerror "This package requires '${pkg}' to be built with the following USE flags: '${flags# }'."
455     fi
456     return 1
457     }
458    
459     # @FUNCTION: qt4-build_check_use
460     # @DESCRIPTION:
461     # Check if the listed packages in $QT4_BUILT_WITH_USE_CHECK are built with the
462     # USE flags listed.
463     #
464     # If any of the required USE flags are missing, an eerror will be printed for
465     # each package with missing USE flags.
466     qt4-build_check_use() {
467     local line missing
468     while read line; do
469     [[ -z ${line} ]] && continue
470     if ! _qt_built_with_use ${line}; then
471     missing=true
472     fi
473     done <<< "${QT4_BUILT_WITH_USE_CHECK}"
474     if [[ -n ${missing} ]]; then
475     echo
476     eerror "Flags marked with an * are missing."
477     die "Missing USE flags found"
478     fi
479 caleb 1.1 }
480    
481     qt_mkspecs_dir() {
482 caleb 1.5 # Allows us to define which mkspecs dir we want to use.
483     local spec
484 caleb 1.1
485 caleb 1.5 case ${CHOST} in
486     *-freebsd*|*-dragonfly*)
487     spec="freebsd" ;;
488     *-openbsd*)
489     spec="openbsd" ;;
490     *-netbsd*)
491     spec="netbsd" ;;
492 ingmar 1.7 *-darwin*)
493 caleb 1.5 spec="darwin" ;;
494     *-linux-*|*-linux)
495     spec="linux" ;;
496     *)
497 ingmar 1.7 die "Unknown CHOST, no platform choosen."
498 caleb 1.5 esac
499    
500     CXX=$(tc-getCXX)
501     if [[ ${CXX/g++/} != ${CXX} ]]; then
502     spec="${spec}-g++"
503     elif [[ ${CXX/icpc/} != ${CXX} ]]; then
504     spec="${spec}-icc"
505     else
506     die "Unknown compiler ${CXX}."
507     fi
508 caleb 1.1
509 caleb 1.5 echo "${spec}"
510 caleb 1.1 }
511    
512 yngwin 1.20 case ${EAPI:-0} in
513     0|1) EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postrm pkg_postinst ;;
514     2) EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_install pkg_postrm pkg_postinst ;;
515     esac

  ViewVC Help
Powered by ViewVC 1.1.20