compiler.{white,black}list usage, especially in cxx11-1.1 PG context
Chris Jones
jonesc at hep.phy.cam.ac.uk
Tue Apr 16 09:25:03 UTC 2019
>
> compiler.whitelist sadly is a *huge* misnomer and tricks people into believing
> that the listed compilers will be used if they are already available/installed.
I have personally never thought that, and nor do I think it was ever the
intention. To me the whitelist has always been read as 'use these
compilers, starting with the first in the list, picking the first which
is not excluded for other reasons'.
> It does not mean that. compiler.whitelist should really have been called
> compiler.force, because that what it does.
>
> Note how base never checks if a port is installed. It won't take "the first
> available compiler", but the first one that is not blacklisted and for which
> either a port or a binary exists .
Nor, I think, do we really want it to. I want the exact compiler to be
used to be predictable based only on the logic in the port, and in base,
and not on what the user just happens to have installed. I guess we
differ on this point.
I am not saying we don't need to overhaul a bit the way we select
compilers, just I am not sure the above is the biggest issue. For
instance, we need a better way of selecting the right compiler when a
port needs more than c++11 (c++14, c+=17). Currently there is no way to
do this than to fine tune the compiler selection by hand.
Chris
More information about the macports-dev
mailing list