/[gentoo-x86]/eclass/fortran-2.eclass
Gentoo

Diff of /eclass/fortran-2.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.4 Revision 1.5
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/fortran-2.eclass,v 1.4 2011/06/21 14:11:31 jlec Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v 1.5 2011/08/22 04:46:31 vapier Exp $
4
5# Author Justin Lecher <jlec@gentoo.org>
6# Test functions provided by Sebastien Fabbro and Kacper Kowalik
7 4
8# @ECLASS: fortran-2.eclass 5# @ECLASS: fortran-2.eclass
9# @MAINTAINER: 6# @MAINTAINER:
10# jlec@gentoo.org 7# jlec@gentoo.org
11# sci@gentoo.org 8# sci@gentoo.org
9# @AUTHOR:
10# Author Justin Lecher <jlec@gentoo.org>
11# Test functions provided by Sebastien Fabbro and Kacper Kowalik
12# @BLURB: Simplify fortran compiler management 12# @BLURB: Simplify fortran compiler management
13# @DESCRIPTION: 13# @DESCRIPTION:
14# If you need a fortran compiler, then you should be inheriting this eclass and 14# If you need a fortran compiler, then you should be inheriting this eclass and
15# adding virtual/fortran to your dependencies. 15# adding virtual/fortran to your dependencies.
16# The eclass tests for working fortran compilers 16# The eclass tests for working fortran compilers
34: ${FORTRAN_STANDARD:=77} 34: ${FORTRAN_STANDARD:=77}
35 35
36inherit toolchain-funcs 36inherit toolchain-funcs
37 37
38# @FUNCTION: _write_testsuite 38# @FUNCTION: _write_testsuite
39# @DESCRIPTION: writes fortran test code
40# @INTERNAL 39# @INTERNAL
40# @DESCRIPTION:
41# writes fortran test code
41_write_testsuite() { 42_write_testsuite() {
42 local filebase=${T}/test-fortran 43 local filebase=${T}/test-fortran
43 44
44 # f77 code 45 # f77 code
45 cat <<- EOF > "${filebase}.f" 46 cat <<- EOF > "${filebase}.f"
57 end 58 end
58 EOF 59 EOF
59} 60}
60 61
61# @FUNCTION: _compile_test 62# @FUNCTION: _compile_test
63# @INTERNAL
62# @DESCRIPTION: 64# @DESCRIPTION:
63# Takes fortran compiler as first argument and dialect as second. 65# Takes fortran compiler as first argument and dialect as second.
64# Checks whether the passed fortran compiler speaks the fortran dialect 66# Checks whether the passed fortran compiler speaks the fortran dialect
65# @INTERNAL
66_compile_test() { 67_compile_test() {
67 local filebase=${T}/test-fortran 68 local filebase=${T}/test-fortran
68 local fcomp=${1} 69 local fcomp=${1}
69 local fdia=${2} 70 local fdia=${2}
70 local fcode=${filebase}.f${fdia} 71 local fcode=${filebase}.f${fdia}
80 rm -f "${fcode}.x" 81 rm -f "${fcode}.x"
81 return ${ret} 82 return ${ret}
82} 83}
83 84
84# @FUNCTION: _fortran-has-openmp 85# @FUNCTION: _fortran-has-openmp
86# @INTERNAL
85# @DESCRIPTION: 87# @DESCRIPTION:
86# See if the fortran supports OpenMP. 88# See if the fortran supports OpenMP.
87# @INTERNAL
88_fortran-has-openmp() { 89_fortran-has-openmp() {
89 local flag 90 local flag
90 local filebase=${T}/test-fc-openmp 91 local filebase=${T}/test-fc-openmp
91 local fcode=${filebase}.f 92 local fcode=${filebase}.f
92 local ret 93 local ret
106 rm -f "${fcode}.x" 107 rm -f "${fcode}.x"
107 return ${ret} 108 return ${ret}
108} 109}
109 110
110# @FUNCTION: _die_msg 111# @FUNCTION: _die_msg
111# @DESCRIPTION: Detailed description how to handle fortran support
112# @INTERNAL 112# @INTERNAL
113# @DESCRIPTION:
114# Detailed description how to handle fortran support
113_die_msg() { 115_die_msg() {
114 echo 116 echo
115 eerror "Please install currently selected gcc version with USE=fortran." 117 eerror "Please install currently selected gcc version with USE=fortran."
116 eerror "If you intend to use a different compiler then gfortran, please" 118 eerror "If you intend to use a different compiler then gfortran, please"
117 eerror "set FC variable accordingly and take care that the neccessary" 119 eerror "set FC variable accordingly and take care that the neccessary"

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.20