When rustc generates its dependency file, it takes into account current
version of the codebase. If an update of the code then happens, with,
say an ipdl file being removed, the corresponding .h is no longer
generated and make rightfully complains about missing dependency.
Allow this kind of transition by providing a dummy rule for each
dependency generated by rustc.
Differential Revision: https://phabricator.services.mozilla.com/D178617
When rustc generates its dependency file, it takes into account current
version of the codebase. If an update of the code then happens, with,
say an ipdl file being removed, the corresponding .h is no longer
generated and make rightfully complains about missing dependency.
Allow this kind of transition by providing a dummy rule for each
dependency generated by rustc.
Differential Revision: https://phabricator.services.mozilla.com/D178617
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