Comma is the separator for values in options. Like in --with-foo=bar,baz.
This is meant to be useful for options with nargs="*", "+", or a fixed
value greater than 1.
Currently, when an option with another nargs is passed a comma, we
reject the value as being multiple values, while one or less is
expected. This causes problems with options with nargs=1 that actually
CAN have legitimate values containing commas. Examples include:
CFLAGS="-Wp,--preprocessor-flag -Wa,--assembler-flag"
LDFLAGS=-Wl,--linker-flag"
Since options with multiple arguments are the exception, not the norm,
let's allow commas in cases where at most a single argument is expected.
An alternative would be to explicitly disable comma-splitting on the set
of options that can take values containing commas, but that's error-prone.
Differential Revision: https://phabricator.services.mozilla.com/D217021
Instead, position MOZ_OPTIMIZE_FLAGS to -O3 under PGO on Linux.
This creates a dependency on PGO from toolchain.configure, break it by
splitting moz_optimize in two functions, one for the optimization status
and one for the optimization flags.
Differential Revision: https://phabricator.services.mozilla.com/D214843
Also instruct `mach` to use the vendored `glean_parser` instead of the one it
would otherwise pull down from `pip` as part of its `glean_sdk` dep.
This unfortunately ties updates of `mach`'s `glean_sdk` to any updates m-c gets
for its `glean_parser`. It's required to ensure `./mach build` always uses the
vendored `glean_parser` (see bug 1908020).
Differential Revision: https://phabricator.services.mozilla.com/D216717
This makes IMPORT_LIBRARY a full path, to match the change to
SHARED_LIBRARY so that the IMPORT_LIBRARY target can be found in
js/src/build/Makefile.in. Fixes regression in js standalone build 'make
install'.
Initial patch by Philip Chimento.
Differential Revision: https://phabricator.services.mozilla.com/D215992
For consistency with other Library classes, import_name should be the
"import" library name, while import_path is the full path.
Differential Revision: https://phabricator.services.mozilla.com/D216141
This makes IMPORT_LIBRARY a full path, to match the change to
SHARED_LIBRARY so that the IMPORT_LIBRARY target can be found in
js/src/build/Makefile.in. Fixes regression in js standalone build 'make
install'.
Initial patch by Philip Chimento.
Differential Revision: https://phabricator.services.mozilla.com/D215992
For consistency with other Library classes, import_name should be the
"import" library name, while import_path is the full path.
Differential Revision: https://phabricator.services.mozilla.com/D216141
Added one field:
- The `--target` of a build.
Re-added `python/mach/metrics.yaml` to `./mach doc mach-telemetry` generation (Not sure why it was missing).
Re-generated the associated docs. (It looks like this was not done for previously when other fields were added.
Differential Revision: https://phabricator.services.mozilla.com/D208811
The [tab-close-button](https://searchfox.org/mozilla-central/rev/f9157a03835653cd3ece8d2dc713a782b7e4374e/browser/base/content/tabbrowser-tab.js#40) is not labeled and is missing an interactive role of button, while it is functioning as one.
Note: we do not want this control to be keyboard focusable, because keyboard-only user could close the tab via the context menu and we don't want to create an additional tab stop for the navigation as well, but making sure the control is marked up as a button with an accessible name would allow it to be actionable with speech-to-text software, with touch devices, with switch controls in scan mode, and for screen readers via their navigation shortcuts as well.
Differential Revision: https://phabricator.services.mozilla.com/D204413
The [tab-close-button](https://searchfox.org/mozilla-central/rev/f9157a03835653cd3ece8d2dc713a782b7e4374e/browser/base/content/tabbrowser-tab.js#40) is not labeled and is missing an interactive role of button, while it is functioning as one.
Note: we do not want this control to be keyboard focusable, because keyboard-only user could close the tab via the context menu and we don't want to create an additional tab stop for the navigation as well, but making sure the control is marked up as a button with an accessible name would allow it to be actionable with speech-to-text software, with touch devices, with switch controls in scan mode, and for screen readers via their navigation shortcuts as well.
Differential Revision: https://phabricator.services.mozilla.com/D204413
It turns out subprocess functions have the annoying behavior of changing
line endings in `input` when using `text=True` or `universal_newlines=True`,
or even `encoding="utf-8"`. And git fast-import doesn't like `\r\n`.
Differential Revision: https://phabricator.services.mozilla.com/D215158
Currently, the caller potentially prepares files, add them to the VCS,
and then calls the function to create the commit, does whatever it wants
to do with it, then undoes it.
With the ultimate goal of not doing local changes to the work tree to
act on that try commit (for a push), this change in API makes it so
that everything except what do do with the commit is handled by one
function, that now takes paths and file contents for the files that were
previously created by the caller.
Differential Revision: https://phabricator.services.mozilla.com/D214214
We can't use `shutil.copy_tree` here, since we need the `update=True`
functionality implemented by the `distutils` variant, but not by the
`shutil` one. This looks like the only place in the repo we use this
functionality, so it seems fine to implement an equivalent ourselves
here directly.
Differential Revision: https://phabricator.services.mozilla.com/D211632