Closed Bug 1255667 Opened 4 years ago Closed 4 years ago

mozconfig overrides environment variables

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox48 fixed)

RESOLVED FIXED
mozilla48
Tracking Status
firefox48 --- fixed

People

(Reporter: glandium, Unassigned)

References

(Depends on 1 open bug)

Details

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #1254459 +++

This morning I was unable to build a 32-bit JS shell on OS X. With some IRC debugging help from glandium, we tracked it down to the following:

My configure line for the 32-bit shell build is:

  AR=ar CC="/opt/clang/bin/clang -fcolor-diagnostics -m32" CXX="/opt/clang/bin/clang++ -fcolor-diagnostics -m32" ../configure --target=i686-apple-darwin10.0.0 --enable-debug --disable-optimize --with-system-nspr --with-ccache=/usr/local/bin/ccache --without-intl-api

And my ~/dev/inbound/.mozconfig had this in it:

  CC="/opt/clang/bin/clang -fcolor-diagnostics"
  CXX="/opt/clang/bin/clang++ -fcolor-diagnostics"

So the mozconfig file ended up overriding CC/CXX and we lost the -m32 part.

And FWIW the bisection result:

The first bad revision is:
changeset:   287139:33859b1a30fa
user:        Mike Hommey <mh+mozilla@glandium.org>
date:        Fri Mar 04 14:31:08 2016 +0900
summary:     Bug 1253502 - Move python virtualenv initialization to moz.configure. r=gps


Because figuring out what we want to do wrt mozconfig vs. command line and environment variable is not a clear-cut case, let's fix the immediate problem by making js/src/configure not pick mozconfigs, like it was doing all along.
While the long term goal is that js and top-level use the same configure
and the same overall setup, including the possibility to use mozconfigs,
figuring out what we want to do wrt mozconfig vs. command line and
environment variable is not a clear-cut case, and it's more important to
fix the immediate problem mozconfig causes to js developers by
"temporarily" returning to the previous behavior of not loading the
mozconfig for the js configure.

This was already done in the case of running it as a subconfigure, this
extends the exception. Unfortunately, there is no direct way to tell
whether the running configure is the js configure. The indirect way is
to look at the OLD_CONFIGURE path, which points to
js/src/old-configure.

I expect we'll have figured things out for mozconfigs well before
old-configure dies.

Review commit: https://reviewboard.mozilla.org/r/39353/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/39353/
Attachment #8729308 - Flags: review?(gps)
Comment on attachment 8729308 [details]
MozReview Request: Bug 1255667 - Don't read the mozconfig for the js configure

https://reviewboard.mozilla.org/r/39353/#review36083

Sure. An inline comment mirroring what you said in the commit message about the hackiness of this would be appreciated.
Attachment #8729308 - Flags: review?(gps) → review+
https://hg.mozilla.org/mozilla-central/rev/ecef715b50bf
https://hg.mozilla.org/mozilla-central/rev/850adf08932f
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.