Граф коммитов

8310 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd 0839a1bd24 Bug 1542746 - remove code for frontend-based PGO instrumentation; r=dmajor
We're moving to IR-level PGO instrumentation for clang-cl.  We've also
moved to using static linker ordering files, which was the primary
application of the previous style of PGO instrumentation.  We therefore
we no longer need this code.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:00:38 +00:00
Nathan Froyd 875e72df9f Bug 1542746 - switch clang{,-cl} to use IR-based instrumentation for PGO; r=firefox-build-system-reviewers,chmanchester
This form of instrumentation is more like our other platforms, and also
opens the possibility of interacting properly with Rust IR-level PGO.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 19:52:41 +00:00
Nathan Froyd 2b3a15afe9 Bug 1542746 - use a static MOZ_PROFILE_ORDER_FILE; r=nalexander,chmanchester
We're planning on switching to IR-based profiling, so we can't use the
frontend-based instrumentation to collect the order in which functions
are executed...at least not during the build itself.  Performance tests
indicate that not having the order information decreases performance
significantly.  So we're going to check in static files for Win32 and
Win64 and use those to perform the ordering.  It's OK if these files are
slightly out of date; as of this writing, builds that generate and then
use these files complain that ~1/3 of the functions can't be found (!).
We're just trying to do something slightly smarter than whatever the
linker default is.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:54:59 +00:00
Nathan Froyd 93a44ee14e Bug 1553972 - make --with-pgo-profile-path take a directory; r=nalexander
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way.  Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:53:59 +00:00
Kagami Sascha Rosylight bead355959 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-23 03:57:17 +00:00
Mike Hommey 146d61ba71 Bug 1530650 - Add --cap-lints warn to RUSTFLAGS when not building with --enable-warnings-as-errors. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32080

--HG--
extra : moz-landing-system : lando
2019-05-22 12:59:01 +00:00
Chris Manchester a18c4d2cbd Bug 1553339 - Abandon "2" in name of sccache toolchain artifacts. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D32218

--HG--
extra : moz-landing-system : lando
2019-05-22 21:06:16 +00:00
Brindusan Cristian 952521e616 Backed out changeset fa4c37c31dfd (bug 1550956) as requested by mikedeboer on IRC for causing mach to stop working on Python 2. a=backout 2019-05-22 12:33:23 +03:00
Kagami Sascha Rosylight 2dd546dac6 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-21 18:38:46 +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
Tom Ritter 505cced8b9 Bug 1471698 - Switch the mingw clang compiler to the 8 branch r=froydnj
This will match the compiler version Tor would like. We backport several
llvm-objcopy patches that landed right after the 8 branch though. We
also grab some upstream changes from mingw-clang in the build script

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:21:15 +00:00
David Major 12a5d86407 Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:53:37 +00:00
Bastien Orivel e661e801af Bug 1552695 - Part 1: Deduplicate syn and quote. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31737

--HG--
extra : moz-landing-system : lando
2019-05-20 12:21:20 +00:00
Coroiu Cristina 55a63d1520 Backed out 2 changesets (bug 1523526, bug 1526443) for Be bustage on Windows AArch on a CLOSED TREE
Backed out changeset 98013639d600 (bug 1526443)
Backed out changeset e8ac4b512f9d (bug 1523526)
2019-05-20 20:21:56 +03:00
David Major f0dc4b3dbe Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 18:38:23 +00:00
Gijs Kruitbosch 1722aa9085 Bug 1552425 - re-disable e10s when generating PGO profile data to fix speedometer perf regression r=froydnj
Bug 1548941 restricted under which circumstances we allow the
browser.tabs.remote.autostart pref to turn off e10s. The PGO profileserver.py
script relied on the unittest-required user.js prefs collection to turn off
e10s (see also bug 1196094) via this pref. For PGO builds, we do not set the
MOZ_DISABLE_NONLOCAL_CONNECTIONS env var, which meant that we stopped
honouring the pref to turn off e10s. Unfortunately, this meant that
e10s was inadvertently now switched on for the pgo profiling, which
negatively impacted speedometer on PGO builds (and possibly other tests).

All this change does is re-disable e10s for PGO profiling. We should
investigate how to turn e10s on "properly" for PGO, but we can do that in
bug 1196094, without taking this temporary regression, especially as 68
branches.

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

--HG--
extra : moz-landing-system : lando
2019-05-19 13:26:13 +00:00
Chris Manchester 5fa8ca19bf Bug 1552021 - Add an option to turn off rust incremental compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31341

--HG--
extra : moz-landing-system : lando
2019-05-17 23:00:30 +00:00
Emilio Cobos Álvarez dba21ae038 Bug 1552476 - Ensure we pass a string to CDLL on Windows. r=froydnj
Apparently it doesn't deal very well with unicode objects.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:16:55 +00:00
Emilio Cobos Álvarez cee627fc60 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:24:17 +00:00
Ciure Andrei 00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez e10c38f6f4 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

Differential Revision: https://phabricator.services.mozilla.com/D30799
2019-05-16 16:24:36 +02:00
Kevin Jacobs b93f23a66b Bug 1535210 - Set SSL STATE_IS_BROKEN flag for TLS1.0 and TLS 1.1 connections. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D29576

