Before, we would run configure in both top-level and js/src, and both
configures would traverse their own set of moz.builds, without actual
knowledge about the other. With this change, both configures still run,
but only top-level traverses moz.build files, and uses js/src's
config.status when traversing its moz.build files. This allows a better
sharing of information between both build systems and the removal of many
hacks.
This also moves running libffi and icu configure to top-level.
Standalone js builds still have their own configure doing moz.build traversal,
as before.
--HG--
rename : config/autoconf.mk.in => config/autoconf-js.mk.in
rename : config/emptyvars.mk.in => config/emptyvars-js.mk.in
A new build tier is introduced: precompile. The intention is to replace
the export subtier with something better and nonrecursive. IPDL and
WebIDL code generation have been moved into this new tier and are
performed concurrently. This appears to reduce build times due to fewer
"single threaded" build actions.
The subtier tracking UI has been updated to reflect operations that can
occur in parallel. As subtiers are started, they turn yellow. They can
then complete in any order.
Nonrecursive targets have been added to preserve the IPDL and WebIDL
build targets such that developers can type |make| from leaf directories
like they have always done.