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>