We don't check for pkg-config on some platforms (Windows, OSX, Android).
On those platforms, calling 'pkg_check_modules' will not work. Adding
the same 'when' used for the 'pkg_config' check to all the options that
end up calling 'pkg_check_modules' effectively disables them, and prevents
'pkg_check_modules' from being called.
Differential Revision: https://phabricator.services.mozilla.com/D150649
If the destination file doesn't exist, we don't need to check the
current file's time, and we can just write or symlink regardless.
Differential Revision: https://phabricator.services.mozilla.com/D210330
The use of input() to pause the text scrolling is intentional. Users
might otherwise not see the message. It ensures the user makes an
informed decision and either switches to a Dev Drive, or hides the
recommendation.
Differential Revision: https://phabricator.services.mozilla.com/D194716
The previous implementation used days since Jan 1 2000 for the last
16-bit segment. This was not unique enough and caused issues with
Antivirus software if two different channels were built on the same day.
The new approach uses hours since the last milestone bump and uses the
VCS to determine how long ago that was relative to the build time. This
means it will always reset when a new cycle begins, but still be unique
since the digits in the first 3 segments have incremented.
We also now use two of the 16-bits to encode the channel (nightly, beta,
ESR, and release). So two channels built within the same hour will still
be unique.
Using only 14-bits to store the 'hours since version bump', we have
about ~682 days from a version bump before we reach the maximum value we
can store. If a build is done after that point, the segment value will
always be the maximum value for that channel.
Differential Revision: https://phabricator.services.mozilla.com/D200989
Currently, the browsertime used by mozperftest is outdated and
maintained separately from the browsertime used in raptor tests.
This patch upgrades the browsertime used in mozperftest by now sharing
the same browsertime that is used with raptors (in `src/tools/browsertime`).
Going forward we now only have to maintain one browsertime version. This
introduces the potential of more infra changes (because previously when
upgrading raptor's browsertime we only checked raptor tests, but now we
will have to verify mozperftest) but this should be worth it to stay up
to date.
Differential Revision: https://phabricator.services.mozilla.com/D208944
The biggest thing for m-c is the addition of a single-duration API for
timing_distribution that was previously papered over in the FOG-specific impl
using the SDK's multi-duration API.
This ought to drop unnecessary `vec![]`-caused allocations for some fairly-
high-frequency calls to AccumulateRawDuration.
Differential Revision: https://phabricator.services.mozilla.com/D209864
Thunderbird has a separate config.toml.in file at comm/rust/.cargo/config.in that
cargo vet needs to use. It's set in the config variable MOZ_OVERRIDE_CARGO_CONFIG.
Before running cargo vet for Thunderbird, mach configure must run first.
Additionally, cargo vet's working directory needs to be `comm/rust`.
This change has no effect on how `mach cargo vet` works for Firefox.
To verify, `mach cargo vet suggest --verbose debug` shows the supply-chain path
in use.
Differential Revision: https://phabricator.services.mozilla.com/D205896
As a result of the mono-repo change we have a very easy way to run the startup tests on each commit vs on a nightly build.
This change allows us to push a try job, build the fenix/focus/geckoview_example apk and test the startup impact!
Differential Revision: https://phabricator.services.mozilla.com/D208240
As a result of the mono-repo change we have a very easy way to run the startup tests on each commit vs on a nightly build.
This change allows us to push a try job, build the fenix/focus/geckoview_example apk and test the startup impact!
Differential Revision: https://phabricator.services.mozilla.com/D208240
We are about to change the hgignore to remove the lookahead expression. This
means the "*.egg-info/" directories will be ignored everywhere again. To
prevent this causing issue with the vendoring logic, we add a new call to
add-remove explicitly listing file in ".egg-info" directories to override the
ignore pattern.
Once tracked, the ignore pattern will no longer affects these file and all will
be good.
Check the next commit for more information on the motivation.
Differential Revision: https://phabricator.services.mozilla.com/D208968
Mach can currently only run on Python version 3.8 or higher, so it
doesn't make sense to continue having dead code that provides support
for Python2.
Differential Revision: https://phabricator.services.mozilla.com/D209030
Mitch has been inactive for ~2 years now. I don't necessarily needs to
add myself in his stead, but I think it makes sense to have me on there
as the current triage owner.
Differential Revision: https://phabricator.services.mozilla.com/D209031
@file are supported by gcc since gcc 7 and by clang since clang 3.x,
which removes the need for linker script to list input files.
We cannot directly use @file from the compiler driver (it would expand
to a large number of arguments and hit the linker limit) so pass
-Wl,@FILE instead, which is supported since binutils 2.17.
As a side effect this removes the LTO dependency from the check.
Differential Revision: https://phabricator.services.mozilla.com/D207839
The previous implementation used days since Jan 1 2000 for the last
16-bit segment. This was not unique enough and caused issues with
Antivirus software if two different channels were built on the same day.
The new approach uses hours since the last milestone bump and uses the
VCS to determine how long ago that was relative to the build time. This
means it will always reset when a new cycle begins, but still be unique
since the digits in the first 3 segments have incremented.
We also now use two of the 16-bits to encode the channel (nightly, beta,
ESR, and release). So two channels built within the same hour will still
be unique.
Using only 14-bits to store the 'hours since version bump', we have
about ~682 days from a version bump before we reach the maximum value we
can store. If a build is done after that point, the segment value will
always be the maximum value for that channel.
Differential Revision: https://phabricator.services.mozilla.com/D200989
We don't want the packaged update frameworks, we only want the
localbuild variants fetched from the `update_framework_artifacts`
extra archive. These don't impact builds, but they clutter the object
directory and are misleading.
Differential Revision: https://phabricator.services.mozilla.com/D208662
Moves the Fluent strings for Select Translations out of
locales preview and into the en-US locale to mark them
to be translated by localizers for release.
Differential Revision: https://phabricator.services.mozilla.com/D208383
This patch:
1. Produces additional frameworks as part of every build. In compile
builds, the frameworks are built; in artifact builds, the frameworks
binaries are taken from fetched artifacts. It's not easy to compile a
single framework with the same name twice in the `moz.build` DSL, so
some file shuffling is done in `Makefile.in` files to arrange the
correct layout.
2. Packages and uploads a new `update_framework_artifacts` extra
archive for artifact builds to consume.
3. Consumes the new extra archive in artifact builds.
Produced frameworks live in
`dist/macos_framework_artifacts/xyz.framework/**`.
Consumed frameworks are made availabe to artifact builds in
`dist/macos_framework_artifacts`.
Bug 1885985 - Part 2:
Differential Revision: https://phabricator.services.mozilla.com/D205936
@file are supported by gcc since gcc 7 and by clang since clang 3.x,
which removes the need for linker script to list input files.
We cannot directly use @file from the compiler driver (it would expand
to a large number of arguments and hit the linker limit) so pass
-Wl,@FILE instead, which is supported since binutils 2.17.
As a side effect this removes the LTO dependency from the check.
Differential Revision: https://phabricator.services.mozilla.com/D207839