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

10078 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 94b191e702 Bug 1726544 - Only remove --gc-sections when LIBFUZZER_FLAGS is actually used. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D123407
2021-08-24 21:17:15 +00:00
Alex Lopez 4ae24b1f1b Bug 1696251: Refactor docstrings in mach commands. r=mhentges,webdriver-reviewers,geckoview-reviewers,agi
The purpose of this is to remove as many docstrings from CommandProvider
classes to make the step of moving commands out of classes simpler.
Where possible, the docstring has been moved to or merged with the function.

Differential Revision: https://phabricator.services.mozilla.com/D123288
2021-08-24 20:16:05 +00:00
Andi-Bogdan Postelnicu 8e4de9338f Bug 1727088 - Add `wasi-compiler-rt` to `clang-10` artifact. r=firefox-build-system-reviewers,glandium
Unfortunately we cannot move coverity builds to newer versions of clang so we are stick to clang-10.

Differential Revision: https://phabricator.services.mozilla.com/D123370
2021-08-24 05:18:17 +00:00
Dana Keeler 3b68845290 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-24 01:25:07 +00:00
Mike Hommey b13e2389b8 Bug 1726453 - Don't set LLVM_LIBDIR_SUFFIX=64 when building android-cross clang. r=firefox-build-system-reviewers,mhentges
It's an unnecessary difference with our other clang builds. It looks
like it was cargo-culted from some external script. It makes the
android-cross clang different in the way it finds e.g. compiler
runtimes, some of which are in lib/, and others in lib64/, and only the
latter are actually found.

Differential Revision: https://phabricator.services.mozilla.com/D123017
2021-08-20 03:56:12 +00:00
Mike Hommey 9cdc788c42 Bug 1723245 - Disable --gc-sections when building with sanitizer coverage. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122952
2021-08-18 22:04:14 +00:00
Mike Hommey 06134fdb5b Bug 1726373 - Fail the build when Cargo.lock is modified. r=firefox-build-system-reviewers,mhentges
What currently happens when Cargo.lock doesn't match is that the first
time we run cargo to generate the cbindgen metadata, we don't run it
with --frozen (unlike subsequent calls), and that locally fixes
Cargo.lock. Instead of that, we make the build fail, which will prevent
out-of-sync Cargo.lock from slipping in the tree in the first place.

Differential Revision: https://phabricator.services.mozilla.com/D123010
2021-08-18 21:55:15 +00:00
Dana Keeler 259e0bfa1a Bug 1724072 - replace RC4 capabilities in ssltunnel with 3DES r=rmf
This patch updates ssltunnel to have a configuration where it only uses a 3DES
ciphersuite, rather than RC4 ciphersuites. This has to be done in stages
because otherwise android tests will fail, because their hostutils doesn't
actually use what's in-tree, and has to be updated separately.

Differential Revision: https://phabricator.services.mozilla.com/D122393
2021-08-18 20:20:12 +00:00
Mike Hommey bec2d23d2d Bug 1726100 - Also build the wasm target in the clang-12-android-cross toolchain. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D122950
2021-08-18 08:54:26 +00:00
Mike Hommey 6d40ab3f4a Bug 1726100 - Build the clang-12-android-cross toolchain with wasi support. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D122935

Depends on D122934
2021-08-18 06:14:58 +00:00
Mike Hommey 220dd5a6f0 Bug 1726117 - Upgrade valgrind docker image to Debian 11. r=taskgraph-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D122834
2021-08-18 05:46:26 +00:00
Mike Hommey a0196647e2 Bug 1726100 - Move wasm-sandboxing defaults to configure. r=firefox-build-system-reviewers,andi
This has the side-effect of enabling it on plain builds, which thus now
require the wasi sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D122826
2021-08-18 01:09:58 +00:00
Mike Hommey cae349eade Bug 1726100 - Add a check for clang version for wasi targets. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122825
2021-08-18 01:09:57 +00:00
Mike Hommey 738d83b404 Bug 1726114 - Remove build/macosx/local-mozconfig.common. r=firefox-build-system-reviewers,mhentges
Local builds don't use it, and currently the only builds that happen on
macs on automation are not using the clang toolchain, so they're not
going through the first condition, and the remainder of the mozconfig
is essentially no-ops (plus, the only builds on macs on automation that
do use mozconfigs at all are rusttests, for which those settings wouldn't
matter anyways).

Meaning in practice, the mozconfig is not doing anything useful.

Differential Revision: https://phabricator.services.mozilla.com/D122823
2021-08-17 20:41:05 +00:00
Mike Hommey 50c875f45c Bug 1725855 - Don't set PKG_CONFIG_* on macOS. r=firefox-build-system-reviewers,andi
The sysroot setup on macOS is different from Linux, and pkg-config
files, if there are, would be coming from e.g. homebrew rather than
the macOS SDK.

Differential Revision: https://phabricator.services.mozilla.com/D122793
2021-08-17 09:38:23 +00:00
Mike Hommey cf1b10cb6e Bug 1725564 - Use the same base checks for WASM_{CC,CXX} as {CC,CXX}/HOST_{CC,CXX}. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122569
2021-08-14 00:53:52 +00:00
Mitchell Hentges d24b758528 Bug 1717051: Spell `glean-sdk` with a dash, not an underscore r=ahal
The Glean SDK was traditionally represented in-tree as `glean_sdk`.
However, on PyPI and in `pip list`, it appears as `glean-sdk` (`pip` was
doing the translation implicitly and internally).

This is breaking our virtualenv state-checking code, since it thinks
that `glean_sdk` isn't installed.

Since `glean_sdk` was marked as `pypi-optional`, this hasn't affected us
yet, but it will when we bump the Glean SDK version, because developers'
virtualenvs won't be detected as out-of-date.

Differential Revision: https://phabricator.services.mozilla.com/D122500
2021-08-13 17:50:13 +00:00
Mike Hommey 3d35cc105b Bug 1724522 - Auto-bootstrap the wasi sysroot for spidermonkey wasi builds. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122403
2021-08-13 07:07:46 +00:00
Mike Hommey 6474710c7a Bug 1724522 - Split wasi-sysroot in two separate toolchains. r=firefox-build-system-reviewers,mhentges
The wasi-sysroot toolchain contains both a sysroot for wasi and a
compiler-rt for clang. That makes it impractical to use as a
bootstrapped sysroot for wasm32-wasi builds of Spidermonkey.

We thus split the toolchain in two, one for the compiler-rt and one
for the sysroot. Ideally, the compiler-rt one would avoid building
clang/llvm the same way the sysroot one does, but that leads to
a case of chicken-and-egg, because the compiler-rt is needed to build
the clang toolchain. Eventually, the clang build would be split from
the addition of the compiler-rt, but we're not there yet.

Differential Revision: https://phabricator.services.mozilla.com/D122402
2021-08-13 07:07:45 +00:00
Mike Hommey 726d5d7ef7 Bug 1724522 - Only build clang-12 and clang-trunk with wasi-sysroot. r=firefox-build-system-reviewers,mhentges
We don't need wasi support in versions other than the ones currently used
to build Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D122401
2021-08-13 07:07:45 +00:00
Mike Hommey 8f94edfa1f Bug 1724522 - Remove unused clang-linux64.json. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122400
2021-08-13 07:07:44 +00:00
Mike Hommey c39f6708e7 Bug 1724391 - Reset PKG_CONFIG_PATH. r=firefox-build-system-reviewers,mhentges
If it has a value set, that interferes with values we set to other
PKG_CONFIG_* variables for sysroots.

