[MacPorts] #49001: Add support to provide a clang-based as wrapper
MacPorts
noreply at macports.org
Thu Oct 1 09:09:00 PDT 2015
#49001: Add support to provide a clang-based as wrapper
------------------------------------+------------------------
Reporter: howarth.at.macports@… | Owner: jeremyhu@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.3.3
Resolution: | Keywords:
Port: clang-3.7 |
------------------------------------+------------------------
Comment (by jeremyhu@…):
Replying to [comment:18 howarth.at.macports@…]:
> Replying to [comment:16 jeremyhu@…]:
> > Multiple things wrong with that statement.
> >
> > 1) cctools in OS X is only used to produce libmacho, not as.
> >
>
> {{{
> That is not the behavior that I see on my 10.11 installation. The
MacPorts cctools package shows a file...
>
> -r-xr-xr-x 0 root admin 27948 Sep 29 14:37 ./opt/local/bin/as
>
> which is producing the output...
>
> % /opt/local/bin/as -v
> Apple Inc version cctools-870, GNU assembler version 1.38
>
> Since Xcode 7 doesn't contain the legacy assembler, it must be coming
from the MacPorts cctools package.
> }}}
The cctools project has many targets.
In OS X, it is used to build libmacho (specifically
/usr/lib/system/libmacho.dylib). OS X does not ship any version of as.
In Xcode, it is used to build a version of libmacho for the tools as well
as the GNU assembler and the as wrapper. And before you say "no" ... yes
it does contain the legacy assembler. See:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec/as
The as wrapper driver
(http://opensource.apple.com/source/cctools/cctools-870/as/driver.c) has
an option of using clang, and that option is now on in Xcode 7.
Previously, it was only on for arm64. See:
{{{
$ /opt/local/bin/as -arch arm64 --version
clang version 3.8.0 (trunk 246024)
Target: aarch64-apple-darwin15.0.0
Thread model: posix
InstalledDir: /opt/local/libexec/llvm-3.8/bin
}}}
I'm not comfortable turning that on in cctools-870 for other architectures
(and probably won't even when we update to newer cctools) because I don't
have time to qualify that and mess around with the resulting dependency
nightmare. We'd have to ensure that the 'port select'ed clang is new
enough or modify driver.c to always use a specific version of clang.
--
Ticket URL: <https://trac.macports.org/ticket/49001#comment:19>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list