--HG--
extra : moz-landing-system : lando
2019-05-15 23:34:52 +00:00
Emilio Cobos Álvarez c74f3a885b Bug 1549762 - Don't build mozglue linker tests if building with icecream. r=glandium
As icecream doesn't deal well with .incbin.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:40:23 +00:00
Emilio Cobos Álvarez 56a3566948 Bug 1551618 - Check for libclang >= 4.0 in configure. r=froydnj
This is better than failing with obscure rust errors later on.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:11:52 +00:00
Nathan Froyd 85925b5be6 Bug 1547196 - remove rustup wrapper from `rustc` as well as `cargo`; r=glandium
Having `rustc` be `rustup`'s wrapper for `rustc` means that we may
silently honor `rustup`'s override mechanisms.  We noticed this first on
OS X, where we use the "real" `cargo` but `rustup`'s `rustc` wrapper,
and problems ensued when `cargo` thought it was using one version of
`rustc`, but actually wound up using something different.

It seems better to avoid silently interposing `rustup`'s toolchain
override mechanisms everywhere, rather than having to special-case OS
X.  So let's factor out a general mechanism for removing the wrappers
`rustup` provides and use that for both `rustc` and `cargo`.  The tests
need adjusting because we weren't triggering the unwrapping cases
before; we don't yet test the case where we really do need to unwrap.
That test can be left for a future patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 05:43:19 +00:00
Nathan Froyd 1396262e0e Bug 1550868 - enforce a minimum version of clang-cl; r=glandium
We've not been checking the clang-cl version in use.  This lack of
checking is bad, for a couple of reasons:

* Released versions of clang-cl differ drastically in their robustness;
* Only the most recent version of clang-cl supports aarch64.

We should check for a minimum version of clang-cl, just like our other
supported compilers.  As a bonus, we can then start depending on
features that we know appear in the particular minimum clang-cl
version.  (The current patch is motivated by `/clang:` command-line
support, but one could pick other things.)

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

--HG--
extra : moz-landing-system : lando
2019-05-14 14:22:55 +00:00
Sebastian Streich 99e0852267 Bug 1402530 - Use IsOriginPotentiallyTrustworthy in ShouldLoad r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D30917

--HG--
extra : moz-landing-system : lando
2019-05-13 14:40:40 +00:00
Nathan Froyd f104ce2b4a Bug 1546438 - add a `cross` option to `MOZ_LTO` for cross-language LTO; r=mshal
This option is for performing LTO between C++ code and Rust code.  The
actual build pieces for Rust code are coming in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:16:36 +00:00
Nathan Froyd ae023b43de Bug 1549794 - add sysroot flags for the macOS SDK to bindgen's flags; r=nalexander
We already do this for the compiler that we detect via
toolchain.configure...but as the comment in `basic_bindgen_cflags`
alludes to, we don't actually use that compiler here.  We use a much
more bare-bones compiler, so we have to add the necessary flags manually.

We need to make `--with-macos-sdk` a `js_option` so that uses of bindgen
in the JS engine will receive the proper flags.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:07:34 +00:00
Gijs Kruitbosch c14acdeadd Bug 1548941 - remove e10s force-enable and force-disable prefs, and on desktop restrict 'normal' e10s pref to automation and unofficial builds, r=bholley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D29892

--HG--
extra : moz-landing-system : lando
2019-05-09 21:55:46 +00:00
Noemi Erli 1c65279044 Backed out changeset 38ce182f68ea (bug 1402530) for build bustages in nsMixedContentBlocker.cpp CLOSED TREE 2019-05-09 17:29:38 +03:00
Sebastian Streich db1660661f Bug 1402530 - Use IsOriginPotentiallyTrustworthy in ShouldLoad r=ckerschb,jkt
Differential Revision: https://phabricator.services.mozilla.com/D28870

--HG--
extra : moz-landing-system : lando
2019-05-07 18:08:19 +00:00
Mike Hommey fa3631a2e3 Bug 1549886 - Move MOZ_TELEMETRY_REPORTING to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30335

--HG--
extra : moz-landing-system : lando
2019-05-08 14:33:54 +00:00
Andreea Pavel 0a95eec6ae Backed out changeset 4e2250bbaed3 (bug 1548941) for failing test_gpuprocess.js on a CLOSED TREE 2019-05-08 22:55:45 +03:00
Gijs Kruitbosch 65eb7a47aa Bug 1548941 - remove e10s force-enable and force-disable prefs, and on desktop restrict 'normal' e10s pref to automation and unofficial builds, r=bholley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D29892

--HG--
extra : moz-landing-system : lando
2019-05-08 15:56:53 +00:00
Alexis Beingessner 1017bd764c Bug 1525402 - Bump cbindgen to 0.8.6. r=kvark
This version adds support for Rust 2018's new externs

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:15 +00:00
Nick Alexander a7e3d82701 Bug 1543247 - Part 1: Add `mach browsertime` command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 23:56:49 +00:00
Ryan VanderMeulen 40c297ce51 Bug 1548916 - Add support for specifying a custom path for app version files. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D29918

--HG--
extra : moz-landing-system : lando
2019-05-06 23:19:44 +00:00
Kartikaya Gupta 3068d94ed2 Bug 1549554 - Use biplist instead of plistlib so we can parse SDKSettings.plist in the 10.14 SDK. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D30097

