cargo generates dependency file for each program, systematically. Use it
to avoid redundant builds.
This handles the following situations:
* Cargo file is updated
* One of the dependency output by cargo is updated
* Binary is manually removed
* Dependency file is manually removed
Differential Revision: https://phabricator.services.mozilla.com/D165159
What was added in bug 1378830 was broken by bug 1255485. Not in a super
visible way, but the undesirable side effect is that C programs end up
being linked against the C++ runtime. Which didn't cause practical
problems until bug 1820947.
Differential Revision: https://phabricator.services.mozilla.com/D172519
`mach cargo COMMAND` will run `cargo-COMMAND` using `cargo build`
arguments by default. However, it is possible to tune the arguments
using either command-line arguments, or a YAML file in `config/cargo/`.
A file `config/cargo/template.yaml` can be used to create a new
configuration for a new cargo sub-command.
Differential Revision: https://phabricator.services.mozilla.com/D166780
This is a backout of changeset a47d1c31b581 from bug 1657863; the underlying problem was fixed in bug 1766432.
This backout will homogenize regular builds and MinGW builds.
It will allow MinGW tests to properly identify the running version of Windows, and thus have more realistic coverage.
The full story, as described in bug 1812264:
Bug 1656141 added manifests to MinGW binaries.
This caused TestDllInterceptor.exe to now realize it's not running on Windows 8, thus it can run the tests that make use of the ACG mitigation.
However ACG was broken in MinGW builds, causing perma bug 1657863 in TestDllInterceptor.exe, where we decided to remove the automatic manifests to remove the perma.
The problem with using ACG in MinGW builds was figured out in bug 1766432, and fixed accordingly.
We can thus now restore automatic manifests in MinGW builds.
Differential Revision: https://phabricator.services.mozilla.com/D167828
This adds a subcommand ./mach cargo udeps with the following
sub command arguments:
Sub Command Arguments:
--all-crates Check all of the crates in the tree.
crates The crate name(s) to check.
--jobs [jobs], -j [jobs]
Run the tests in parallel using multiple
processes.
-v, --verbose Verbose output.
--message-format-json
Emit error messages as JSON.
--expect-unused Do not return an error exit code if udeps
detects unused dependencies.
Differential Revision: https://phabricator.services.mozilla.com/D159838
Steps performed:
- Add "microsecond" and "nanosecond" to "intl/icu/data_filter.json".
- Run "icu_sources_data.py" to update the ICU data file.
- Run "update-tzdata.sh" to reapply the tzdata 2022f changes.
- Add "microsecond" and "nanosecond" to "SanctionedSimpleUnitIdentifiers.yaml".
- Run "make_intl_data.py units" to regenerate additional SpiderMonkey files.
Spec PR: https://github.com/tc39/ecma402/pull/708
Differential Revision: https://phabricator.services.mozilla.com/D161676
- The bug that was constantly disabling `VIRTUAL_TERMINAL_PROCESSING` has been fixed upstream in CYGWIN (fdbd153932) and merged into MSYS2 (e4fdb0cb73)
- The upcoming MozillaBuild `4.0.2` release will have the updated MSYS2 that contains this fix, allowing us to enable colored output on Windows.
- We will enable `ENABLE_VIRTUAL_TERMINAL_PROCESSING` once (For each stdout and stderr) on initializing the formatter to ensure that `VIRTUAL_TERMINAL_PROCESSING` is enabled whenever Mach is called..
- These changes will only be active if the MozillaBuild version is greater than or equal to Release `4.0.2`
Differential Revision: https://phabricator.services.mozilla.com/D138256
- The bug that was constantly disabling `VIRTUAL_TERMINAL_PROCESSING` has been fixed upstream in CYGWIN (fdbd153932) and merged into MSYS2 (e4fdb0cb73)
- The upcoming MozillaBuild `4.0.2` release will have the updated MSYS2 that contains this fix, allowing us to enable colored output on Windows.
- We will enable `ENABLE_VIRTUAL_TERMINAL_PROCESSING` once (For each stdout and stderr) on initializing the formatter to ensure that `VIRTUAL_TERMINAL_PROCESSING` is enabled whenever Mach is called..
- These changes will only be active if the MozillaBuild version is greater than or equal to Release `4.0.2`
Differential Revision: https://phabricator.services.mozilla.com/D138256