Assuming it sticks, bug 896797 just landed in inbound and changes how EXPORTS/headers are installed. This may impact your developer workflow if you modify EXPORTS in a moz.build file to add/remove headers.

Previously, headers were installed incrementally as part of make directory traversal. In the new world, we write out a "manifest" of headers when the build config is read from moz.build files and then we install them in bulk at the top of the build. You'll see a new message like:

From ./dist/include: Kept 3022 existing; Added/updated 0; Removed 678 files and 5 directories.

This is the rsync-like process applying that manifest and reporting that 3022 files are unchanged and 678 files were unaccounted for, so they were purged from dist/include.

The important developer change here is that a non top-level make will no longer install headers. So if you add a new .h to an EXPORTS in a moz.build file, you'll need to perform a top-level/full build for it to be installed.

For build system ninjas wishing to bypass all safety protections, you can also run something similar to the following to get the same effect:

$ _virtualenv/bin/python -m mozbuild.action.process_install_manifest --no-remove ./dist/include _build_manifests/install/dist_include js/src/_build_manifests/install/dist_include
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to