--HG--
extra : moz-landing-system : lando
2019-05-06 20:11:16 +00:00
Razvan Maries 12bcfbb334 Backed out 2 changesets (bug 1543247) for build bustages. CLOSED TREE
Backed out changeset feb726e4f15d (bug 1543247)
Backed out changeset 4b3619d89abd (bug 1543247)
2019-05-04 03:10:55 +03:00
Nick Alexander 6df6c7ee39 Bug 1543247 - Part 1: Add `mach browsertime` command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 22:44:23 +00:00
Mike Shal 035996e0ef Bug 1523324 - Add retries to upload_generated_sources.py; r=nalexander
Occasionally the taskcluster fetches can fail, so make sure the requests
library automatically retries if possible.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 23:26:51 +00:00
Dan Minor e2aee8c88f Bug 1540760 - Make it possible to use clang-cl as an assembler; r=firefox-build-system-reviewers,mshal
Some media libraries use gas syntax in their assembly files. Rather than
converting these arm assembly syntax files for aarch64, we can use clang-cl
to build them directly.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 15:04:48 +00:00
Rob Thijssen c00716af37 Bug 1543026 - enable sccache on gcp r=wcosta
this change comprises the in-tree changes required to make use of sccache in gcp.
specifically:
- a gcp metadata lookup for availability-zone is added to mozconfig, enabling a build to determine its regional gcp sccache bucket
- the sccache cargo build command is modified to include the gcs feature when the environment contains gcs configuration