Differential Revision: https://phabricator.services.mozilla.com/D122287
2021-08-11 22:03:14 +00:00
Mike Hommey a054bdd0de Bug 1723953 - Fix using the bootstrapped sysroot with GCC. r=firefox-build-system-reviewers,andi
While some custom builds of GCC work successfully, system GCC builds
usually don't, because of several factors:
- they don't use the C++ headers or libstdc++.so from the sysroot
- they don't necessarily know to use the multiarch directories in the
  sysroot

Differential Revision: https://phabricator.services.mozilla.com/D121946
2021-08-11 21:51:11 +00:00
Mike Hommey e5492f70e1 Bug 1723953 - pre: Add min/max to the python configure sandbox. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121945
2021-08-11 21:51:11 +00:00
Mike Hommey a673ae0901 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-11 07:47:14 +00:00
Mike Hommey d784654760 Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-11 07:47:13 +00:00
Mike Hommey d873082139 Bug 1724606 - Replace uses of MACOSX_DEPLOYMENT_TARGET env variable with -mmacosx-version-min flag. r=firefox-build-system-reviewers,andi
They are equivalent, except for the fact that MACOSX_DEPLOYMENT_TARGET
may apply to more processes in a normal build. In practice, all the
processes that matter are covered through compiler flags.

On the opposite end, MACOSX_DEPLOYMENT_TARGET isn't necessary passed in
all cases (like clangd, mach static-analysis, etc.), while compiler
flags are.

Differential Revision: https://phabricator.services.mozilla.com/D122145
2021-08-11 07:40:57 +00:00
Mike Hommey e54462618c Bug 1724830 - Remove MOZ_LIBSTDCXX_*_VERSION. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122197
2021-08-10 21:16:18 +00:00
Mike Hommey 0fd10d96b0 Bug 1724830 - Only allow --enable-stdcxx-compat when building on or targetting Linux. r=firefox-build-system-reviewers,andi
As this means stdc++compat also would need to be built when
cross-building for Windows on Linux, we also recurse in the stdc++compat
directory in that case. It was already possible to use
--enable-stdcxx-compat in that configuration, and that wasn't working
(there are other problems that prevent it from working, but we're going
to fix them shortly).

Differential Revision: https://phabricator.services.mozilla.com/D122195
2021-08-10 21:16:18 +00:00
Mike Hommey 61812c65f9 Bug 1724830 - Use _GLIBCXX_RELEASE in stdc++compat.cpp. r=firefox-build-system-reviewers,andi
Since the minimum required version of gcc and libstdc++ is 7.1 as of bug
1536848, the _GLIBCXX_RELEASE macro is available on all supported
versions. Which means instead of grabbing the largest version of the
libstdc++ symbols and tweaking for that, we can just tweak for
_GLIBCXX_RELEASE. We also remove the conditions that are always true due
to the versions involved.

Differential Revision: https://phabricator.services.mozilla.com/D122194
2021-08-10 21:16:17 +00:00
Mike Hommey 83fb89d35f Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-10 20:38:51 +00:00
Narcis Beleuzu 625f7a5de1 Backed out changeset 4f793a75cd93 (bug 1724072) for geckoview failures . CLOSED TREE 2021-08-10 19:19:35 +03:00
Dana Keeler 2a64c08522 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-10 15:25:37 +00:00
Iulian Moraru 4c78d68cdc Backed out changeset a1a730897df8 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 01:38:42 +03:00
Mike Hommey 4a06fcb21e Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:50:04 +00:00
Iulian Moraru 7aabed9987 Backed out changeset 9e46bdf03189 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 00:21:40 +03:00
Mike Hommey 555812aff8 Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:08:43 +00:00
Mike Hommey 8000090ec7 Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-07 21:36:42 +00:00
Brindusan Cristian 10c5583558 Backed out 4 changesets (bug 1724372, bug 1724374) for causing macos non-unified build bustages in BlockingResourceBase.h.
CLOSED TREE

Backed out changeset a8d4d6248454 (bug 1724374)
Backed out changeset 030e725b4799 (bug 1724374)
Backed out changeset 9c32dfd8b694 (bug 1724374)
Backed out changeset d1096773021b (bug 1724372)
2021-08-07 05:49:03 +03:00
Mike Hommey ab833087f4 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-06 23:31:50 +00:00
Mike Hommey af61d5c6de Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-06 23:31:50 +00:00
Mike Hommey 24ca32075f Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-06 23:31:50 +00:00
Mike Hommey 2e7b98cc2e Bug 1723869 - Setup X11-only Linux builds. r=sylvestre
A lot of work happens on the wayland backend, and it regularly breaks tier-3
systems where wayland is not supported. Setting up X11-only builds will help
catch those breakages earlier.

Differential Revision: https://phabricator.services.mozilla.com/D121691
2021-08-06 07:12:03 +00:00
Mitchell Hentges 73710e3148 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-08-05 15:14:20 +00:00
Mitchell Hentges 2cc2cd3f63 Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-08-05 15:14:19 +00:00
Mike Hommey eb3e595496 Bug 1724145 - Set ac_cv_path_AS for old-configure too. r=firefox-build-system-reviewers,andi
There are two different codepaths in old-configure for AS, and one of
them uses ac_cv_prog_AS and the other ac_cv_path_AS. We thus need to set
both.

Differential Revision: https://phabricator.services.mozilla.com/D121828
2021-08-05 08:13:45 +00:00
Mike Hommey 9b8c038970 Bug 1723865 - Define --enable-system-pixman as a system_lib_option(). r=firefox-build-system-reviewers,mhentges
We do so as a side effect of using system_lib_option for all *-system-*
options for old-configure, all but one of which are for system
libraries.

Differential Revision: https://phabricator.services.mozilla.com/D121690
2021-08-04 21:08:22 +00:00
Mike Hommey c4d65ab921 Bug 1723016 - Update builders to rustc 1.54. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D121247
2021-08-03 02:03:32 +00:00
Brindusan Cristian 7e15fd89b7 Backed out 3 changesets (bug 1723016) for causing valgrind bustages. CLOSED TREE
Backed out changeset 1b03bb0c42e4 (bug 1723016)
Backed out changeset 66ea8fed0c30 (bug 1723016)
Backed out changeset d43d97354163 (bug 1723016)
2021-07-30 17:54:40 +03:00
Mike Hommey 9e044bbc33 Bug 1723016 - Fix valgrind bustage. a=bustage-fix CLOSED TREE 2021-07-30 16:46:30 +03:00
Mike Hommey 4638ce9da9 Bug 1723016 - Fix Toolchain bustages. a=bustage-fix
CLOSED TREE
2021-07-30 14:43:18 +03:00
Noemi Erli 857763331c Backed out 7 changesets (bug 1720215, bug 1717645, bug 1717051) for causing build bustage and coflicting backout
Backed out changeset d3f2270f5d80 (bug 1717051)
Backed out changeset 06ae6038c823 (bug 1717051)
Backed out changeset 732724b94715 (bug 1717051)
Backed out changeset 51278cadd18c (bug 1720215)
Backed out changeset 766ea0a1adf1 (bug 1717645)
Backed out changeset ea6ab9ecdc1b (bug 1717645)
Backed out changeset 61b5c99a7ad2 (bug 1717645)
2021-07-30 04:00:31 +03:00
Mike Hommey 2ece240132 Bug 1722438 - Add support for wasm32-wasi targets in clang toolchains for mac and windows. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D120923
2021-07-29 23:43:01 +00:00
Mitchell Hentges 7ec0e9aff9 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-29 23:41:13 +00:00
Mitchell Hentges c9133bc48c Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-29 23:41:12 +00:00
Mike Hommey 25c71f548b Bug 1722653 - Remove --enable-system-cairo. r=firefox-build-system-reviewers,jrmuizel,andi
It hasn't been supported since bug 1432751, > 3 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D121063
2021-07-29 23:38:30 +00:00
Csoregi Natalia 4bfa1610f2 Backed out 3 changesets (bug 1717051) for causing gecko decision failure. CLOSED TREE
Backed out changeset 1a12fa683af8 (bug 1717051)
Backed out changeset d8de22311420 (bug 1717051)
Backed out changeset b522a5b7a10e (bug 1717051)
2021-07-30 02:15:50 +03:00
Mitchell Hentges b7b8e6f938 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-29 22:26:24 +00:00
Mitchell Hentges 78aab5985d Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-29 22:26:23 +00:00
Mike Hommey 535ec6ed75 Bug 1722442 - Fix the logic that determines when a sysroot was bootstrapped. r=firefox-build-system-reviewers,andi
Bug 1721514 broke what was done in bug 1694884.

