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

9860 Коммитов

Автор SHA1 Сообщение Дата
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