Commit Graph

191 Commits

Author SHA1 Message Date
Nathan Froyd
0d1891b9cf Bug 1654845 - use new dump_syms for Mac builds; r=dmajor
Faster (although not by much) and more maintainable is good.

Depends on D84728

Differential Revision: https://phabricator.services.mozilla.com/D84729
2020-07-23 17:01:21 +00:00
Mike Shal
4fabfd049b Bug 1607193 - Remove MOZ_AUTOMATION_L10N_CHECK; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D66715

--HG--
extra : moz-landing-system : lando
2020-03-13 18:34:05 +00:00
Mike Hommey
72fd664abd Bug 1621529 - Use MOZ_FETCHES_DIR for pgo file paths. r=froydnj
This is both for future proofing (fetches could move any time although
they likely won't), and to fix the path on the future Windows PGO
cross builds, where the fetches path is not under $WORKSPACE.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 10:36:11 +00:00
Chris Manchester
6b7cde2020 Bug 1604578 - Fix pgo enable variable name in macOS mozconfig. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D57596

--HG--
extra : moz-landing-system : lando
2019-12-18 17:53:36 +00:00
Chris Manchester
0929dac033 Bug 1528374 - Add macOS pgo builds to the taskgraph. r=firefox-build-system-reviewers,mshal,tomprince
Differential Revision: https://phabricator.services.mozilla.com/D20409

--HG--
extra : moz-landing-system : lando
2019-12-16 23:25:07 +00:00
Oana Pop Rus
b49aefd3c9 Backed out 3 changesets (bug 1528374) for build bustages failures during artifact upload: file-missing-on-worker: Could not read directory /Users/task_1576213467/artifacts on a CLOSED TREE
Backed out changeset 3c2a1cf616b4 (bug 1528374)
Backed out changeset 967d0072cd2f (bug 1528374)
Backed out changeset 0d0186ecd70e (bug 1528374)
2019-12-16 23:50:45 +02:00
Chris Manchester
23e9c6d856 Bug 1528374 - Add macOS pgo builds to the taskgraph. r=firefox-build-system-reviewers,mshal,tomprince
Differential Revision: https://phabricator.services.mozilla.com/D20409

--HG--
extra : moz-landing-system : lando
2019-12-13 05:43:44 +00:00
Noemi Erli
24e02f049b Backed out 3 changesets (bug 1528374) per tomprice's request for breaking macOS signing jobs CLOSED TREE
Backed out changeset 5a6fa3b5123b (bug 1528374)
Backed out changeset 32f3b1b3fe3b (bug 1528374)
Backed out changeset a412a319534c (bug 1528374)
2019-12-13 06:48:05 +02:00
Chris Manchester
3138b4cffd Bug 1528374 - Add macOS pgo builds to the taskgraph. r=firefox-build-system-reviewers,mshal,tomprince
Differential Revision: https://phabricator.services.mozilla.com/D20409

--HG--
extra : moz-landing-system : lando
2019-12-12 19:31:17 +00:00
Mike Hommey
c173540215 Bug 1573435 - Use toolchain fetches for all remaining toolchain uses. r=nalexander
The remaining uses all need adjustements to in-tree mozconfigs, so they
all need to be done at once.

However, to make things slightly more intelligible, we do this in two
steps. This is step 1: we modify the use_toolchain transform to take care of
the transformation, while keeping the task definitions intact, so that
we only deal with mozconfig and build script adjustements here.

Differential Revision: https://phabricator.services.mozilla.com/D41890
2019-08-15 11:21:52 +09:00
Mike Hommey
79919f31ad Bug 1357317 - Add an rpath to cctools such that it doesn't require LD_LIBRARY_PATH at run-time. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D38140

--HG--
extra : moz-landing-system : lando
2019-07-16 20:54:42 +00:00
Csoregi Natalia
3ee5aa5125 Backed out changeset 43e086ced66f (bug 1562953) for toolchains bustage. CLOSED TREE 2019-07-09 08:54:59 +03:00
Nathan Froyd
c762dc8e76 Bug 1562953 - update cctools-port; r=mshal
We need a fix from `cctools-port` master for cross-language LTO builds
to work properly on the Mac.  Rather than cherry-picking yet another
commit, which would have to deal with a updated `ld64` upstream, we've
opted to go ahead and update directly to upstream.

This choice brings about some significant build changes, as TAPI support
has moved to a different library that is not easily buildable directly.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 04:59:37 +00:00
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
Andreea Pavel
58566309c2 Backed out changeset ae7096d1add7 (bug 1551690) for toolchain bustages on a CLOSED TREE 2019-05-21 17:05:24 +03:00
Nathan Froyd
d49bc5f0ef 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 13:48:23 +00:00
Coroiu Cristina
c4361da40f Backed out changeset 2e560a9e4bcf (bug 1551690) for build bustages 2019-05-21 03:51:56 +03:00
Nathan Froyd
dc2ad25275 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-15 21:13:17 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Nathan Froyd
6d4137ff36 Bug 1534159 - remove exceptions for Android and Darwin from libstdcxx checks; r=glandium
The only place we'd need the compat libraries would be for host
binaries, and those shouldn't be a problem given that our system images
are new enough.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 22:24:20 +00:00
Nathan Froyd
5696142472 Bug 1535142 - add binutils toolchains to more builds; r=dmajor
A newer clang may require newer binutils than the system provides, so we
should ensure that we provide just such a binutils.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 21:37:27 +00:00
David Major
147bd27b98 Bug 1477306 - Point -fcrash-diagnostics-dir at UPLOAD_DIR when compiling with clang in automation r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D16765

--HG--
extra : moz-landing-system : lando
2019-01-22 19:27:13 +00:00
Mike Hommey
298b2de7c1 Bug 1515604 - Fix artifact builds after bug 1513798. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15079

--HG--
extra : moz-landing-system : lando
2018-12-20 18:50:04 +00:00
Mike Hommey
7f87f1f891 Bug 1513798 - Automatically set -syslibroot for OSX cross-builds from configure. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14384
2018-12-18 10:50:16 +09:00
Mike Hommey
6dc8205006 Bug 1513798 - Don't set HOST_{CC,CXX,CPP} and CPP. r=nalexander
CPP/HOST_CPP were probably not necessary already, but now that we leave
it to configure to figure out the appropriate compiler flags, we don't
need to set HOST_CC/HOST_CXX to remove the flags from CC/CXX.

Differential Revision: https://phabricator.services.mozilla.com/D14382
2018-12-18 10:50:14 +09:00
Mike Hommey
f4ac275e71 Bug 1513798 - Use --with-macos-sdk for OSX cross build. r=nalexander
Rather than manually passing -isysroot to clang. Ideally, we shouldn't
need to fill BINDGEN_CFLAGS from the mozconfig, but we're not quite
there yet.

Differential Revision: https://phabricator.services.mozilla.com/D14381
2018-12-18 10:50:13 +09:00
Mike Hommey
45d8136115 Bug 1513798 - Add cctools/bin to PATH. r=nalexander
Instead of passing -B to clang and setting TOOLCHAIN_PREFIX.

Differential Revision: https://phabricator.services.mozilla.com/D14378
2018-12-18 10:50:10 +09:00
Mike Hommey
b0360b6b16 Bug 1513798 - Use x86_64-darwin11 as a prefix for cctools-port, rather than x86_64-apple-darwin11. r=nalexander
This matches more closely cross toolchains prefixes (as can be seen in
e.g. media/libvpx/libvpx/README for x86_64-darwin*-gcc), and leaves it
to the build system to figure out the right --target to pass to clang on
its own.

Differential Revision: https://phabricator.services.mozilla.com/D14376
2018-12-18 10:50:08 +09:00
Mike Hommey
76a8b9932a Bug 1513798 - Use a --target that matches what we pass to clang for OSX cross builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14375
2018-12-18 10:50:08 +09:00
Mike Hommey
8c199b7a84 Bug 1513798 - Revert bug 638149 and leave it to configure to set -dead_strip. r=nalexander
We're always setting -dead_strip on mac builds, per
cross-mozconfig.common, we might as well not do that and revert bug
638149, which disabled adding -dead_strip with LTO: that is apparently
not a problem anymore.

Differential Revision: https://phabricator.services.mozilla.com/D14373
2018-12-18 10:50:06 +09:00
Mike Hommey
463bafbdaa Bug 1513798 - Remove build/macosx/build-cctools.sh. r=nalexander
The script, added in bug 1291028, was obsoleted by bug 1331957.

Differential Revision: https://phabricator.services.mozilla.com/D14372
2018-12-18 10:50:04 +09:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Tom Prince
f85b06c132 Bug 1492526: Don't build mar's as part of the build; r=firefox-build-system-reviewers,mshal,Callek
We need to sign parts of the contents of the archives, so the mar's that we
ship get built as part of the repackage task. Thus, there is no reason to also
create and upload as part of the build, just to throw them away.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 18:15:40 +00:00
Chris Peterson
e58c4d5a41 Bug 1490575 - Remove Mulet comments from build files. r=froydnj
Mulet was a Firefox OS simulator that is no longer supported: https://wiki.mozilla.org/Mulet

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

--HG--
extra : rebase_source : d077c88b8446d0491b4af0dfe2198c4b980fa279
extra : source : 41301ab98bd094235b6995b18bcaa521f221c5f1
2018-09-11 23:07:32 -07:00
Hiroyuki Ikezoe
39f926dab0 Bug 1417646 - Add llvm-dsynutil/ into PATH. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4041
2018-08-23 13:07:36 +09:00
Mike Hommey
6b4f2f3162 Bug 1487603 - Update llvm-dsymutil to 7rc2. r=dmajor,firefox-build-system-reviewers
Last time it was updated is bug 1436208, and the crashes we patched it
for back then has been fixed upstream a few months later.

For some reason, they renamed the executable from llvm-dsymutil to
dsymutil.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 13:25:27 +00:00
Mike Hommey
6cf772467d Bug 1429056 - Wrap llvm-dsymutil calls on automation. r=ted
We add a wrapper for llvm-dsymutil for macosx CI builds such that when
it crashes, we attempt to get a reduced test case and upload it as a
build artifact. This will allow to more easily report such crashes
upstream.

--HG--
extra : rebase_source : be208e6a46b60659a4e51acbe2bd7c4081189d1c
2018-01-19 10:20:41 +09:00
Mike Hommey
0afbc1f2d9 Bug 1430315 - Use the separate llvm-dsymutil toolchain to build Firefox. r=rillian
--HG--
extra : rebase_source : a71ee493885e9c1eaaed5872df57932fd0c2105f
2018-01-16 17:34:21 +09:00
Tom Prince
1d74db87ce Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 5a4a50c8feb477a9b50c30e35b72a316b1f1bc8c
2017-12-10 23:05:05 -07:00
Dorel Luca
2f271a1136 Backed out 4 changesets (bug 1424651) as requested by tomprice r=backout on a CLOSED TREE
Backed out changeset 10ebf78f32bb (bug 1424651)
Backed out changeset 746d96792d18 (bug 1424651)
Backed out changeset 6038fb7b458c (bug 1424651)
Backed out changeset 189fd4f1df41 (bug 1424651)
2017-12-12 06:33:18 +02:00
Tom Prince
4dfc8f7a46 Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 475e2d8888ff4b93efa9886581de9d145b51c51c
2017-12-10 23:05:05 -07:00
Ted Mielczarek
8b7140ce04 bug 1424323 - remove MOZ_AUTOMATION_UPLOAD_SYMBOLS from in-tree mozconfigs. r=rillian
With all of our builds in Taskcluster now, we should never be uploading
symbols from build tasks. Unfortunately Windows builds were still doing so.
This patch removes MOZ_AUTOMATION_UPLOAD_SYMBOLS from all the in-tree
mozconfigs and a few other places so that it should always default off
(per moz-automation.mk). The rest of the uploadsymbols bits will be
removed once Thunderbird fixes their automation.

This patch was mostly autogenerated by running:
rg --files-with-matches UPLOAD_SYMBOLS browser/config/mozconfigs/ mobile/android/config/mozconfigs/ | xargs sed -ri '/.*UPLOAD_SYMBOLS.*/d'
sed -ri '/.*UPLOAD_SYMBOLS.*/d' build/unix/mozconfig.linux build/mozconfig.win-common build/macosx/local-mozconfig.common build/mozconfig.automation

Then mobile/android/config/mozconfigs/common and
taskcluster/scripts/builder/build-linux.sh were hand-edited.

MozReview-Commit-ID: Cy8kSEodSg4

--HG--
extra : rebase_source : 01caf1651b4eb428313e1f371aa585f8f34c4151
2017-12-08 13:50:17 -05:00
Chris Manchester
9cc53d37d9 Bug 1412057 - Do not attempt to enable the clang plugin in mozconfigs during artifact builds on try. r=nalexander
MozReview-Commit-ID: HSEdJeYbCeC

--HG--
extra : rebase_source : d41c96c0a3e4427e17cf478fcfafe1a5d4b178cf
2017-10-26 13:04:54 -07:00
Ted Mielczarek
f928fcd5fa Bug 1324892: Update Mac builds to use the OS X 10.11 SDK. r=mshal 2017-09-08 15:49:13 -04:00
Sebastian Hengst
04b27c364d Backed out changeset ea1de92a83a1 (bug 1324892) for toolchain bustage. r=backout on a CLOSED TREE 2017-09-08 19:47:47 +02:00
Ted Mielczarek
5e105a0326 Bug 1324892: Update Mac builds to use the OS X 10.11 SDK. r=mshal 2017-09-08 13:30:35 -04:00
Mike Hommey
4c6aca3b5a Bug 1382525 - Move LLVM_CONFIG out of mozconfig.common. r=chmanchester
LLVM_CONFIG, per the contents of toolkit/moz.configure, is tied to
--enable-stylo, but it currently is set on all types of builds. It
currently happens to work, but it's actually not meant to, and sure
enough, the fix for bug 1374727 exacerbates that.

So we create a new mozconfig.stylo file that enables stylo and sets
LLVM_CONFIG, such that only build types that do enable stylo have
LLVM_CONFIG set.

--HG--
extra : rebase_source : 01277a79951888046c0b8e29c61cfc3b049ee0f0
2017-07-20 14:06:23 +09:00
Ralph Giles
8151fd3c3c Bug 1379339 - Enable stylo in macOS automation builds. r=gps
Enable stylo in Firefox Nightly builds for macOS so we can
get testing feedback until we have addressed issues blocking
enabling it for developer builds.

MozReview-Commit-ID: 3y0QT4oiBpt

--HG--
extra : rebase_source : 531162da334a6d124dcd7328f45d677cb4933551
2017-07-07 18:42:01 -07:00
Ralph Giles
2108ee3e4e Bug 1368083 - Pass -isysroot to bindgen. r=gps
When cross-compiling, rust-bindgen needs the -isysroot
flag we pass to the C++ compiler to find the correct
headers. Add a new BINDGEN_CFLAGS environment variable
for passing this and other relevant options, and reformat
its contents in toolchain.configure so we can use autoconf-
style template substitution to poke it into a bindgen.toml
file to be read by build scripts like build_gecko.rs.

Set this variable from the macosx/cross-mozconfig.common
to the same extra flags we pass to CXX so automation
builds work correctly with --enable-stylo.

MozReview-Commit-ID: 7wabObiFtVb

--HG--
extra : rebase_source : eeba30e3d64112da65e2e6830ef5fc1b54965529
2017-07-06 11:34:03 -07:00
Kartikaya Gupta
4d0ffe047a Bug 1342503 - Build webrender by default on OS X buildbot builds. r=froydnj
With the fix for bug 1365993, building rust code with cargo as part of the
Firefox build on OS X 10.7 builders no longer fails, so we don't need to
disable webrender there any more.

MozReview-Commit-ID: 4kulJNZjsfG

--HG--
extra : rebase_source : 3d4b4fee86490c5d9bbe41d11414f2b4d0323132
2017-05-27 15:28:38 -04:00