Closed Bug 1669633 Opened 4 years ago Closed 4 years ago

Don't recurse into js/src for the python-part of configure

Categories

(Firefox Build System :: General, task)

task

Tracking

(firefox83 fixed)

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(9 files)

No description provided.

In order to be able to run both old-configure and js/src/old-configure
from the same python configure run, we need to stop setting the items
set by old-configure into the global sandbox config, and instead store
them to be later handled by configure.py.

It wasn't normalized early enough to end up in config.status. It is
surprising this hasn't caused problems earlier.

This simplifies how js gets zlib by simply using the zlib Library
defined in config/external/zlib instead of manually adding MOZ_ZLIB_LIBS
that it needs to inherit somehow correctly from the top-level configure.

The use in browser/app was redundant with mozglue depending on zlib
already.

Attached file Bug 1669633 - Remove MOZ_BUILD_ROOT. (deleted) —

It is only really used in js/src/devtools/rootAnalysis/Makefile.in,
and even there, the way it is used seems wrong, so fix that at the
same time (binaries have been linked into $DIST/bin directly for a
while).

Preparing to run both old-configure and js/src/old-configure from the
same python configure run, we refactor things such that shared parts are
separate.

This helps reduce the diff size for subsequent patches.

That hasn't actually been necessary for a very long time.

Instead, we now run js/src/old-configure from the top-level configure
after having run old-configure and extracted a few variables to inherit
from it.

Because we're now running from the top-level, $_objdir is always the
top-level objdir, which simplifies some things. The topobjdir in
js/src/config.status, however, needs to stay in js/src because of the
build frontend expecting it there.

When running js/src/old-configure, we used to need some special
treatment for a large number of variables for historic reasons, where
we'd take values from the assigned values before running old-configure
for some, or from AC_SUBSTs after running old-configure.

Now that both old-configure and js/src/old-configure get the same
assignments from old-configure.vars, we don't need anything special for
the former. And only a few remaining variables still need manual work
for the latter.

One notable difference, though, is that the new code doesn't try to
avoid running js subconfigure, which added complexity, and was actually
error-prone.

It was only meant to be used internally, when the top-level python
configure invoked the js python subconfigure. Now that this doesn't
happen, we can remove the option, and consolidate js_standalone and
building_js, which are now roughly synonyms.

Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/f9b1e7a5b6ee Don't set AC_SUBSTs and AC_DEFINEs from old-configure directly. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/261ea39c0758 Normalize sanitized_config earlier. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/51743cdf9c63 Only use MOZ_ZLIB_LIBS in config/external/zlib/moz.build. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/0ff51d71f0c0 Remove MOZ_BUILD_ROOT. r=firefox-build-system-reviewers,andi,rstewart https://hg.mozilla.org/integration/autoland/rev/0d3e42d60028 Split prepare_configure and move autoconf to old_configure. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/c233e3e55972 Turn old_configure into a template. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/70d4c7957958 Don't pass --prefix to the js subconfigure. r=firefox-build-system-reviewers,andi,rstewart https://hg.mozilla.org/integration/autoland/rev/8b4ab5dd4446 Don't recurse into js/src for the python-part of configure. r=firefox-build-system-reviewers,rstewart https://hg.mozilla.org/integration/autoland/rev/b0b0edc7fde0 Remove the JS_STANDALONE option. r=firefox-build-system-reviewers,rstewart
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: