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

6121 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru ef35fa7374 Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot
clang-format version 17.0.6 (taskcluster-QueHFUviQeyM8Y7r_d7MQQ)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D195397
2023-12-04 10:09:36 +00:00
Mike Hommey 02981ff493 Bug 1867440 - Avoid passing -DUNICODE when cross-compiling on Windows. r=firefox-build-system-reviewers,sergesanspaille
When cross-compiling on Windows for e.g. Android, at the moment, we
currently pass -DUNICODE to target C compilations that happen through
Rust because of a erroneous condition in the Makefile. This fixes it.

Differential Revision: https://phabricator.services.mozilla.com/D195069
2023-11-30 22:48:12 +00:00
Ryan Hunt 9c5801d32d Bug 1863794 - Generate ABIFunctionType code using build script. r=jandem
Today adding a new ABIFunctionType requires:
  1. Adding a new option to the enum
  2. Updating all the simulators to handle redirects of this type

(1) is easy after we added some constexpr code for constructing
these types.

(2) is really painful, because it requires building on multiple
platforms to test, and requires knowledge of all ABI's to get
details about registers/stack/etc correct.

This patch adds a build-time step which will generate (1) and (2)
from a declarative YAML file.

The interesting piece is (2) which has to understand the ABI
rules and simulator data structures for generating the code.
It's tricky code, but think it's easier to maintain and prove
correct in one place vs. in a big simulator switch. A data point
for this is that implementing this uncovered a few cases where
our hand-written code was technically incorrect (although practically
not an issue yet).

Depends on D193111

