Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.
It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.
The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.
Differential Revision: https://phabricator.services.mozilla.com/D175976
Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.
It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.
The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.
Differential Revision: https://phabricator.services.mozilla.com/D175976
Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.
It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.
The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.
Differential Revision: https://phabricator.services.mozilla.com/D175976
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
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
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