author Mike Hommey <>
Thu, 03 Jul 2014 07:15:31 +0900
changeset 192038 ce1c57e03b885eedfbe58a191e5306b17b04fc65
parent 145609 45097bc3a57898f22a4f3b74f8f8cf7511f5d0a4
permissions -rw-r--r--
Bug 762358 - Re-run configure when mozconfig changed in a significant way. r=gps This adds a format option to mach environment and uses it in to create a .mozconfig.json in the objdir, containing all the relevant data from mozconfig. If the mozconfig doesn't change in a way that alters that data, we still skip configure. At the same time, use mach environment in place of mozconfig2configure and mozconfig2client-mk, which makes us now have only one mozconfig reader. Also, in the mozconfig reader, keep track of environment variables (as opposed to shell variables), so that changes such as a variable that was exported not being exported anymore is spotted. At the opposite, in order for irrelevant environment variable changes not to incur in re-running configure, only a set of environment variables are stored when they are unmodified. Otherwise, changes such as using a different terminal window, or even rebooting, would trigger reconfigures. Finally, make mach environment emit both MOZ_OBJDIR and OBJDIR for, and cleanup some objdir-related things in At the same time, make the mozconfig reader take MOZ_OBJDIR from the environment if it is defined there and not in the mozconfig.

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at

ifeq ($(OS_ARCH),SunOS)