[MacPorts] #54773: port:libgcc/port:gcc7: proposed modifications, efficiency + libc++ support
MacPorts
noreply at macports.org
Sun Sep 10 10:17:18 UTC 2017
#54773: port:libgcc/port:gcc7: proposed modifications, efficiency + libc++ support
--------------------------+----------------------
Reporter: RJVB | Owner:
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: gcc7 libgcc |
--------------------------+----------------------
Comment (by RJVB):
Replying to [comment:8 jeremyhu]:
> > What I don't get is why it doesn't simply invoke clang.
>
> Because that's not what it's doing in as/driver.c. We can have it do
whatever we want. I don't think searching $PATH for clang is good though
because then we get nondeterministic behavior. We should have it envoke a
fully qualified path or fail.
This should be discussed on a dedicated ticket, but I don't think the non-
deterministic behaviour is a problem here. Even with a full path the
behaviour remains nondeterministic, or if you want, without specifying a
path `as -q` behaves just as deterministically as with ... user-
deterministic. Meaning it's the user who decides what $prefix/bin/clang
points to. I think that's fine in this case. And yes, I realise that
`/usr/bin/as -q` invokes /usr/bin/clang but that's a bit different in that
it can be expected to invoke the system clang specifically.
Making this an issue would basically mean that cmake, gmake and all ports
shipping an IDE or software that can invoke a compiler would also have to
provide variants that determines the default clang-mp. Instead we let
those invoke their default compiler as `clang` or even `cc` and be done
with it.
It would be somewhat different if `as` itself was being maintained, but
from what I see it is basically an *old* GNU `as` that hasn't changed
(much) since a long time. But even in that case `as` would be a different
beast than clang.
On a related note, would making cctools depend on llvm_select make this
any "cleaner"? I think it's the closest thing we have to a generic
`port:clang` and at least it would give an indication that it might
require files installed by `port select`.
>
> The purpose of port:libgcc is't about depending on specific compiler
versions or not. It's about making sure that all the gcc compilers use
the same (newest) runtime libraries to avoid pulling multiple copies into
a single process.
--
Ticket URL: <https://trac.macports.org/ticket/54773#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list