Differential Revision: https://phabricator.services.mozilla.com/D120926
2021-07-29 22:23:44 +00:00
Mike Hommey e0929c4c22 Bug 1722652 - Reduce the number of flags passed to bindgen. r=firefox-build-system-reviewers,necko-reviewers,andi,dragana
Originally, we only were using bindgen for stylo, and we also went a bit
overkill by including a lot of extra CFLAGS in there, which end up
being unnecessary. So we now only pass a more minimal set of flags, and
add some extra CFLAGS in cases where they are necessary.

Differential Revision: https://phabricator.services.mozilla.com/D121043
2021-07-28 20:37:49 +00:00
Mike Hommey 4dce5725b3 Bug 1722652 - Setup bindgen flags for servo similarly to cranelift and neqo. r=emilio
While the use of toml allows the flags to be separated, the split is
done via some shell shenanigans anyways, and servo's build.rs can
handle the same just fine.

Differential Revision: https://phabricator.services.mozilla.com/D121042
2021-07-28 20:37:48 +00:00
Mike Hommey 3f28878f58 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta and earlier. r=firefox-build-system-reviewers,andi,mhentges
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 21:28:58 +00:00
Mike Kaply f2649915eb Bug 1720389 - Add IS_ESR to AppConstants and rename ESR #ifdef to MOZ_ESR. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D120371
2021-07-22 20:00:26 +00:00
Csoregi Natalia 83665672f5 Backed out changeset 0f05cde26de6 (bug 1721755) as requested. CLOSED TREE 2021-07-22 10:41:28 +03:00
Mike Hommey 5b04b2c5b6 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta. r=firefox-build-system-reviewers,andi
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 07:12:59 +00:00
Butkovits Atila f746b6734e Bug 1721514 - fix black lint failure CLOSED TREE 2021-07-22 02:48:19 +03:00
Mike Hommey 6f6b4a5e21 Bug 1721514 - Use bootstrapped sysroot when it's there. r=firefox-build-system-reviewers,andi
We do that with everything else (i.e. clang, cbindgen, etc.). We weren't
doing it for sysroots because the support was experimental and the path
was independent of the target, so there was no guarantee that the
sysroot would actually work for the target. As that's not the case
anymore, we can go with more consistency with the bootstrapped
toolchains.

Differential Revision: https://phabricator.services.mozilla.com/D120417
2021-07-21 21:00:14 +00:00
Sandor Molnar 77256682a1 Backed out 7 changesets (bug 1720215, bug 1717645, bug 1717051) for causing win debug build bustages. CLOSED TREE
Backed out changeset fb9919b26f30 (bug 1717051)
Backed out changeset 605651561f2a (bug 1717051)
Backed out changeset d1333fe69cf4 (bug 1717051)
Backed out changeset b75dcb922521 (bug 1720215)
Backed out changeset e43fb9c6cd0f (bug 1717645)
Backed out changeset eab19a103b56 (bug 1717645)
Backed out changeset 7864e8241d77 (bug 1717645)
2021-07-21 07:47:18 +03:00
Mitchell Hentges 9d2879a48a Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-20 22:22:53 +00:00
Mitchell Hentges d92ed529bc Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-20 22:22:53 +00:00
Cosmin Sabou 84b8cec8b2 Backed out 7 changesets (bug 1717645, bug 1717051, bug 1720215) for busting the gecko decision task. CLOSED TREE DONTBUILD
Backed out changeset dbdd100c60d0 (bug 1717051)
Backed out changeset 4f32438176a0 (bug 1717051)
Backed out changeset 6597db537fa2 (bug 1717051)
Backed out changeset cc686ee3fb6e (bug 1720215)
Backed out changeset 82dc0771b98b (bug 1717645)
Backed out changeset 16b0fb30aff2 (bug 1717645)
Backed out changeset 370e02f73923 (bug 1717645)
2021-07-21 00:59:41 +03:00
Mitchell Hentges ffaaa6b319 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-20 21:42:04 +00:00
Mitchell Hentges ff3f9b87f4 Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-20 21:42:03 +00:00
Gerald Squelart 38d26336e0 Bug 1720846 - Add mozglue/baseprofiler and tools/profiler to non-unified-compat - r=florian
Depends on D120301

Differential Revision: https://phabricator.services.mozilla.com/D120302
2021-07-20 09:31:17 +00:00
Brad Werth 3094cf0606 Bug 1717887 Part 2: Make RenderThread backed by nsIThread, with a hang monitor. r=gfx-reviewers,jrmuizel
The background hang monitor uses the same timing thresholds as the one used by
the compositor thread, for similar reasons.

Differential Revision: https://phabricator.services.mozilla.com/D120117
2021-07-19 17:35:55 +00:00
Alex Lopez 77ce415604 Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-19 16:04:25 +00:00
Bob Owen b2d767fbb9 Bug 1716024 p2: Flag all binaries apart from firefox, xpcshell and plugin-container as CET compatible. r=glandium
We will only run the processes in CET compatible modules only mode when not
using the JIT code. So marking xul.dll as compatible should be OK.

