Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Oct 2007 11:41:07 -0500
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        Harald Servat <redcrash@gmail.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: fortran compiler issues in port
Message-ID:  <47236A23.9020901@math.missouri.edu>
In-Reply-To: <d825e0270710270734i3b3f686axa13b2ae18693f061@mail.gmail.com>
References:  <d825e0270710270734i3b3f686axa13b2ae18693f061@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Harald Servat wrote:
> Hello,
> 
>   I'm a maintainer of a port which needs a fortran compiler. Due to the
> inclusion of GCC 4.2 as the default compiler for FreeBSD 7.0 I'm facing a
> problem with the port. My FreeBSD 6.2 box can compile fine my port using
> f77, however the build farms do not compile successfully the port because
> they use gfortran42 (which comes with GCC 4.2) and this compiler needs an
> special flag to compile the port.
> 
>   I was thinking to place an "if" statement checking if ${F77} is f77 or
> gfortran42 and act in consequence like the code below:
> 
> .if "${F77}" = "f77"
> specific setting for F77
> .elif "${F77}" = "gfortran42"
> specific setting for gfortran42
> .endif
> 
>   However, there's an issue here, what will happen when gfortran43 is
> installed? It won't work. Is there a clear way to check for "gfortran*"
> instead of an specific version?
>   As all gfortran compilers have the same specific needs for my port, I
> think this should be a better and clearer way to solve the compiling problem
> of my port.

One possibility is to put "USE_FORTRAN" in your makefile.  Then if you 
are using FreeBSD 6.2, I think it will first install the gcc42 port, and 
then use that.

But to specifically answer your question, maybe something like

.elif "${F77:C/[[:digit:]]*//} = "gfortran"

would work.  I admit I haven't tested it, but if it doesn't work 
something similar will.  You need to read "man make" (quite an easy 
document to read) and "man re_format" (quite a lot to take in, and not 
so easy to read).




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47236A23.9020901>