On Jan 29, 2013, at 06:11, Peter Danecek <[email protected]> wrote:

> I am just browsing some Portfiles to understand how to handle fortran builds 
> correctly.
> 
> At this point I came about something I may not understand in 
> devel/fortrancl/Portfile (or is it just a copy-paste bug?)
> 
> Why the g95 variant would depend on port:gcc45 ?
> 
> --- snip ---
> variant gcc45 conflicts g95 description {build with gfortran-mp-4.5} {
>  depends_build-append    port:gcc45
>  configure.compiler      macports-gcc-4.5
> }
> 
> variant g95 conflicts gcc45 description {build with g95} {
>  depends_build-append    port:gcc45
>  configure.fc            g95
> }
> --- snap ---

That is most certainly a copy-paste mistake. Obviously a g95 variant should 
depend on the g95 port not the gcc45 port.


> Now my question:
> For the C compiler there is some default behaviour, how to choose the right 
> compiler without depending on the actual system setup. Only in case a certain 
> compiler version does not build, there is a possibility to influence the 
> choice (at least this is what I understood).
> 
> I did not find any clear indications on how to do "the right thing" for 
> Fortran compilers, and maybe there I no a completely clear strategy (???) on 
> how to make Fortran compilation independent of the actual system. There are 
> all these variants around. But for example if I have installed several 
> versions of gccXX with the respective gfortran, I may end up with quite a mix 
> of gfortran dependencies.
> 
> Then I observe that all these variants are usually conflicting. However, I 
> guess (in theory) there are actually two different situations:
> 
> (1) I have some software written in fortran, and here obviously one single 
> compiler is be fine (for example python extensions).
> (2) I want to compile the fortran bindings of a library, to be used with "my 
> preferred fortran compiler". Here I might want to install bindings for 
> different compilers (or versions).
> 
> I guess, however the second case is not supported for the moment.
> 
> So which are the knobs to look at, when creating ports of fortran programs 
> (or programs with fortran bindings)?
> 
> Maybe I just missed the right place to look at?

I don't understand most of your questions.

With regard to (1) and (2) above, our solutions are geared toward (1); I'd 
never heard of the use case you describe in (2) before.

The answers I have with regard to how we handle fortran software in MacPorts 
are here:

https://trac.macports.org/wiki/PortfileRecipes#gcc

The intention is that the user will use the same gcc4x variant (or g95) for all 
the ports they install, e.g. by selecting it in their variants.conf file.



_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to