[Bug 246887] catch Mk/Uses/fortran.mk up to bsd.gcc.mk r301973

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jun 3 21:15:40 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246887

--- Comment #6 from Gerald Pfeifer <gerald at FreeBSD.org> ---
(In reply to Tijl Coosemans from comment #5)
> We want all Fortran ports to be compiled with the same compiler and that 
> implies the same USE_GCC.  Not doing so is asking for trouble with runtime
> libraries.  If a port needs a newer version it should set IGNORE directing
> the user to modify his DEFAULT_VERSIONS.  If it's stuck on an older version
> it should probably set BROKEN with a similar message.
>
> If I were the maintainer of bsd.gcc.mk I would do the same there.

I have been moving into that direction over time (pushing hard to
minimize exceptions to USE_GCC=yes or USE_GCC=any) and streamlining
the logic further earlier this year.

At this point for nearly all users GCC_DEFAULT is the only one they
should ever encounter. Which is the same that USES=fortran implies.

Exceptions are two-fold:

 1. Systems with the 13-year old GCC 4.2 in base.

 2. A short list of exceptions.

    GCC 4.8.
    sysutils/memtest86+
    sysutils/uefi-edk2-bhyve - in contact with maintainer
    GCC 7.
    devel/xtensa-esp32-elf - in contact with maintainer
    GCC 9.
    devel/dwarves
    graphics/rawtherapee
    lang/gcc10
    lang/spidermonkey60


Item 1 above would be easy to address. Simply remove the block starting with
  .if ${USE_GCC} == any && exists(/usr/bin/gcc)
from Mk/bsd.gcc.mk. If have proposed this, but Mark did not like it.

> It's simpler to maintain.  It makes it more likely that users have only
> one version of gcc installed and therefore have fewer problems with
> runtime libraries which means there are fewer support questions to 
> deal with.  And marking old ports BROKEN allows us to get rid of them
> faster, or it might incentivise their maintainers to fix them with newer
> gcc faster.

Amen. Plus users on all platforms/systems would use the same version of
GCC, which is not the case for the 54 ports with USE_GCC=any right now
when /usr/bin/gcc is present.

> Anyway, what I'm trying to say is, please don't introduce any of the
> bsd.gcc.mk "magic" in fortran.mk.  Making it possible to choose "10-devel"
> as gcc default would be nice though.

Agreed. And if you look at the evolution of bsd.gcc.mk you'll find that
I managed to trim the amount of "magic" (and code) significantly.
USE_GCC=any is the biggest offender right now. Beyond that I cannot
actually think of much more in terms of simplifications.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-fortran mailing list