On 2020/01/21 20:45, Martin Reindl wrote:
> Am 20.01.20 um 22:55 schrieb [email protected]:
> > This fixes the mpifort command which can't find egfortran.
> > 
> > I also propose removing COMPILER = base-clang since this compiles
> > with gcc anyway.  GCC also has some advantages for us fortran
> > users (coarray fortran).
> 
> Hello John,
> 
> - OK for the CONFIGURE_ARGS fortran bits, thanks for spotting!
> - REVISION should start at 0
> - egfortran actually is the one from ports-gcc (8.3.0), I don't see the
> point replacing base clang 8.0.1 if you need coarray fortran?

COMPILER interacts poorly with the fortran module.

$ make show=CHOSEN_COMPILER
base-clang

Between this and the COMPILER line it suggests it's going to use clang, right?

$ make patch
[...]
===>  Compiler link: gcc -> /usr/local/bin/egcc
===>  Compiler link: cc -> /usr/local/bin/egcc
===>  Compiler link: gfortran -> /usr/local/bin/egfortran
===>  Compiler link: clang -> /usr/bin/clang
===>  Compiler link: clang++ -> /usr/bin/clang++
===>  Compiler link: c++ -> /usr/bin/c++

Wrong...that's (ports-)GCC.

(This also means that if such a port uses the c++ standard library
for some code, and uses or is used by some other library using c++,
the binaries will end up broken..not really sure how to deal with this
though).

> > -COMPILER =         base-clang ports-gcc
> > +COMPILER =         ports-gcc
> >  MODULES =          fortran
> >  MODFORTRAN_COMPILER =      gfortran

It could say something like this to make it a bit clearer (and leave
out the COMPILER line)..

# MODULES=fortran always uses ports-gcc (and overrides COMPILER)
MODULES =               fortran
MODFORTRAN_COMPILER =   gfortran
[...]

Reply via email to