fortran compiler issues in port

Harald Servat redcrash at
Sat Oct 27 07:59:45 PDT 2007


  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

  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.

  All this, led me to ask something: why isn't a symlink to some of gfortran
compilers installed? For example, if I install gfortran42, why a link called
gfortran that points to gfortran42 does not exist?
 (at least, logs of build farms do not expose this).

Thank you!
Empty your memory,
with a free()...
like a pointer!

If you cast a pointer to an integer,
it becomes an integer,
if you cast a pointer to a struct,
it becomes a struct.

The pointer can crash...,
and can overflow.

Be a pointer my friend...

More information about the freebsd-ports mailing list