Differential Revision: https://phabricator.services.mozilla.com/D193112
2023-11-30 00:46:31 +00:00
Ryan Hunt 7aa6f07799 Bug 1863794 - wasm: Rename intrinsics to builtin modules. r=yury
I plan on re-using and generalizing the intrinsics code for supporting
the new 'builtin modules' concept as required by the js-string-builtins
proposal. First step is a rename. No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D193110
2023-11-30 00:46:30 +00:00
Mike Hommey 1e458b9392 Bug 1866394 - Make rust-built binaries reproducible. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D194586
2023-11-24 07:48:47 +00:00
Mozilla Releng Treescript bf53d3b6ba Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2023-11-20 16:18:16 +00:00
Noemi Erli af7888da9c Backed out 18 changesets (bug 1863960, bug 1859752) as requested in Bug 1864612 CLOSED TREE
Backed out changeset 814145392ecb (bug 1863960)
Backed out changeset f3564a69fd3f (bug 1863960)
Backed out changeset 35ff07f4726a (bug 1859752)
Backed out changeset b5bf398e3069 (bug 1859752)
Backed out changeset da94a164d4ea (bug 1859752)
Backed out changeset c5eca26f8dff (bug 1859752)
Backed out changeset a2c6ae62fbf7 (bug 1859752)
Backed out changeset 33d0d72d1abe (bug 1859752)
Backed out changeset a42248554021 (bug 1859752)
Backed out changeset 0e7eefda2425 (bug 1859752)
Backed out changeset 1e39572cb1c7 (bug 1859752)
Backed out changeset cbde31ce55a8 (bug 1859752)
Backed out changeset 152860574068 (bug 1859752)
Backed out changeset 16b9813a9c61 (bug 1859752)
Backed out changeset e4495cec8e4b (bug 1859752)
Backed out changeset 1e22b97c98ba (bug 1859752)
Backed out changeset b191be0ec825 (bug 1859752)
Backed out changeset 8b46595de6b5 (bug 1859752)
2023-11-14 17:07:57 +02:00
Rob Lemley 35f00ac61e Bug 1862463 - Remove references to building Thunderbird with a mozilla/ subdirectory. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D192488
2023-11-07 14:58:59 +00:00
André Bargull ecfc3b211d Bug 1859752 - Part 3: Update in-tree ICU to 74. r=platform-i18n-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D192728
2023-11-07 08:45:28 +00:00
Mike Hommey c3b5abd437 Bug 1861564 - Disambiguate markers when tracking them. r=florian,releng-reviewers,jcristau
In the build, we have a few cases of things that have the same name,
but they happen in different directories. While disambiguating them
in the profile itself might not be super important (although it may turn
out to be, but let's assume it's not that important for now because I
also don't really want to add the directory everywhere), not
disambiguating them while tracking the markers makes it so that when it
happens that ambiguous things are running in parallel, the profile ends
up with wrong data for the corresponding markers.

Differential Revision: https://phabricator.services.mozilla.com/D192044
2023-10-27 20:13:53 +00:00
Mike Hommey 94aaf5f3de Bug 1861510 - Force cargo to run when Cargo.lock changes. r=firefox-build-system-reviewers,ahochheiden
There are a number of occasions where changes to rust code doesn't
trigger cargo to run on an incremental build. In most cases, these
changes are accompanied with a change in Cargo.lock, so let's make cargo
run every time Cargo.lock changes.

Differential Revision: https://phabricator.services.mozilla.com/D192018
2023-10-27 05:23:32 +00:00
Mike Hommey 4ab7257405 Bug 1859851 - Handle escaped spaces in dependencies. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D191688
2023-10-27 05:13:59 +00:00
Mike Hommey 3b09aa6133 Bug 1859851 - Use $? instead of $^ when invoking rebuild_check. r=firefox-build-system-reviewers,andi
$? will only pass the dependencies that have triggered the command to be
called, which will save some work in rebuild_check. However, since
rebuild_check does the difference between removed and modified files,
it still needs to keep checking files.

But, the real reason we need this check is that gkrust.d can have
dependencies with spaces in them, and Make special variables like $^ or
$? don't handle those nicely, and while those files with spaces in
them are most likely unchanged (in most cases, they are going to be
files from the Windows SDK), they end up always reported as the cause
for rebuilds when setting REBUILD_CHECK. $? is more likely not to
contain files with spaces.

Differential Revision: https://phabricator.services.mozilla.com/D191381
2023-10-27 05:13:59 +00:00
Mike Hommey 445012b5ed Bug 1859851 - Move REPORT_BUILD to the rule that contains the dependencies. r=firefox-build-system-reviewers,sergesanspaille
Because the force-cargo-* rules don't have actual dependencies, the
REPORT_BUILD call can't usefully report why cargo is invoked when
setting REBUILD_CHECK.

This also has the side effect of making the non-verbose output nicer
(containing the actual built file rather than force-cargo-*)

Differential Revision: https://phabricator.services.mozilla.com/D191380
2023-10-27 05:13:58 +00:00
Mike Hommey 330ef2cdc9 Bug 1859851 - Add missing skipping cargo trick on host rust targets. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D191379
2023-10-27 05:13:58 +00:00
Mike Hommey 11562556c0 Bug 1859851 - Share the rule that avoids invoking cargo between the two places that use the trick. r=firefox-build-system-reviewers,ahochheiden
There are subtle differences in the two implementations that actually
make the variant for RUST_PROGRAMS not work currently:
- there is a %.h leftover from bug 1855623
- there is a missing $(basename) when trying to find the .d file,
  preventing it from being found.

With a common rule, we avoid such subtle differences, and that also
allows to further implement fixes without missing one of the cases.

This will also allow to add the same trick to other rules, which should
already have it.

Differential Revision: https://phabricator.services.mozilla.com/D191378
2023-10-27 05:13:57 +00:00
Mike Hommey 515f93080b Bug 1861360 - let dumpsymbols run in parallel. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D191943
2023-10-27 03:38:44 +00:00
Narcis Beleuzu 1fb4fc56fe Backed out 5 changesets (bug 1859851) for SM bustages . CLOSED TREE
Backed out changeset eb6ad3bf3ab1 (bug 1859851)
Backed out changeset 7dfba9feb9e5 (bug 1859851)
Backed out changeset 6b93f8e31abe (bug 1859851)
Backed out changeset 5a5c3ff9308c (bug 1859851)
Backed out changeset 7c4c7eb2d7ab (bug 1859851)
2023-10-27 04:19:13 +03:00
Mike Hommey 6cf496014d Bug 1861509 - Don't try to build gkrust-gtest before gkrust. r=firefox-build-system-reviewers,ahochheiden
Back when this was added, there was an incentive to try to build
gkrust-gtest before gkrust so that libxul-gtest could have a chance
to link and be dumpsymbol'ed while gkrust compiles.

While we may still want that to happen to some degree, the way it's done
right now, with how things evolved over the years, ends up being
counterproductive and ends up delaying all the rust compiles entirely.

We'll deal with improving the overall ordering of builds in bug 1651293.

(This only affects CI)

Differential Revision: https://phabricator.services.mozilla.com/D192015
2023-10-27 00:09:06 +00:00
Mike Hommey 680a660d33 Bug 1861291 - Move manual dependencies upon wasm2c to the backend. r=firefox-build-system-reviewers,ahochheiden
This change introduces the possibility for more interdependencies being
recorded automatically, but making this work reliably more generally
we'll probably need more work, so at the moment, just make it work for
wasm2c.

Differential Revision: https://phabricator.services.mozilla.com/D191925
2023-10-27 00:07:22 +00:00
Mike Hommey 3f5e73c216 Bug 1861291 - Move relrhack manual interdependency to the backend. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D191924
2023-10-27 00:07:22 +00:00
Mike Hommey c9b509ad96 Bug 1861291 - Remove manual interdependency for updateagent. r=firefox-build-system-reviewers,nalexander
Updateagent was removed in bug 1681574.

Differential Revision: https://phabricator.services.mozilla.com/D191923
2023-10-27 00:07:21 +00:00
Mike Hommey f5dd99851d Bug 1861291 - Allow RustPrograms to have USE_LIBS. r=firefox-build-system-reviewers,ahochheiden
The information will only be used for deriving in-tree
interdependencies.

Differential Revision: https://phabricator.services.mozilla.com/D191922
2023-10-27 00:07:21 +00:00
Mike Hommey cc280619c4 Bug 1861288 - Improve coverage of the pre-export and export phases in profiles. r=firefox-build-system-reviewers,ahochheiden
At the top-level, what we currently have is something akin to:
  export: some deps
    echo BUILDSTATUS TIER_START export
    make recurse_export
    ...

In practice, what this means is that `some` and `deps` are built outside
the export tier/phase.

Since recurse_export is itself a recipe with dependencies, we can "just"
move `some` and `deps` to become dependencies of recurse_export instead.
But since in non top-level directories, recurse_export is not a thing,
we still need to keep the dependencies on export there.

Unfortunately, we have one instance of something built during
recurse_export that relied on its undeclared/undeclarable dependencies
being built before recurse_export, so we need to accomodate for that.

Also, for some reason, recurse_pre-export was a two-colons recipe, while
the other recurse_* recipes were single-colon, so fix that.

Come to think of it, the same probably applies to misc and libs, which
this would mechanically fix alongside.

Incidentally, this also makes those things that ran before recurse_* run
in parallel of the other things that run during recurse_*.

Differential Revision: https://phabricator.services.mozilla.com/D191913
2023-10-27 00:01:35 +00:00
Mike Hommey d812b6e780 Bug 1859851 - Handle escaped spaces in dependencies. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D191688
2023-10-26 23:59:15 +00:00
Mike Hommey 14746b3ff0 Bug 1859851 - Use $? instead of $^ when invoking rebuild_check. r=firefox-build-system-reviewers,andi
$? will only pass the dependencies that have triggered the command to be
called, which will save some work in rebuild_check. However, since
rebuild_check does the difference between removed and modified files,
it still needs to keep checking files.

But, the real reason we need this check is that gkrust.d can have
dependencies with spaces in them, and Make special variables like $^ or
$? don't handle those nicely, and while those files with spaces in
them are most likely unchanged (in most cases, they are going to be
files from the Windows SDK), they end up always reported as the cause
for rebuilds when setting REBUILD_CHECK. $? is more likely not to
contain files with spaces.

Differential Revision: https://phabricator.services.mozilla.com/D191381
2023-10-26 23:59:15 +00:00
Mike Hommey 206eecffbe Bug 1859851 - Move REPORT_BUILD to the rule that contains the dependencies. r=firefox-build-system-reviewers,sergesanspaille
Because the force-cargo-* rules don't have actual dependencies, the
REPORT_BUILD call can't usefully report why cargo is invoked when
setting REBUILD_CHECK.

This also has the side effect of making the non-verbose output nicer
(containing the actual built file rather than force-cargo-*)

Differential Revision: https://phabricator.services.mozilla.com/D191380
2023-10-26 23:59:14 +00:00
Mike Hommey 3a044c7203 Bug 1859851 - Add missing skipping cargo trick on host rust targets. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D191379
2023-10-26 23:59:14 +00:00
Mike Hommey 4baa2479d0 Bug 1859851 - Share the rule that avoids invoking cargo between the two places that use the trick. r=firefox-build-system-reviewers,ahochheiden
There are subtle differences in the two implementations that actually
make the variant for RUST_PROGRAMS not work currently:
- there is a %.h leftover from bug 1855623
- there is a missing $(basename) when trying to find the .d file,
  preventing it from being found.

With a common rule, we avoid such subtle differences, and that also
allows to further implement fixes without missing one of the cases.

This will also allow to add the same trick to other rules, which should
already have it.

Differential Revision: https://phabricator.services.mozilla.com/D191378
2023-10-26 23:59:13 +00:00
Cosmin Sabou 106c5dcb58 Backed out changeset 5e0b7bee5293 (bug 1861360) for causing build bustages. CLOSED TREE 2023-10-26 15:45:36 +03:00
Julien Cristau b2c17b1d9f Bug 1861360 - let dumpsymbols run in parallel. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191943
2023-10-26 10:06:28 +00:00
Mozilla Releng Treescript 6725a50a34 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2023-10-23 14:15:37 +00:00
André Bargull a807279eb6 Bug 1855986: Don't attempt to use in-tree double-conversion for ICU standalone builds. r=sergesanspaille,glandium
Updates the ICU patch "double-conversion.diff" to only use the in-tree copy of
double-conversion when building Firefox/SpiderMonkey. Standalone ICU builds
instead use the ICU copy of double-conversion. Standalone ICU builds happen
when running "intl/icu_sources_data.py" and when converting the in-tree
little-endian ICU data file to the big-endian format.

`JS_HAS_INTL_API` is used to detect how ICU is built: When building ICU as part
of Firefox/SpiderMonkey, `JS_HAS_INTL_API` is guaranteed to be set, whereas in
standalone ICU builds `JS_HAS_INTL_API` isn't defined.

After applying the updated "double-conversion.diff" patch, ICU was reimported
to restore the previously deleted double-conversion sources files from ICU.

Depends on D190791

Differential Revision: https://phabricator.services.mozilla.com/D190792
2023-10-20 15:21:43 +00:00
Mike Hommey 94f304f3bc Bug 1858807 - Track individual rust crate build times. r=firefox-build-system-reviewers,sergesanspaille
As of now, cargo only supports HTML timings output. There is an unstable
flag for a json output, but we can't use that because it requires a
nightly cargo. So we do our best effort to get the data we need off the
HTML, but since the exact details of the format of that file are not
set in stone, we also prevent any error from being unhandled. It's
better not to have the data than break the build.

Differential Revision: https://phabricator.services.mozilla.com/D190884
2023-10-19 00:29:47 +00:00
Mike Hommey 3acb2b7d23 Bug 1858774 - Add missing annotations for build tracking. r=florian
Also fix a couple existing ones.

Differential Revision: https://phabricator.services.mozilla.com/D190853
2023-10-12 23:00:13 +00:00
stransky 18bd527479 Bug 1532281 [Linux] Don't build with dbus-glib r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D187208
2023-10-12 12:59:08 +00:00
Florian Quèze ec1134bf2f Bug 1850647 - add an optional argument to py_action to record the target file name for most actions, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D187306
2023-10-12 08:41:34 +00:00
Florian Quèze a7088bc314 Bug 1850647 - make py_action emit BUILDSTATUS START and END lines for every action, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D190514
2023-10-12 08:41:34 +00:00
Florian Quèze f26d5aa7e6 Bug 1850647 - prepare py_action callers to py_action expanding to multiple lines, r=glandium.
- avoid using py_action with addprefix (process_install_manifest calls)
- use a foreach make loop instead of a shell script for loop (toolkit/components/telemetry)
- pass the directory in which MAKE_PACKAGE should run as an argument instead of changing the directory before calling the macro.

Differential Revision: https://phabricator.services.mozilla.com/D190513
2023-10-12 08:41:33 +00:00
Florian Quèze a41e242dca Bug 1850647 - Show markers for processes started by make files, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D187078
2023-10-12 08:41:33 +00:00
Sandor Molnar a9ab9f37a0 Backed out 8 changesets (bug 1850647, bug 1325181) for causing build bustages CLOSED TREE
Backed out changeset ab9d4ca38d83 (bug 1850647)
Backed out changeset 7465055478d9 (bug 1850647)
Backed out changeset 2008dd9ac32a (bug 1325181)
Backed out changeset c95204654c91 (bug 1850647)
Backed out changeset 0128ca1c9d18 (bug 1850647)
Backed out changeset e9277971c260 (bug 1850647)
Backed out changeset 6c15af4bc2c6 (bug 1850647)
Backed out changeset ce7ac5e23c1c (bug 1850647)
2023-10-11 12:25:58 +03:00
Florian Quèze d40c2ed723 Bug 1850647 - add an optional argument to py_action to record the target file name for most actions, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D187306
2023-10-11 05:54:13 +00:00
Florian Quèze 5e606c6e94 Bug 1850647 - make py_action emit BUILDSTATUS START and END lines for every action, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D190514
2023-10-11 05:54:13 +00:00
Florian Quèze 23a0d1f195 Bug 1850647 - Show markers for processes started by make files, r=glandium.
Differential Revision: https://phabricator.services.mozilla.com/D187078
2023-10-11 05:54:12 +00:00
serge-sans-paille d3e574bc41 Bug 1857234 - Have mach vendor's `**` globbing match hidden files r=tjr,devtools-reviewers,cubeb-reviewers,padenot,ochameau
This patch contains three changes:

1. a local version of glb.iglob in vendor_manifest.py that always
   matches hidden files for '**'. I've tested it on Python 3.5 up to
   3.12 and it works as expected.

2. a cleanup of many moz.yaml files that got convluted because of the
   previous behavior of '**'

3. removal of a few useless files that are now caught by the '**'
   globbing.

Differential Revision: https://phabricator.services.mozilla.com/D190195
2023-10-10 08:21:13 +00:00
Mike Hommey d2c3903cc2 Bug 1855623 - Make sure all rust dependencies have a default implicit rule. r=firefox-build-system-reviewers,sergesanspaille
This extends bug 1831334 to apply to any kind of dependency, not only
C header files, and we normalize paths separator on Windows, because
cargo/rustc emits paths with a mix of forward and backwards slashes, and
make doesn't like the latter.

Differential Revision: https://phabricator.services.mozilla.com/D189456
2023-10-03 21:57:09 +00:00
Mike Hommey fba97cc2c9 Bug 1855623 - Add some escaping in RUST_PROGRAM_DEPENDENCIES. r=firefox-build-system-reviewers,sergesanspaille
Without it, some things are expanded earlier than expected.

Differential Revision: https://phabricator.services.mozilla.com/D189879
2023-10-03 21:57:08 +00:00
Mike Hommey d8cd5a14ce Bug 1855623 - More make_default_rule macro to somewhere that is not conditional to RUST_LIBRARY_FILE. r=firefox-build-system-reviewers,sergesanspaille
This broke its use in the RUST_PROGRAM case.

Differential Revision: https://phabricator.services.mozilla.com/D189878
2023-10-03 21:57:08 +00:00
Narcis Beleuzu 0fff0a1962 Backed out changeset 3e3eb06d8cf0 (bug 1855623) for causing Bug 1855941 2023-10-01 23:01:15 +03:00
Mike Hommey 62f4cb8ca6 Bug 1855623 - Make sure all rust dependencies have a default implicit rule. r=firefox-build-system-reviewers,sergesanspaille
This extends bug 1831334 to apply to any kind of dependency, not only
C header files.

Differential Revision: https://phabricator.services.mozilla.com/D189456
2023-09-28 21:10:39 +00:00