note that further changes are required on infra to support sccache use. the required changes already [exist](https://github.com/mozilla-releng/OpenCloudConfig/commit/1d515dc) and are enabled for gcp windows infra, including:
- a json credential file on the build instance filesystem, containing credentials valid for the appropriate scm level bucket for the gcp region
- an `SCCACHE_GCS_KEY_PATH` env variable containing the path to the json credential file
- an `SCCACHE_GCS_RW_MODE` env variable containg the text `READ_WRITE`
- sccache buckets must exist for each region and scm levels 1 & 3
- credentials for scm level 1 buckets **must not** be valid for scm level 3 buckets

on gcp systems which do not contain credential files and the above mentioned env variables (eg gecko-[1-3]-b-linux), sccache should fail gracefully without breaking builds.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 12:56:20 +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
Geoff Brown ad07ef3e50 Bug 1548137 - Change bug component for build/mobile; r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D29428

--HG--
extra : moz-landing-system : lando
2019-04-30 22:45:44 +00:00
Mike Hommey e958e4adc0 Bug 1536543 - Require rust 1.34. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25896

--HG--
extra : moz-landing-system : lando
2019-04-30 22:16:11 +00:00
Nathan Froyd 20f2bebd3f Bug 1547038 - ignore unrelated errors when checking compiler flags with ccache; r=chmanchester
Using `ccache` apparently interferes with how flag checking is done when
we're using `clang` as our compiler.  We can work around this by adding
a few more flags to flag checking.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 20:04:22 +00:00
Bobby Holley cc31352b96 Bug 1547847 - Refine MacOS header configure check to whitelist cross-compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29285

--HG--
extra : moz-landing-system : lando
2019-04-30 00:06:53 +00:00
Nathan Froyd 0eebba71e5 Bug 1540082 - add an aarch64-cross clang build; r=nalexander
Analogously to the existing `linux64-clang-8-android-cross` build, this
build is a linux x86-64 build with runtime library support for aarch64.

Depends on D28405

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

--HG--
extra : moz-landing-system : lando
2019-04-22 22:11:12 +00:00
Nathan Froyd 047805c859 Bug 1540082 - add support for extra runtime targets in build-clang.py; r=firefox-build-system-reviewers,chmanchester
This change enables us to build compiler-rt and related
libraries (e.g. address sanitizer, etc.) for whatever targets we like,
assuming that we have an accessible sysroot for the target on the build
machine.

Depends on D28404

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:45:06 +00:00
Nathan Froyd 29df08bb6d Bug 1546136 - dump cmake logs on command failures; r=firefox-build-system-reviewers,chmanchester
CMake errors can be pretty opaque, especially if CMake is being run
inside the Ninja build process.  Let's try to surface those errors to
make problems easier to debug.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:44:55 +00:00
Mark Banner e4c79f2689 Bug 1495672 - Block configure if the Mac OS X headers are not installed on 10.14. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28817

--HG--
extra : moz-landing-system : lando
2019-04-25 16:27:18 +00:00
Nathan Froyd e6da99d7d3 Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 16:15:10 +00:00
Cosmin Sabou 428af65705 Backed out changeset 445a4ea25bb1 (bug 1546491) for build bustages on test/configure/lint.py. CLOSED TREE 2019-04-24 18:44:08 +03:00
Nathan Froyd c7748ae96f Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 15:09:05 +00:00
Gabriele Svelto 83c135087e Bug 1542827 - Revert a change to LLVM to fix unwinding to the exception handler on Windows/AArch64 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D27798

--HG--
extra : moz-landing-system : lando
2019-04-24 11:52:11 +00:00
Nathan Froyd 49c1be9b8f Bug 1545502 - move fuzzing options to toolchain.configure; r=firefox-build-system-reviewers,chmanchester
We moved fuzzing options out of `toolkit/moz.configure` into `js`'s
configure a while back, but we seem to have snuck some fuzzing-related
options into `toolchain.configure` in the interim.  But we can't make
the `toolchain.configure` bits depend on the `js` bits; let's just put
everything in `toolchain.configure`.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:15:17 +00:00
Nathan Froyd 3b7164be54 Bug 1542958 - fix code section adjustments in elfhack; r=glandium
We were never adjusting `last` in this loop, so we were computing the
wrong addresses for all sections beyond the first.  Which in turn meant
that we would compute the wrong size for the section data we needed to
allocate.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 23:44:28 +00:00
Nathan Froyd cc22b1cec2 Bug 1544568 - pull out runtime library-related settings in build-clang.py; r=firefox-build-system-reviewers,chmanchester
It seems better to set switches enabling runtime libraries and switches
enabling runtime libraries to build in different places, as future
changes might only enable runtime libraries for certain targets, but not
need any special switches for building.

Depends on D27594

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:18:01 +00:00
Nathan Froyd 8fffaf4e11 Bug 1544568 - make setting of `LLVM_*_TARGETS` more explicit; r=firefox-build-system-reviewers,chmanchester
`android_targets` here is a dict, not a sequence, and while `iter` on a
dict object implicitly means `dict.iterkeys()`, that's not really
obvious.  We should instead be explicit about what we're doing here.

Depends on D27593

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:15:15 +00:00
Nathan Froyd cc3cc65fd7 Bug 1544568 - don't build XRay libraries; r=firefox-build-system-reviewers,chmanchester
We don't need them and we might as well be explicit about not building them.

Depends on D27592

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:14:15 +00:00
Nathan Froyd 306721430b Bug 1544568 - move compiler-rt runtimes setup into build_one_stage; r=firefox-build-system-reviewers,chmanchester
The setup for compiler-rt is currently done before the stage 2 build,
which happens to be the final stage for our android runtime libraries
build.  But we may also want to build runtime libraries on 3-stage
bootstrap builds, in which case we don't want compiler-rt to be active
for the second stage.  Move the setup into build_one_stage so that the
setup is controllable by is_final_stage, which is set in all the place
that we care about.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:13:58 +00:00
Ehsan Akhgari ccfae51c32 Bug 1500533 - Ensure that TLS session resumption tickets are only consumed if the channel isn't isolated by anti-tracking checks; r=michal,baku
Differential Revision: https://phabricator.services.mozilla.com/D26996

--HG--
extra : moz-landing-system : lando
2019-04-18 01:00:22 +00:00
Jesse Schwartzentruber 3b2a6e156c Bug 1537751 - Add x86_64 target to Android Clang build configuration. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24349

--HG--
extra : moz-landing-system : lando
2019-04-16 18:30:56 +00:00
Emilio Cobos Álvarez 4f84601466 Bug 1542878 - Check all the cbindgen executables before failing configure. r=froydnj
Before this patch, we first find an executable, then check the version. So if
the first executable we find is outdated, we won't look for others.

Instead, check each of them for different versions manually. This will also
unblock bug 1540533, since at that point we know that we'll be able to find
a cbindgen with the right version.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 14:31:19 +00:00
Eric Rahm 1cfab6d66f Bug 1544418 - Increase max OSX SDK version to 10.14. r=mshal
We are no longer seeing black screen issues on OSX 10.14.4.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:45 +00:00
Eric Rahm 2016216d6f Bug 1544418 - Backed out changeset 3d0236f985f8. r=mshal
Backout update that broke OSX 10.13 builds.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:57 +00:00
Nathan Froyd 0d8cc55ffb Bug 1542958 - avoid malloc/delete[] mismatches in elfhack; r=glandium
We were allocating ElfSection's data with `new[]` and modifying it with
`realloc` in some places, which causes allocator mismatches.
Consistently manage the data with `malloc`, `realloc`, and `free` instead.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 23:40:04 +00:00
Chris Manchester 0ce6855fe4 Bug 1544139 - Un-set RUSTFLAGS for artifact builds. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27397

--HG--
extra : moz-landing-system : lando
2019-04-12 22:47:52 +00:00
Mike Shal 63403bb0df Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:13 +00:00
Mike Shal b64b81d0c5 Bug 1522931 - Vendor biplist; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26390

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:15 +00:00
Cosmin Sabou 856169370c Backed out changeset ac23ad5ef0c1 (bug 1542862) as requested by glandium for being obsolete after bug 1536486. 2019-04-12 02:24:21 +03:00
Mike Hommey 35d057b2e3 Bug 1536486 - Use plain cargo instead of rustup cargo on OSX. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27040

--HG--
extra : moz-landing-system : lando
2019-04-11 22:25:51 +00:00
Oana Pop Rus 76651301a1 Backed out changeset acb04833e713 (bug 1500533) for assertion failure in nsHttpChannel.cpp on a CLOSED TREE 2019-04-11 23:15:08 +03:00
Ehsan Akhgari bf2a5e6e54 Bug 1500533 - Ensure that TLS session resumption tickets are only consumed if the channel isn't isolated by anti-tracking checks; r=michal,baku
Differential Revision: https://phabricator.services.mozilla.com/D26996

--HG--
extra : moz-landing-system : lando
2019-04-11 18:36:16 +00:00
Mike Shal e28f6db31f Bug 1537574 - Use mozbuild's backend-out-of-date logic for RecursiveMake; r=firefox-build-system-reviewers,chmanchester
If mozbuild parsing fails due to a missing file (eg: a file not existing
in UNIFIED_SOURCES), then no Makefiles are written out, but
config.status exists. This would cause mozbuild to think that configure
doesn't need to run, and rely on make to perform the backend-out-of-date
check in rebuild-backend.mk. Unfortunately since no Makefiles were
written, the make command fails immediately and no attempt is made to
re-create the backend. Note that this is only a problem if the first
mozbuild parsing from a clobber build fails, otherwise there is
typically a top-level Makefile from a previous build to call into (at
which point make can determine it is out-of-date, and re-invoke itself).

The fix is to have the RecursiveMake backend re-use the same logic that
was introduced into mozbuild for alternate backends, and remove
rebuild-backend.mk. This way, mozbuild can always determine if the
backend needs to be regenerated, even if the initial parsing failed.

Test code was also relying on rebuild-backend.mk to generate the
TestBackend, but moving backend_out_of_date() into MozbuildObject allows
this code to be shared.

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

--HG--
rename : build/gen_test_backend.py => python/mozbuild/mozbuild/gen_test_backend.py
extra : moz-landing-system : lando
2019-04-10 22:14:27 +00:00
Daniel Varga 6d6f6dadce Backed out 4 changesets (bug 1458385) for nightly updates fail. a=backout
Backed out changeset 09338587b68e (bug 1458385)
Backed out changeset f7791b680d46 (bug 1458385)
Backed out changeset cc06a7beb3d1 (bug 1458385)
Backed out changeset 3b10487587c3 (bug 1458385)
2019-04-10 21:09:46 +03:00
Csoregi Natalia efc3a9c990 Backed out 2 changesets (bug 1522931) for breaking macOS build on 10.14. a=backout
Backed out changeset 27214432fe48 (bug 1522931)
Backed out changeset 71191e5499a1 (bug 1522931)
2019-04-10 17:10:12 +03:00
Mike Shal 3af5e94461 Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-09 20:38:51 +00:00
Mike Hommey c0bec91e84 Bug 1537644 - Avoid using link.exe during configure. r=chmanchester
Interestingly, the change makes one configure test have a different
result (localeconv ends up being found when it used not to be found),
but the result of that check is actually not used on Windows because we
set HAVE_LOCALECONV manually.

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

--HG--
extra : moz-landing-system : lando
2019-04-09 21:57:19 +00:00
Mike Shal ca72d9f976 Bug 1522931 - Vendor biplist; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26390

--HG--
extra : moz-landing-system : lando
2019-04-08 16:29:55 +00:00
Bobby Holley 2a1f1c84f4 Bug 1542862 - Eagerly fail when building Android on OSX with rust 1.33 and point to the bug/workaround. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26589

--HG--
extra : moz-landing-system : lando
2019-04-09 18:40:44 +00:00
Tom Prince b4e1868e59 Bug 1458385: Package mar and mbsdiff as a toolchain; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D24229

--HG--
extra : moz-landing-system : lando
2019-04-06 05:49:31 +00:00
Andreea Pavel a7f868ac25 Backed out changeset 95b3298fd2d4 (bug 1537574) for windows task timeouts a=backout
--HG--
rename : python/mozbuild/mozbuild/gen_test_backend.py => build/gen_test_backend.py
2019-04-08 22:23:03 +03:00
Chris Manchester 37d285c812 Bug 1542400 - Don't set LLVM_DEFAULT_TARGET_TRIPLE to possibly erroneous value when building clang runtimes. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26384

--HG--
extra : moz-landing-system : lando
2019-04-08 16:28:24 +00:00
Mike Shal 96425af79a Bug 1537574 - Use mozbuild's backend-out-of-date logic for RecursiveMake; r=firefox-build-system-reviewers,chmanchester
If mozbuild parsing fails due to a missing file (eg: a file not existing
in UNIFIED_SOURCES), then no Makefiles are written out, but
config.status exists. This would cause mozbuild to think that configure
doesn't need to run, and rely on make to perform the backend-out-of-date
check in rebuild-backend.mk. Unfortunately since no Makefiles were
written, the make command fails immediately and no attempt is made to
re-create the backend. Note that this is only a problem if the first
mozbuild parsing from a clobber build fails, otherwise there is
typically a top-level Makefile from a previous build to call into (at
which point make can determine it is out-of-date, and re-invoke itself).

The fix is to have the RecursiveMake backend re-use the same logic that
was introduced into mozbuild for alternate backends, and remove
rebuild-backend.mk. This way, mozbuild can always determine if the
backend needs to be regenerated, even if the initial parsing failed.

Test code was also relying on rebuild-backend.mk to generate the
TestBackend, but moving backend_out_of_date() into MozbuildObject allows
this code to be shared.

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

--HG--
rename : build/gen_test_backend.py => python/mozbuild/mozbuild/gen_test_backend.py
extra : moz-landing-system : lando
2019-04-08 16:37:56 +00:00
Mike Hommey b22d57ac74 Bug 1541821 - Update debian7 docker images for CVE-2019-3462. r=tomprince
This imports the changes from wheezy-lts (http://deb.freexian.com/extended-lts/)
and creates a package we install in the debian7-based images (with a
modified version number to work around bug #1419577.

This leaves out debian7-raw and debian7-packages as unpatched, because
of the chicken-and-egg problem.

Depends on D26100

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

--HG--
extra : moz-landing-system : lando
2019-04-04 16:23:58 +00:00
Masatoshi Kimura 6498afaa9e Bug 1325897 - Unship some Universal CRT DLLs. r=dmajor,glandium
Differential Revision: https://phabricator.services.mozilla.com/D23794

--HG--
extra : moz-landing-system : lando
2019-04-04 22:59:55 +00:00
Christian Holler e3fb12ff12 Bug 1541943 - Temporarily switch libFuzzer builds back to clang-7. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26194

--HG--
extra : moz-landing-system : lando
2019-04-04 16:47:57 +00:00
Mike Hommey aeac69533b Bug 1540882 - Align binutils aarch64 target with build time clang --target. r=froydnj
When cross-building with clang, we use `--target` with a target that is
derived from the configure target, with the vendor removed. So for
`configure --target=aarch64-unknown-linux-gnu`, we use
`clang --target=aarch64-linux-gnu`.

Then, clang itself looks for tools as `$target-$tool` first, then
`$tool`, which means for the assembler,  it's looking for
`aarch64-linux-gnu-as` before `as`, but not
`aarch64-unknown-linux-gnu-as`.

Building GNU as with `--target=aarch64-unknown-linux-gnu` creates the
`aarch64-unknown-linux-gnu-as`, but we really want `aarch64-linux-gnu`,
so we adjust the target in the binutils build script.

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

--HG--
extra : moz-landing-system : lando
2019-04-02 13:50:54 +00:00
Mike Hommey b23835262f Followup for bug 1538060 - Unbust OSX ccov builds. r=me,a=CristianB
We rename the gcov_flush patch to force a rebuild of clang with the
updated patch.
2019-04-02 22:41:59 +09:00
Mike Hommey 9454edbe38 Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

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

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-04-02 02:18:10 +00:00
Noemi Erli 395164bc36 Backed out changeset 9567622873d6 (bug 1325897) for causing Toolchains stackwalks bustages CLOSED TREE 2019-04-02 05:36:23 +03:00
Noemi Erli c479fa48df Backed out changeset 0d8cf467ed34 (bug 1538060) for Toolchains bustages CLOSED TREE
--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-04-02 04:54:34 +03:00
Mike Hommey 0b2041f465 Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

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

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-04-01 12:23:13 +00:00
Sylvestre Ledru 04ccada040 Bug 1536790 - Also import clangTidyMPIModule when building the clang-plugin r=andi
Depends on D24175

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

--HG--
extra : moz-landing-system : lando
2019-04-01 12:24:37 +00:00
Andi-Bogdan Postelnicu c303df04c3 Bug 1539779 - clang-tidy 8 mixes stderr and stdout causing parsing issues. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D25255

--HG--
extra : moz-landing-system : lando
2019-04-01 12:18:44 +00:00
Sylvestre Ledru bf99cf9d2e Bug 1536790 - Upgrade to clang-{tidy,format} 8.0.0 (from 7.0.1) r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24175

--HG--
extra : moz-landing-system : lando
2019-04-01 12:24:35 +00:00
Masatoshi Kimura 1d361e352e Bug 1325897 - Unship some Universal CRT DLLs. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D23794

--HG--
extra : moz-landing-system : lando
2019-04-01 15:37:07 +00:00
Nick Alexander 0473ac6e86 Bug 1525968 - Post: Make $topobjdir/.lldbinit reference full build symbols on Android. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D19092

--HG--
extra : moz-landing-system : lando
2019-03-27 22:37:58 +00:00
Mike Hommey 920c719ba8 Bug 1540369 - Build GNU as for aarch64 target in binutils toolchain. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25502

--HG--
extra : moz-landing-system : lando
2019-03-30 23:04:42 +00:00
Emilio Cobos Álvarez 1edac4dc48 Bug 1536582 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D25520

--HG--
extra : moz-landing-system : lando
2019-03-30 19:55:23 +00:00
Ciure Andrei 8a67ec169a Backed out 3 changesets (bug 1538060, bug 1539779, bug 1536790) for causing clang-tidy bustages CLOSED TREE
Backed out changeset 7d058f3174e5 (bug 1538060)
Backed out changeset 8839622122ed (bug 1539779)
Backed out changeset 9eb7867c1dd4 (bug 1536790)

--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-03-30 01:52:37 +02:00
Andreea Pavel e9856466cd Bug 1538060 - Update non-Windows builds to clang 8.
Summary: Windows builds have been taken care of in bug 1535441.

Reviewers: froydnj

Reviewed By: froydnj

Subscribers: froydnj, sylvestre, rjl

Bug #: 1538060

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

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : rebase_source : 4306240dd7bee404e83b6f0e651f4be0a1bfa165
extra : histedit_source : e569b2a5568d3aa2b9191b214947a8a11a3e06bf
2019-03-30 01:24:50 +02:00
Andi-Bogdan Postelnicu 5583c1c99a Bug 1539779 - clang-tidy 8 mixes stderr and stdout causing parsing issues. r=sylvestre
Reviewers: sylvestre

Reviewed By: sylvestre

Bug #: 1539779

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

--HG--
extra : rebase_source : 83da546c3121350a7560a6890ad2c5920c1df613
extra : histedit_source : 6f1f945e7cfda0cb87f26c679fa2cfe78bde1e5e
2019-03-30 01:24:05 +02:00
Sylvestre Ledru 878a6926e9 Bug 1536790 - Upgrade to clang-{tidy,format} 8.0.0 (from 7.0.1) r=andi
Reviewers: andi

Reviewed By: andi

Bug #: 1536790

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

--HG--
extra : rebase_source : 4916f93d375ba7415a000fd1a4c48f214b300f47
extra : histedit_source : d21ca90bd40c0fe2db99ea69b7d3c98eaf872f49
2019-03-30 01:23:21 +02:00
Ciure Andrei 9fa2ff7bbe Backed out changeset dc3b81670b01 (bug 1538060) for causing clang-tidy bustages CLOSED TREE
--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-03-30 00:36:40 +02:00
Oana Pop Rus dc9eba46cc Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-03-30 00:05:29 +02:00
Mike Hommey 632b7eac9a Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

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

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-03-29 21:37:37 +00:00
Daniel Varga 0bc3e10232 Backed out 2 changesets (bug 1539779, bug 1536790) for toolchain failure. On a CLOSED TREE
Backed out changeset 5ecdbfab88b4 (bug 1539779)
Backed out changeset 20d5cdaa08e3 (bug 1536790)
2019-03-29 10:34:45 +02:00
Andi-Bogdan Postelnicu 2473b505db Bug 1539779 - clang-tidy 8 mixes stderr and stdout causing parsing issues. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D25255

--HG--
extra : moz-landing-system : lando
2019-03-29 08:08:31 +00:00
Andi-Bogdan Postelnicu 437397c847 Bug 1536790 - Upgrade to clang-{tidy,format} 8.0.0 (from 7.0.1) r=andi
Patch wrote by Sylvestre Ledru (sylvestre@mozilla.com)

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

--HG--
extra : moz-landing-system : lando
2019-03-28 17:49:41 +00:00
Mike Hommey 7c6d33d0a7 Bug 1510897 - Don't build clang with LLVM_ENABLE_LIBCXX=ON. r=froydnj
As of clang 8, llvm-config doesn't return all flags clang was built
with, and omits some flags that do impact the libclang ABI,
-stdlib=libc++ being one of them (it might well be the only one).

Building clang with LLVM_ENABLE_LIBCXX=ON does build it with
-stdlib=libc++, but is unrelated to whether or not libc++ is built and
shipped with clang, which still happens without it.

So while versions older than clang 8 are not really affected, it doesn't
hurt to build clang without -stdlib=libc++ (especially when it
currently only applies to the clang used to cross build android with
PGO, not even the other android cross builds), in preparation for
switching to clang 8.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 23:07:21 +00:00
Mike Hommey 69a2e6fc69 Bug 1510897 - Add -stdlib=libstdc++ to the compiler flags on Android. r=froydnj
There is no concern that the Android NDK clang may not support it, as
the flag was added in clang 2.9. The flag is also not supported with
GCC, which is not ideal, but we already crossed that bridge at least
with -gcc-toolchain added in extra_toolchain_flags, which is not
supported by GCC either.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 13:15:43 +00:00
Mike Hommey ee64e5bdec Bug 1510897 - Separate Android C++ flags from the other Android toolchain flags. r=nalexander
We shouldn't pass those flags when building C. It doesn't matter /too/
much currently, but will in a subsequent change, which will introduce
a C++-only flag in stlport_cppflags.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 22:05:04 +00:00
Oana Pop Rus d9ec36d04f Backed out 3 changesets (bug 1458385) for windows partial bustages. a=backout
Backed out changeset 8036c03c3b51 (bug 1458385)
Backed out changeset 99fa5539c2bd (bug 1458385)
Backed out changeset 9a5f255979c2 (bug 1458385)
2019-03-28 15:13:13 +02:00
Chris Manchester 18f1db845b Bug 1526072 - Add build attributes to documentation. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D23748

--HG--
extra : moz-landing-system : lando
2019-03-27 22:48:24 +00:00
Chris Manchester 5c005e476e Bug 1526072 - Record cpu utilization and clobber/full builds in build telemetry. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D22630

--HG--
extra : moz-landing-system : lando
2019-03-27 22:42:48 +00:00
Chris Manchester c0b388efb1 Bug 1536529 - Re-factor variables for android runtimes in build-clang.py r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D24435

--HG--
extra : moz-landing-system : lando
2019-03-28 00:28:03 +00:00
Geoff Brown fe297ae528 Bug 1539603 - Remove obsolete references to MediaPipelineFactory logging; r=jmaher
Other than the MediaPipelineFactory references, nothing else is obsolete, so this is a
very minor cleanup, just to improve readability a bit.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 00:13:48 +00:00
Tom Prince fbb8603385 Bug 1458385: Package mar and mbsdiff as a toolchain; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D24229

--HG--
extra : moz-landing-system : lando
2019-03-27 22:30:44 +00:00
Noemi Erli 6269026d4e Backed out 4 changesets (bug 1526072) for causing build bustages in test_clobber.py CLOSED TREE
Backed out changeset d3d56eca307f (bug 1526072)
Backed out changeset 37942b0f911b (bug 1526072)
Backed out changeset a0eb0f43c928 (bug 1526072)
Backed out changeset c1d1576431d7 (bug 1526072)
2019-03-27 22:51:22 +02:00
Chris Manchester db5bd105a0 Bug 1526072 - Add build attributes to documentation. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D23748

--HG--
extra : moz-landing-system : lando
2019-03-19 20:58:34 +00:00
Chris Manchester 68be120a7f Bug 1526072 - Record cpu utilization and clobber/full builds in build telemetry. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D22630

--HG--
extra : moz-landing-system : lando
2019-03-18 20:36:54 +00:00
Thomas Daede 017147c0f4 Bug 1520163 - Remove nasm debian package. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D20041

--HG--
extra : moz-landing-system : lando
2019-03-26 00:05:00 +00:00
Boris Zbarsky b49b18f7fb Bug 1539013. Teach MOZ_CAN_RUN_SCRIPT about taking pointers to live references. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24840

--HG--
extra : moz-landing-system : lando
2019-03-26 20:55:41 +00:00
Boris Zbarsky 89dea017ae Bug 1539016 part 2. Teach MOZ_CAN_RUN_SCRIPT analysis about conditional operators. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24839

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:36 +00:00
Boris Zbarsky 80a2c9c2db Bug 1539016 part 1. Refactor the MOZ_CAN_RUN_SCRIPT analysis a bit to make new live things easier to add. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24838

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:16 +00:00
Gurzau Raul a7315d7841 Merge autoland to mozilla-central. a=merge 2019-03-26 11:51:06 +02:00
Gurzau Raul d57d523481 Backed out changeset 70ce7207292e (bug 1490743) for increasing build times on Windows platforms. a=backout 2019-03-26 09:06:35 +02:00
Mike Hommey 25dbad7cb2 Bug 1536307 - Bump libstdc++ requirement to 4.7. r=froydnj
Last time we updated the requirements was in bug 1278456, after we
switched to GTK+3.

While it might be worth checking what would be a reasonable requirement,
the immediate problem is that updating ANGLE hits a snag with a
libstdc++ 4.7 symbol, and the only main distro release that bumping to
that version would make us not support anymore is Ubuntu 12.04 LTS,
EOLed 2 years ago (April 2017).

Bumping to some even newer version would need more consideration.
Desupporting Ubuntu 12.04 LTS at this point is almost a no-brainer.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:40:25 +00:00
David Major ef4fa82ab2 Bug 1535441 - Update win64 clang-cl to 8.0.0final r=firefox-build-system-reviewers,chmanchester
This gets us back to using an official release.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 01:40:14 +00:00
Mike Hommey 851ab5ec78 Bug 1537707 - Don't use full build symbols artifacts when MOZ_DISABLE_FULL_SYMBOLS is set. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24449
2019-03-23 09:29:25 +09:00
Mike Hommey 27c0bbcc88 Bug 1527463 - Get full artifact build symbols for aarch64 EME builds. r=mshal
We need to have full symbols uploaded for the upcoming EME-enabled
win64-aarch64 nightlies, and the tasks to do that are derived from the
nightly itself, which is going to be an artifact build. Bug 1527463 took
care of adding the option to enable that, and we turn it on for
EME-enabled builds.

MOZ_ARTIFACT_TASK_WIN32_OPT is not exactly the right thing, but we're
already using it to enable EME in
browser/config/mozconfigs/win64-aarch64/common-opt and is only set on
those builds.

Differential Revision: https://phabricator.services.mozilla.com/D23639
2019-03-23 09:29:24 +09:00
Coroiu Cristina a21690048b Merge mozilla-central to inbound a=merge 2019-03-29 11:50:07 +02:00
Makoto Kato f4da46152c Bug 1527796 - Part 2. Detect Java on Windows. r=nalexander,glandium
When installing JDK 1.8, it writes path to the following registry.

 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8\JavaHome

So we use this registry to detect JDK installation path on Windows if available.

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

--HG--
extra : rebase_source : d8a380d9839f4de749815f3c81665e8d00226862
2019-03-05 11:03:27 +09:00
Mike Hommey 49a0cbadc9 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:05:18 +00:00
Mike Hommey 46318ccb91 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:06:11 +00:00
Andreea Pavel 74a4769236 Merge mozilla-central to autoland 2019-03-22 12:37:25 +02:00
Andreea Pavel c1f948c75f Backed out 2 changesets (bug 1527463) for bustages a=backout
Backed out changeset 74b3bf36f5e8 (bug 1527463)
Backed out changeset 235af3330b73 (bug 1527463)
2019-03-22 12:09:57 +02:00
Noemi Erli 81350b76e9 Backed out 2 changesets (bug 1524396) for mass build bustages CLOSED TREE
Backed out changeset 3a444460cb6c (bug 1524396)
Backed out changeset 0480bca0d680 (bug 1524396)
2019-03-22 06:23:04 +02:00
Mike Hommey d58c9a5f85 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:41 +00:00
Mike Hommey 27044ed480 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:23 +00:00
Mike Hommey 632127ba32 Bug 1521734 - Use thumbv7neon rust targets when stars align. r=chmanchester
Newer versions of rust come with a specialized arm target that matches
more closely our armv7 targets (with neon and thumb2), so use that when
possible.

Depends on D24324

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:36:49 +00:00
Mike Hommey 99bdcc7cb2 Bug 1521734 - Print out the chosen rust host/target triplet during configure. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24323

--HG--
extra : moz-landing-system : lando
2019-03-21 23:36:00 +00:00