зеркало из https://github.com/mozilla/gecko-dev.git
37d0db29a9
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 |
||
---|---|---|
.. | ||
autoconf | ||
build-clang | ||
build-infer | ||
clang-plugin | ||
compare-mozconfig | ||
debian-packages | ||
docs | ||
gyp_includes | ||
macosx | ||
mobile | ||
moz.configure | ||
package/mac_osx | ||
pgo | ||
pymake | ||
sanitizers | ||
sparse-profiles | ||
tests/cram | ||
unix | ||
valgrind | ||
win32 | ||
win64 | ||
win64-aarch64 | ||
workspace-hack | ||
.gdbinit_python.in | ||
.lldbinit.in | ||
__init__.py | ||
appini_header.py | ||
application.ini.in | ||
automation.py.in | ||
binary-location.mk | ||
buildconfig.py | ||
cargo-host-linker | ||
cargo-host-linker.bat | ||
cargo-linker | ||
cargo-linker.bat | ||
checksums.py | ||
defines.sh | ||
dumbmake-dependencies | ||
gecko_templates.mozbuild | ||
gen_automation.py | ||
gen_symverscript.py | ||
gen_test_packages_manifest.py | ||
genrc.sh | ||
gn.mozbuild | ||
gyp.mozbuild | ||
gyp_base.mozbuild | ||
mach_bootstrap.py | ||
merge_profdata.py | ||
moz-automation.mk | ||
moz.build | ||
mozconfig.artifact | ||
mozconfig.artifact.automation | ||
mozconfig.automation | ||
mozconfig.cache | ||
mozconfig.clang-cl | ||
mozconfig.comm-support | ||
mozconfig.common | ||
mozconfig.common.override | ||
mozconfig.lld-link | ||
mozconfig.nasm | ||
mozconfig.no-compile | ||
mozconfig.node | ||
mozconfig.pgo | ||
mozconfig.rust | ||
mozconfig.stylo | ||
mozconfig.win-common | ||
qemu-wrap | ||
submit_telemetry_data.py | ||
templates.mozbuild | ||
test_templates.mozbuild | ||
update-settings.ini | ||
upload.py | ||
upload_generated_sources.py | ||
variables.py | ||
virtualenv_packages.txt | ||
windows_toolchain.py |