gecko-dev/taskcluster
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
..
ci Bug 1552982: Add 'mozilla-beta' CI branch to GeckoView's scn-power-idle test. r=Bebe 2019-05-21 16:53:54 +00:00
docker No Bug, taskcluster/docker/funsize-update-generator pipfile-update. r=sfraser 2019-05-20 10:13:21 +00:00
docs Bug 1551738: Add update tests for update testing from the previous ESR release; r=bhearsum 2019-05-20 01:23:39 +00:00
scripts Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander 2019-05-21 17:53:44 +00:00
taskgraph Bug 1552917 - reenable parallel, tier 3, android, linux and macosx, gcp builds r=coop 2019-05-20 19:14:06 +00:00
.yamllint Bug 1550816: Enforce consistent indenting in taskcluster yaml; r=aki 2019-05-10 21:19:48 +00:00
mach_commands.py Bug 1488313: [taskgraph] Add options to reuse on-push tasks in cron graphs; r=dustin,aki 2019-03-27 19:34:53 +00:00
moz.build Bug 1459274 - update BUG_COPMONENT to represent reality; r=gps 2018-06-01 13:47:35 +00:00