gecko-dev/build/macosx
Nathan Froyd 37d0db29a9 Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

Differential Revision: https://phabricator.services.mozilla.com/D31128

--HG--
extra : moz-landing-system : lando
2019-05-21 17:53:44 +00:00
..
permissions Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
cross-mozconfig.common Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander 2019-05-21 17:53:44 +00:00
llvm-dsymutil Bug 1429056 - Wrap llvm-dsymutil calls on automation. r=ted 2018-01-19 10:20:41 +09:00
local-mozconfig.common Bug 1492526: Don't build mar's as part of the build; r=firefox-build-system-reviewers,mshal,Callek 2018-10-01 18:15:40 +00:00
mozconfig.common Bug 1382525 - Move LLVM_CONFIG out of mozconfig.common. r=chmanchester 2017-07-20 14:06:23 +09:00