Differential Revision: https://phabricator.services.mozilla.com/D117551
2021-07-19 07:36:19 +00:00
Mike Hommey 6a42db4b68 Bug 1720820 - Remove python executable configuration from clang build script. r=firefox-build-system-reviewers,andi
Clang >= 11 ignores PYTHON_EXECUTABLE entirely (and uses python3, which
is not even what we pass, but that's actually fine), and all the build
tasks we have on older versions find the python executable they need on
their own.

Differential Revision: https://phabricator.services.mozilla.com/D120049
2021-07-17 04:29:10 +00:00
Mitchell Hentges bb1a6e1cef Bug 1720935: Remove obsolete Python major-version check r=ahal
We always run with Python 3, so we don't need to re-check the major
version.

Differential Revision: https://phabricator.services.mozilla.com/D120099
2021-07-16 21:47:54 +00:00
Mitchell Hentges 75de81c99a Bug 1720935: Move state_dir creation comment r=ahal
I'm guessing that the code moved to the bootstrap command but the
associated comment was forgotten and left abandoned, which is very sad.

Differential Revision: https://phabricator.services.mozilla.com/D120098
2021-07-16 21:47:53 +00:00
Mitchell Hentges 83721fed8d Bug 1720925: Move platform-specific Python upgrade instructions r=ahal
There's a "minimum Python check" that happens when Mach
bootstraps that makes the bootstrap command's check obsolete.

Since we want to use modern Python features throughout Mach, we need to
move Python-out-of-date logic up to the front of the process.

We're duplicating the OS-detection logic a bit, but now we regain
per-platform Python instructions.

Differential Revision: https://phabricator.services.mozilla.com/D120093
2021-07-16 21:47:52 +00:00
Mike Hommey 3b541bbb87 Bug 1720806 - Enable sysroot bootstrapping by default. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D120045
2021-07-16 20:59:36 +00:00
Mike Hommey 5ac51ef77d Bug 1720806 - Avoid multiple calls to toolchain_task_definitions during configure. r=firefox-build-system-reviewers,mhentges
Bug 1692137 added code that would end up calling
toolchain_task_definitions twice, once for each of host and target.
With the recent changes from bug 1719229, that is not useful anymore.
We also don't need the toolchain prefixes for toolchains on unsupported
hosts (which were useful before bug 1719229 for the target sysroots).

Differential Revision: https://phabricator.services.mozilla.com/D120044
2021-07-16 20:59:35 +00:00
Mike Hommey 9aa3587bbf Bug 1694884 - Fail configure when using --*-system-* options with a bootstrapped sysroot. r=firefox-build-system-reviewers,mhentges
The bootstrapped sysroot doesn't contain all the system libraries that
would allow these options to be supported.

Differential Revision: https://phabricator.services.mozilla.com/D120043
2021-07-16 20:51:27 +00:00
Butkovits Atila a07f790e42 Backed out changeset e1921c5112d8 (bug 1696251) for causing bustages complaining about 'CommandContext'. CLOSED TREE 2021-07-16 20:35:55 +03:00
Mitchell Hentges 09c7c7c9dc Bug 1720591: Remove unused patch_main() for Python < 3.4 on Windows r=ahal
Now that we use Python 3.6+, this code is obsolete.

Differential Revision: https://phabricator.services.mozilla.com/D119929
2021-07-16 16:34:42 +00:00
Alex Lopez 190e03aaab Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-16 15:51:29 +00:00
Mike Hommey ed0947b799 Bug 1719237 - Revert bug 1718131. r=stransky
It turns out calling gdk_display_close gets us a rematch of bug 1626536,
so remove the call that was added in bug 1718131, and adjust valgrind
suppressions accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D120037
2021-07-16 08:21:49 +00:00
Mike Hommey 1c3750fe19 Bug 1704766 - Remove libstdc++ from clang toolchains. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119140
2021-07-16 04:09:54 +00:00
Cosmin Sabou 3cd7630738 Backed out changeset 2c1257a95130 (bug 1720591) for causing build bustages complaining about patch_main. CLOSED TREE 2021-07-16 02:49:45 +03:00
Mitchell Hentges b5d3b00394 Bug 1720591: Remove unused patch_main() for Python < 3.4 on Windows r=ahal
Now that we use Python 3.6+, this code is obsolete.

Differential Revision: https://phabricator.services.mozilla.com/D119929
2021-07-15 21:44:37 +00:00
Andi-Bogdan Postelnicu c95cc38d58 Bug 1720606 - Fix for clang-trunk build after IR commit broken the attributes patch. r=firefox-build-system-reviewers,glandium
After changeset 5e4b33fe9218703f0b29e2446159bcf4202d15fa the Attributes.cpp file was
changed so our patched version was not sticking on top of it. This patch does the proper
rebase.

Differential Revision: https://phabricator.services.mozilla.com/D119951
2021-07-15 08:25:41 +00:00
Noemi Erli e276a4bf18 Backed out changeset a275000100a4 (bug 1704766) for causing build bustages CLOSED TREE 2021-07-15 02:14:21 +03:00
Mike Hommey 5b7fee4aea Bug 1704766 - Remove libstdc++ from clang toolchains. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119140
2021-07-14 20:54:27 +00:00
Benjamin Beurdouche fbf40a7e56 Bug 1720464 - land NSS b1eac8c86e99 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D119914
2021-07-14 20:05:21 +00:00
lyavor 34292f2736 Bug 1719309 - HTTPS-First test for bad certifactes. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D119779
2021-07-14 12:34:01 +00:00
Mike Hommey 487119e349 Bug 1719229 - Allow the build system to use a sysroot for the host part of the build. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119847
2021-07-14 08:54:43 +00:00
Mike Hommey 162f9b6800 Bug 1719229 - Rename the bootstrappable sysroot toolchains. r=firefox-build-system-reviewers,andi
In cross-compilation setups (x86_64 host, i686 or aarch64 target), we're
going to need two sysroots. Obviously, we need the sysroot paths to be
different in that case, so the sysroot path themselves need to contain
some distinctive name, and we'll use the `target.toolchain` name for
that (the target triplet with the vendor/machine stripped out).

Because the path name needs to be reflected in the artifact name as well
as the toolchain name, we also change them.

And because the current prefix in the toolchain name is now redundant
with the suffix, we remove the prefix, and allow the bootstrapping
mechanism to try toolchains without the prefix.

Differential Revision: https://phabricator.services.mozilla.com/D119846
2021-07-14 08:54:43 +00:00
Mike Hommey 627c20902f Bug 1576099 - Allow to forcefully enable cargo incremental. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D119714
2021-07-13 20:31:37 +00:00
Mike Hommey a6909dc7da Bug 1719852 - Disable MOZ_REQUIRE_SIGNING on esr. r=jcristau,firefox-build-system-reviewers,mhentges
It was enabled in bug 1712633 by mistake.

Because there wasn't a way to distinguish esr yet, we add one, and while
at it, expose it to the build system.

Differential Revision: https://phabricator.services.mozilla.com/D119682
2021-07-13 08:43:52 +00:00
Mike Hommey 246f307378 Bug 1719426 - Build glibc_2.27-3ubuntu1.2 ourselves. r=taskgraph-reviewers,bhearsum
As written in 00c93ac66282, relying on the 2.27-3ubuntu1.2 package being
available is a timebomb. We can however get the older sources from
launchpad, and build them ourselves.

Differential Revision: https://phabricator.services.mozilla.com/D119258
2021-07-08 22:15:37 +00:00
lyavor cc7f254576 Bug 1706126 - HTTPS- First doesn't upgrade redirection from exempt target domain to subdomain (which supports https) r=ckerschb,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D118704
2021-07-07 14:19:09 +00:00
Mike Hommey 856ee10cba Bug 1719226 - Fix clang bustage r=bustage-fix. CLOSED TREE 2021-07-07 03:15:49 +03:00
Mike Hommey 93e5ce3fe2 Bug 1719228 - Remove unused docker images and Debian packages. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119138
2021-07-06 21:47:11 +00:00
Mike Hommey 6def90d273 Bug 1719228 - Build binutils with the toolchain sysroot. r=firefox-build-system-reviewers,andi
This allows to use the same toolchain docker images as other toolchains,
based on Debian buster.

While here, use the default max-run-time, which is more than enough for
this toolchain.

Differential Revision: https://phabricator.services.mozilla.com/D119137
2021-07-06 21:47:11 +00:00
Mike Hommey 5d89676954 Bug 1719228 - Build GCC with the toolchain sysroot. r=firefox-build-system-reviewers,andi
Because GCC is built in stages, the final stage is built with
intermediate stages's GCC, which handles the sysroot correctly, so we
end up with headers and libraries with the expected compatibility.
This allows to use the same toolchain docker images as other toolchains,
based on Debian buster.

Differential Revision: https://phabricator.services.mozilla.com/D119136
2021-07-06 21:47:10 +00:00
Mike Hommey 51effea05b Bug 1719226 - Remove old workarounds when building clang. r=firefox-build-system-reviewers,andi
- we needed -gcc-toolchain to pick C/C++ standard headers from the right
version of GCC, but we now have them in the toolchain sysroot (bug
1719207), so we can use that instead.
- we needed LD_LIBRARY_PATH when clang was built on an older version of
Debian, but that was changed in bug 1694775.

Differential Revision: https://phabricator.services.mozilla.com/D119135
2021-07-06 21:47:10 +00:00
Mike Hommey 3c173089ef Bug 1719226 - Properly print cmake error files. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119134
2021-07-06 21:47:10 +00:00
Mike Hommey 899af76508 Bug 1719225 - Don't build binutils as part of gcc. r=firefox-build-system-reviewers,andi
We have a separate binutils toolchain already, and the only remaining
use of the binutils part of the the GCC toolchain is for the gold plugin
headers for clang, which we can add to the toolchain sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D119133
2021-07-06 21:47:09 +00:00
Mike Hommey 544436ed03 Bug 1718156 - Avoid some configure tests creating the common virtualenv. r=firefox-build-system-reviewers,mhentges,andi
When running `mach python-test` on a clobbered tree, we create both the
python-test and common virtualenvs, but the former should be enough. The
latter is only created when running tests that use the BaseConfigureTest
class, when it indirectly includes init.configure, which makes the
configure sandbox run the virtualenv_python3 function, which ends up
initializing the common virtualenv. We only don't end up re-executing
that virtualenv python thanks to 6680ca0acc27 which was a workaround
that would allow any virtualenv in $objdir/_virtualenvs, while still
creating a virtualenv it won't use.

Tests now tell virtualenv_python3 to not use the normal virtualenv
manager, and remove the workaround.

Differential Revision: https://phabricator.services.mozilla.com/D118775
2021-07-05 22:33:56 +00:00
Chris Peterson 4b046732a8 Bug 1718936 - Backed out changeset f3cd92f7cd0d: Restore -Wno-range-loop-analysis. r=andi,firefox-build-system-reviewers
I removed the -Wno-range-loop-analysis warning flag in bug 1718408 because I didn't see any build failures on Try without it, but apparently I missed some.

Differential Revision: https://phabricator.services.mozilla.com/D119039
2021-07-05 06:43:44 +00:00
Chris Peterson 5897c59302 Bug 1718408 - Remove unnecessary -Wloop-analysis flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wloop-analysis because it just enables:

* -Wrange-loop-analysis, which we manually disable.
* -Wfor-loop-analysis, which is enabled by -Wmost, which is enabled by -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118900

Differential Revision: https://phabricator.services.mozilla.com/D118901
2021-07-01 18:37:42 +00:00
Chris Peterson 5294042de2 Bug 1718408 - Remove unnecessary -Woverloaded-virtual flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Woverloaded virtual because:

* On gcc, we disable it.
* On clang, it is enabled by -Wmost, which is enabled -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118899

Differential Revision: https://phabricator.services.mozilla.com/D118900
2021-07-01 18:37:41 +00:00
Chris Peterson a2f4831bdc Bug 1718408 - Remove unnecessary -Wtautological-*-compare flags. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wtautological-overlap-compare because it is enabled by -Wtautological-compare, which is enabled by -Wmost, which is enabled by -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

We don't need to manually enable -Wtautological-unsigned-enum-zero-compare or -Wtautological-unsigned-zero-compare because they are enabled by -Wtype-limits, which we already enable manually:

https://clang.llvm.org/docs/DiagnosticsReference.html#wtype-limits

Depends on D118898

Differential Revision: https://phabricator.services.mozilla.com/D118899
2021-07-01 18:37:41 +00:00
Chris Peterson 79616311ea Bug 1718408 - Remove unnecessary -Wunused-function and -Wunused-variable flags. r=firefox-build-system-reviewers,andi
We don't need to manually enabled -Wunused-function or -Wunused-variable because they are enabled by -Wunused, which is enabled by -Wmost, which is enabled by -Wall.

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118897

Differential Revision: https://phabricator.services.mozilla.com/D118898
2021-07-01 18:37:41 +00:00
Chris Peterson 6bce3b14d4 Bug 1718408 - Remove unnecessary -Wwrite-strings flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wwrite-strings because it is enabled by default in C++11 and we currently compile Firefox as C++17.

https://clang.llvm.org/docs/DiagnosticsReference.html#wwritable-strings

Depends on D118896

Differential Revision: https://phabricator.services.mozilla.com/D118897
2021-07-01 18:37:40 +00:00
Chris Peterson 94283e10db Bug 1718408 - Enable some clang warning flags that are currently warning-free. r=firefox-build-system-reviewers,andi
-Wdeprecated-this-capture (in a lambda expression)
warning: implicit capture of ‘this’ with a capture default of ‘=’ is deprecated
https://clang.llvm.org/docs/DiagnosticsReference.html#wdeprecated-this-capture

-Wenum-compare-conditional
Example: return foo ? enumType1 : enumType2; // deprecated in C++20
https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-compare-conditional

-Wformat-type-confusion (in a sprintf-like format function)
warning: format specifies type A (e.g. short) but the argument has type B (e.g. char)
https://clang.llvm.org/docs/DiagnosticsReference.html#wformat-type-confusion

-Wshadow-uncaptured-local (variable declared in a lambda expression)
warning: declaration shadows a local variable
warning: declaration shadows a variable in C
warning: declaration shadows a static data member of C
warning: declaration shadows a field of C
warning: declaration shadows a typedef in C
warning: declaration shadows a type alias in C
warning: declaration shadows a structured binding
https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-uncaptured-local

Differential Revision: https://phabricator.services.mozilla.com/D118896
2021-07-01 18:37:40 +00:00
Mike Hommey 14497c68f9 Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-06-25 13:28:28 +00:00
Mike Hommey 6971be15e1 Bug 1695118 - Upgrade valgrind task to Debian buster. r=firefox-build-system-reviewers,mhentges
This requires a backport of valgrind to buster instead of jessie (which
we don't need a backport for anymore). Somehow the buster-based
android-build was using the backport for jessie. It now can use the
backport for buster.

We now also need a few extra packages in the valgrind docker image that
used to be installed as a side effect of installing other packages, but
aren't installed automatically anymore, while necessary.

This allows to remove the debian8-amd64-build docker image, now unused.

We add a patch to workaround an issue with rust that was fixed in older
version of valgrind but that resurfaced in a slightly different manner.
Filed upstream as https://bugs.kde.org/show_bug.cgi?id=433641.

Finally, we update the suppressions to account for system changes.

Differential Revision: https://phabricator.services.mozilla.com/D106402
2021-06-25 13:28:28 +00:00
Alexandru Michis 06bbd55be6 Backed out changeset 7a183e3b230e (bug 1711856) for being a dependency to Bug 1695118, Bug 1718131.
CLOSED TREE
2021-06-25 14:28:14 +03:00
Alexandru Michis 7498132439 Backed out 2 changesets (bug 1695118, bug 1718131) for causing leaks.
CLOSED TREE

Backed out changeset 69aa398773b4 (bug 1695118)
Backed out changeset 19805fbf94a3 (bug 1718131)
2021-06-25 13:43:04 +03:00
Mike Hommey 1d870711cb Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-06-25 09:33:05 +00:00
Mike Hommey edc5e8b9b9 Bug 1695118 - Upgrade valgrind task to Debian buster. r=firefox-build-system-reviewers,mhentges
This requires a backport of valgrind to buster instead of jessie (which
we don't need a backport for anymore). Somehow the buster-based
android-build was using the backport for jessie. It now can use the
backport for buster.

We now also need a few extra packages in the valgrind docker image that
used to be installed as a side effect of installing other packages, but
aren't installed automatically anymore, while necessary.

This allows to remove the debian8-amd64-build docker image, now unused.

We add a patch to workaround an issue with rust that was fixed in older
version of valgrind but that resurfaced in a slightly different manner.
Filed upstream as https://bugs.kde.org/show_bug.cgi?id=433641.

Finally, we update the suppressions to account for system changes.

Differential Revision: https://phabricator.services.mozilla.com/D106402
2021-06-25 09:29:33 +00:00
Mike Hommey cc44edc33f Bug 1711234 - Add a suppression for "Conditional jump or move depends on uninitialised value(s) at DoFramePointerStackWalk". r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D118777
2021-06-25 00:07:03 +00:00
Benjamin Beurdouche efe58e9863 Bug 1715772 - land NSS 0262a919f909 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D118702
2021-06-24 10:56:58 +00:00
Mike Hommey 841e1d8a06 Bug 1717585 - Switch --enable-bootstrap on by default on central. r=firefox-build-system-reviewers,mhentges
As there are some things to solve first for the sysroot, we don't enable
the sysroot bootstrap unless --enable-bootstrap is given explicitly. The
default will still bootstrap everything else when building on central.

Differential Revision: https://phabricator.services.mozilla.com/D118450
2021-06-22 23:36:28 +00:00
Mike Hommey 744db845c6 Bug 1700534 - Coalesce RLBox wasmboxed libraries. r=firefox-build-system-reviewers,shravanrn,bholley,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116440
2021-06-22 05:31:33 +00:00
Kai Engert bdd0d2acfb Bug 1715584 - Require NSPR version 4.32 at configuration time. r=bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D118369
2021-06-21 17:21:09 +00:00
Mitchell Hentges 35b16fdf28 Bug 1712133: Inline `testing/mozbase/packages.txt` contents r=ahal
The `mozbase` modules were being unconditionally added to the
`sys.path` regardless of the Mach command being run, so there isn't
much value keeping them in a separate file. Besides, all other
source module paths are described in `common_virtualenv_packages`,
why is `mozbase` special?

In the future, we're going to want to make improvements here (such as:
there's a difference between informing mach of first-party code
versus defining which third_party vendored packages should be in scope,
and that workflow difference should be represented in-code).
It's useful to peel out the existing, less useful abstraction before
we can build a stronger one.

Differential Revision: https://phabricator.services.mozilla.com/D117711
2021-06-17 14:58:17 +00:00
Mitchell Hentges 24f634d924 Bug 1712133: Remove "pth" name customization r=ahal
Having separate `<name>.pth` files in the virtual environments
isn't providing an advantage. We can simplify configuration
by putting all `pth` adjustments into a single file: `mach.pth`.

Differential Revision: https://phabricator.services.mozilla.com/D117710
2021-06-17 14:58:16 +00:00
Mitchell Hentges 31474e8925 Bug 1712133: Make virtualenv package parsing more specific r=ahal
This has two benefits:
1. `handle_package()` becomes more clear - rather than referring to
   `action` and `package` with array index numbers, we now give
   them real names. The benefit here is also shown in `up_to_date()`.
2. This makes the top-level parser for `packages()` less opinionated
   about sub-formats: if an action has a nested structure, it should
   have the flexibility to define what it looks like.

Differential Revision: https://phabricator.services.mozilla.com/D117708
2021-06-17 14:58:16 +00:00
Mitchell Hentges 722ac646db Bug 1713857: Don't set PYTHONEXECUTABLE environment variable r=glandium
After some testing in `try` and locally, the manual
`PYTHONEXECUTABLE` definitions shouldn't be needed
anymore.

There's been some work on Brew's
Python to improve its `sitecustomize` behaviour.
The most likely improvement is:
https://github.com/Homebrew/homebrew-core/pull/65297

However, I'm not fully confident in this change.
If it fails, it's more likely to affect developers
than CI. I think it's worth attempting a landing,
because if the variable is indeed obsolete, then
deleting it will avoid some spicy "action-at-a-
distance" behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D117452
2021-06-17 13:28:29 +00:00
Mike Hommey 293cc72753 Bug 1716972 - Remove leftover from bug 1695773. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D118153
2021-06-17 09:50:55 +00:00
Mitchell Hentges 6d154c1ed3 Bug 1713377: Change vendoring to use wheels where possible r=ahal,glandium
Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
  from extracted source `tar.gz` files. Now, we should
  be able to use the pip resolver against vendored
  packages, which will be needed for future
  mach virtualenv work.
* `./mach vendor python` takes far less time to execute.

Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.

`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.

Replace python packages with wheels where possible

This contains the vendoring changes caused by the
last patch.

For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
  less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
  extracted wheel, so expect roughly 5 or
  6 new files for each wheel'd package.
* There should be no source code changes other than
  moves from package names changing from having
  `-` to having `_`.

Differential Revision: https://phabricator.services.mozilla.com/D116512
2021-06-16 15:53:16 +00:00
Mitchell Hentges 9f7c330b60 Bug 1712133: Remove "windows" action support from virtualenvs r=ahal
Last year, we stopped vendoring Python packages that have native
code. Since we have only had pure-python packages since, the
Windows-specific qualifier (or excluder in the case of `!windows`)
hasn't been needed.

I don't foresee us needing it again, but if anything we can peel it
back from `hg` history if this assumption is incorrect.

Differential Revision: https://phabricator.services.mozilla.com/D117468
2021-06-15 14:46:55 +00:00
Mitchell Hentges 318ecaf9b2 Bug 1712133: Synchronize virtualenv requirement parsing logic r=ahal
The `mach_bootstrap:search_path()` implementation is out of
date compared to `virtualenv.py`.

Since `python2:`, `python3:` and `optional:` packages are no
longer valid virtualenv requirement actions, they can be removed.

Differential Revision: https://phabricator.services.mozilla.com/D117707
2021-06-15 14:46:55 +00:00
Alexis Beingessner d647cb3bfa Bug 1693832 - Use a patched version of rustc/cargo for tsan/asan builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D105812
2021-06-15 05:30:05 +00:00
Mitchell Hentges e389cc4cc4 Bug 1714684: Remove usages of vendored "mock" library r=perftest-reviewers,ahal,sparky
Python 3 has access to `unittest.mock` in the standard library.

Differential Revision: https://phabricator.services.mozilla.com/D117073
2021-06-14 15:34:46 +00:00
surajeet310 6ea83c8ef9 Bug 1714788 - Fixed more Sphinx warnings in 'mach doc' r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D117419
2021-06-10 19:33:53 +00:00
Nick Alexander bef7042147 Bug 1524662 - Add --enable-path-remapping producing compiled objects with generic paths. r=glandium
For "c" (i.e., gcc, clang, and clang-cl), this configures the
`-f{debug,macro}-path-prefix` flags.  We'd prefer to use
`-ffile-path-prefix`, but it seems that `clang-cl` does not recognize
that flag.

For "rust" (i.e., rustc/cargo), this configures `--remap-path-prefix`.

This is one step toward getting `sccache` hits across source and
object directories.

Differential Revision: https://phabricator.services.mozilla.com/D113065
2021-06-10 17:08:06 +00:00
Julien Cristau 8376ac4322 Bug 1713766 - land NSS NSS_3_67_RTM UPGRADE_NSS_RELEASE, r=bbeurdouche,aryx
Differential Revision: https://phabricator.services.mozilla.com/D117422
2021-06-10 13:25:03 +00:00
Mitchell Hentges b9531f2856 Bug 1714641: Remove usages of vendored "pathlib2" library r=ahal
Based on the docs and the code within `pathlib2`, it seems to focus
only on backporting the main features of `pathlib` to be available for
Python 2. It does _not_ provide features in newer Python versions
of `pathlib` (such as `is_mount`, new in Python 3.7). Therefore, it
doesn't provide anything that the standard library of Python 3.6+
doesn't have.

Differential Revision: https://phabricator.services.mozilla.com/D117071
2021-06-09 15:48:55 +00:00
Mitchell Hentges e568fa2e0d Bug 1714641: Remove usages of vendored "backports" code r=ahal,perftest-reviewers
It provides `shutil.which(...)`, which has been part of `shutil` since
Python 3.3.

Differential Revision: https://phabricator.services.mozilla.com/D117063
2021-06-09 15:48:52 +00:00
Mitchell Hentges fa246ce29e Bug 1714641: Replace `pythonX` items in virtualenv_packages r=ahal
Now that Mach requires Python 3, `python3:` items will always be
used and `python2:` items will never be needed.

Differential Revision: https://phabricator.services.mozilla.com/D117059
2021-06-09 15:48:50 +00:00
Deian Stefan 6468f48fe5 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D116548
2021-06-09 15:01:03 +00:00
Andrew Osmond bde525c1b1 Bug 1715523 - Suppress likely false positive valgrind leak for RacyRegisteredThread. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117296
2021-06-09 14:59:04 +00:00
Andrew Osmond a58e7ef933 Bug 1715132 - Ignore the blocklist for Software WebRender on desktop. r=jrmuizel
We still need the blocklist to control rollout on Android, but on
desktop, we should be shipping Software WebRender to all users, except
those in safe mode or whom have explicitly disabled WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D117088
2021-06-08 16:07:57 +00:00
Mitchell Hentges f548bc89cc Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-07 19:46:17 +00:00
Alexandre Lissy 30ae660e03 Bug 1714547 - Add cross-compile to linux build doc r=sylvestre,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116829
2021-06-04 21:35:25 +00:00
Dorel Luca be3cb0088b Backed out 3 changesets (bug 1713818, bug 1714116, bug 1714118) for XPCshell in toolkit/modules/subprocess/test/xpcshell/test_subprocess.js. CLOSED TREE
Backed out changeset be4847abe491 (bug 1713818)
Backed out changeset 3e7ff2f21cbf (bug 1714118)
Backed out changeset da6994a236c9 (bug 1714116)
2021-06-03 22:07:56 +03:00
Mitchell Hentges 75f1a25537 Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-03 15:54:28 +00:00
Andi-Bogdan Postelnicu 2f7a751cd0 Bug 1707096 - fix the build for `clang-trunk`. r=jfkthame
With D100581 LLVM added support for -Wunused-but-set-parameter and -Wunused-but-set-variable.
1. we shouldn't treat these warning as errors
2. for harfbuzz we apply a patch that has also been upstreamed, #2995, since pragma directives are somehow borken in clang vs gcc.

Differential Revision: https://phabricator.services.mozilla.com/D116604
2021-06-02 14:38:01 +00:00
Nicolas Silva 6c020067b9 Bug 1711648 - Supress valgrind error more robustly. r=jrmuizel
There is a valgrind suppression on a generic signature containing the hash of rust types. The hash changes when crate dependencies are updated.

Differential Revision: https://phabricator.services.mozilla.com/D116588
2021-06-02 12:47:02 +00:00
Dmitry Bezhetskov 6fdb9a9637 Bug 1713081 - Fix to use the default clang from upstream for SM WASI. r=glandium
To compile SM to .wasm we need to use clang from wasi-sdk, this patch
allows us to use default clang-12 from mozilla's repo.
We remove usage of rpath-link flag because wasm-ld doesn't support it,
enable single thread model because wasi is single threaded
and finally add <unistd.h> becase it is forbidden to use read/write/lseek
without this header.

Differential Revision: https://phabricator.services.mozilla.com/D116207
2021-06-02 06:00:10 +00:00
Butkovits Atila 1b7d8eac8e Backed out changeset a9562036bedd (bug 1713818) for causing wrench bustages. 2021-06-02 02:19:35 +03:00
Mitchell Hentges 271c19459a Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-01 20:03:38 +00:00
Mitchell Hentges 0d1d6ed813 Bug 1712804: Change comm action to be specific to Thunderbird r=rjl,ahal
Avoid the "Error processing command" warning when building virtualenvs
in a Firefox checkout

Differential Revision: https://phabricator.services.mozilla.com/D115922
2021-05-27 15:18:37 +00:00
Mitchell Hentges 9522e92323 Bug 1712382: Remove "set-variable" action support from virtualenvs r=ahal
`MACH_VIRTUALENV` was never used, and `MOZBUILD_VIRTUALENV` was never
set (the virtualenv was always activated during the build, rather
than before).

Differential Revision: https://phabricator.services.mozilla.com/D115921
2021-05-27 15:18:36 +00:00
Mitchell Hentges 5eb07cd570 Bug 1712133: Remove build VIRTUALENV_NAME customization r=glandium
This was originally set up so that tests wouldn't "create a new
`virtualenv` for no reason." However, virtual environments now will have
different packages installed, and therefore the separation is necessary.

So, for the virtual environment used for builds (regular or for tests):
* We want it to be able to reuse the build venv, if it already exists.
* We don't want to pollute a `pytest` virtualenv with build-specific
  packages.

Differential Revision: https://phabricator.services.mozilla.com/D115641
2021-05-27 15:18:35 +00:00
Mitchell Hentges 846e25c93b Bug 1712133: Rename default virtualenv to "common" r=ahal
We had split up `init` from `init_py3` because `mach` had
traditionally been invoked by either Python 2 or Python 3, and
the two couldn't share the same virtualenv.

Now that the same context isn't shared by both Python 2 and 3
3
(developers always use Python 3, and the remaining Python 2
usages are CI jobs that never reuse the objdir with Python 3),
We can centralize on a single default virtualenv.

I've called this "common" instead of "init" to clarify its
existing position as the virtualenv that's used by many different
commands. As we associate virtualenvs with requirement definitions,
it'll also make the file less confusing: it's a "common" requirement
definition as opposed to an "init" one.

Differential Revision: https://phabricator.services.mozilla.com/D115635
2021-05-27 15:18:35 +00:00
Steve Fink 5489063fa6 Bug 1705783 - add configure option --js-package and stop clearing MOZ_AUTOMATION for SM(pkg) r=glandium,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D112627
2021-05-26 16:54:04 +00:00
Andi-Bogdan Postelnicu a5cd8949a1 Bug 1707096 - fix `deprecated-copy` detected by clang-trunk. r=sfink,jandem
Differential Revision: https://phabricator.services.mozilla.com/D114087
2021-05-26 10:20:32 +00:00
Makoto Kato 950eda2e59 Bug 1712245 - Use x86_64 NDK on Apple Slicon if native NDK is missing. r=firefox-build-system-reviewers,glandium
Actually, Google doesn't release native version of NDK for macOS/aarch64.
So if missing, we use x86_64 NDK instead.

Differential Revision: https://phabricator.services.mozilla.com/D115675
2021-05-26 01:37:37 +00:00
Mike Hommey 28e098745c Bug 1712633 - Set MOZ_REQUIRE_SIGNING appropriately by default. r=firefox-build-system-reviewers,mhentges
At the same time, move the option to python configure, which changes how
to disable it (setting to an empty value rather than 0).

Differential Revision: https://phabricator.services.mozilla.com/D115844
2021-05-25 20:00:05 +00:00
Mike Hommey afe9e52b55 Bug 1712043 - Upgrade GCC versions to latest dot-release. r=firefox-build-system-reviewers,andi,mhentges
The added PGP key was extracted from
http://ftp.gnu.org/gnu/gnu-keyring.gpg and stripped with
https://github.com/glandium/pgpstrip. The non-stripped key has been
validated as signed by the 33C235A34C46AA3FFB293709A328C3A2C3C45C06 key,
which we vetted in 4854cd37594f.

Differential Revision: https://phabricator.services.mozilla.com/D115579
2021-05-20 23:36:09 +00:00
Mike Hommey c8b5ca1f93 Bug 1712023 - Avoid up to @GLIBCXX_3.4.29 symbols for stdc++ compat. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D115562
2021-05-20 22:32:10 +00:00
Narcis Beleuzu b8beaa5749 Backed out changeset b54ae88a34b4 (bug 1711856) for valgrind bustage on libstdc . CLOSED TREE 2021-05-20 03:50:37 +03:00
Mike Hommey b78d5d298b Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-05-19 22:32:58 +00:00
Mike Hommey f16b7b648f Bug 1711816 - Fix stdc++compat.cpp compilation errors with recent GCC. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D115436
2021-05-19 04:46:01 +00:00
Benjamin Beurdouche bde2949605 Bug 1711262 - land NSS 8c299ec6b2bc UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D115395
2021-05-18 18:23:25 +00:00
byron jones 1a494b6f2b Bug 1704426 - Document supported build hosts. r=glob
Define "build host" support tiers, and their relationship
to existing "target" tiers.

Differential Revision: https://phabricator.services.mozilla.com/D111578
2021-05-18 14:57:50 +00:00
Butkovits Atila 6b729f46ac Backed out 2 changesets (bug 1653659) for causing failures at test_hunspell.js. CLOSED TREE
Backed out changeset 018859776d85 (bug 1653659)
Backed out changeset b187a1b158df (bug 1653659)
2021-05-18 04:05:15 +03:00
Deian Stefan 7fe5a63523 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-05-17 18:19:28 +00:00
Alex Lopez 455d9a088b Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-05-17 16:15:58 +00:00
Dorel Luca 6bb805571d Backed out 2 changesets (bug 1653659) for Mochitest failures in mochitest/events/test_focus_general.html. CLOSED TREE
Backed out changeset 523e4bc2aa47 (bug 1653659)
Backed out changeset fac526423ccb (bug 1653659)
2021-05-14 21:45:58 +03:00
Deian Stefan 015259c792 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-05-14 13:30:49 +00:00
Andrew McCreight 9c9c36a9fa Bug 1710473 - Remove hal::SetProcessPrioritySupported(). r=gsvelto,geckoview-reviewers,aklotz
As far as I can see, all this does is protect the user from
running some useless code if they manually enable the priority
manager using a pref on an OS that doesn't support it. The
upside of allowing this is that it makes it possible to debug
the priority manager on OSX and Linux with just a pref flip.

Differential Revision: https://phabricator.services.mozilla.com/D114767
2021-05-10 19:59:24 +00:00
Chris H-C f666fb3dc9 Bug 1705403 - Replace FOG's Glean autodocs with link to Glean Dictionary r=janerik DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D114631
2021-05-10 13:33:09 +00:00
Cosmin Sabou 206c26c1df Bug 1708379 - Remove unnecessary line. r=glandium 2021-05-07 04:08:30 +03:00
Cosmin Sabou 515e738806 Bug 1708379 - Add suppression for valgrind failures. r=glandium
CLOSED TREE
2021-05-07 03:28:21 +03:00
Andi-Bogdan Postelnicu e76dc3b4af Bug 1709753 - remove workaround for llvm issue D100625. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114449
2021-05-06 05:20:18 +00:00
Mike Hommey 8189f56cd9 Bug 1599574 - Avoid re-running clang-plugin tests. r=firefox-build-system-reviewers,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D114320
2021-05-05 21:21:11 +00:00
Andi-Bogdan Postelnicu d6010d98f2 Bug 1702172 - collect if shell is opened via vscode and if it's a remote connection through ssh. r=firefox-build-system-reviewers,mhentges
Added two fields:

1. Collect if the current shell is opened via vscode.
2. Connect if it's a remote ssh connection n the current shell.

Differential Revision: https://phabricator.services.mozilla.com/D114323
2021-05-05 14:56:32 +00:00
Adam Gashlin bf41732e48 Bug 1705373 - Part 1: Only set WDBA and Update Agent configs on Firefox (browser app). r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D114306
2021-05-05 04:26:43 +00:00
Mike Hommey 506594be8f Bug 1709253 - Fix building rust programs. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D114212
2021-05-04 20:45:43 +00:00
Mitchell Hentges df45b126d1 Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `requests@2.11.0`: No longer accepts non-strings as header values.
* `requests@2.16.0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `requests@2.24.0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

This also added dependencies to `flake8_requirements`. This is because
the vendored `importlib-metadata` update (and the new
`typing-extensions` dependency) is found by `pip`, but the
vendored `typing-extensions` is _not_ discovered (perhaps due to
details around "eggs" and the way we add vendored code to the sys.path).
So, `pip` tries to install it manually and fails when it finds no hash.
By re-compiling `flake8_requirements`, the necessary hashes are made
available.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-05-04 20:43:26 +00:00
Mike Hommey 5aab00eccc Bug 1708547 - Port the mach bootstrap import hook to python 3. r=mhentges,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D113857
2021-05-04 20:39:58 +00:00
Mitchell Hentges 0ff1bef46b Bug 1707953: Remove macOS SDK maximum version check r=firefox-build-system-reviewers,glandium
The maximum version check has caused more unnecessary failed
builds (for freshly up-to-date devs) than helpful guards against
tough-to-diagnose issues.

Differential Revision: https://phabricator.services.mozilla.com/D113675
2021-05-04 15:07:09 +00:00
Benjamin Beurdouche 37aa935e43 Bug 1705477 - land NSS c982fb957516 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D114231
2021-05-04 13:33:25 +00:00
Kagami Sascha Rosylight 1b59a49ab1 Bug 1707681 - Ignore third party paths in explicit-operator-bool check r=andi
Differential Revision: https://phabricator.services.mozilla.com/D113695
2021-05-04 06:20:25 +00:00
Alexandru Michis 5744de4a3b Backed out changeset cd81489560e4 (bug 1708547) for causing python failures. 2021-05-01 14:50:20 +03:00
Mike Hommey 322d04fd7f Bug 1708547 - Port the mach bootstrap import hook to python 3. r=mhentges,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D113857
2021-04-30 23:07:33 +00:00
Mike Hommey 6aa8681545 Bug 1705324 - Enable CARGO_INCREMENTAL on local builds. r=firefox-build-system-reviewers,mhentges
irrespective of the optimization level. The code was previously using
the optimization level as a proxy for whether --enable-release is
enabled or not, which was invalidated by bug 1689284.

Differential Revision: https://phabricator.services.mozilla.com/D113730
2021-04-30 21:33:27 +00:00
Emilio Cobos Álvarez 9fdc1d0978 Bug 1707957 - Add a valgrind suppression for a GTK leak. r=stransky
It's a relatively minor one (two keyframes are leaked). I built latest
GTK3 from source and it wasn't reproducible locally. I think our GTK
version on automation might be too old and not have this commit:

  10fa786dfa

Or something of that sort.

Differential Revision: https://phabricator.services.mozilla.com/D113948
2021-04-30 12:36:51 +00:00
Mike Hommey de4630db98 Bug 1708382 - Allow proc-macro-back-compat warning when building with rustc >= 1.52. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D113761
2021-04-29 21:08:27 +00:00
Mike Hommey c0e3e585ac Bug 1708382 - Inline rust_warning_flags into rust_flags. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D113760
2021-04-29 21:08:26 +00:00
Mitchell Hentges a7cd22e13e Bug 1705376: Synchronize workspace-hack features and usage r=firefox-build-system-reviewers,glandium
Not all in-tree Rust libraries were using workspace-hack.
Additionally, some needed winapi features were missing from
workspace-hack's configuration.

Now, winapi is re-compiled less frequently on a full build.

Differential Revision: https://phabricator.services.mozilla.com/D113564
2021-04-29 15:19:27 +00:00
Alexandru Michis b9d4ef3680 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2021-04-29 01:07:01 +03:00
Calixte Denizet f40b4cac3c Bug 1705641 - Don't flush ccov counters when process is dying when env var MOZ_FUZZING_CCOV is defined r=andi
Sometimes there is a deadlock between user-requested ccov counters flush (through a signal) and flush happening when a process is dying.
So in order to avoid it, just remove the latter which is out of our control (user-requested flushes are protected using a cross mutex).

Differential Revision: https://phabricator.services.mozilla.com/D112632
2021-04-28 18:30:35 +00:00