Bug 1278415 - Also write a mozinfo for js standalone builds. r=gps

Historically, a mozinfo for js standalone build has not been necessary,
but with the move towards a) having things work with mach and b)
buildconfig using the MozbuildObject.from_environment in next patch,
mozinfo becomes necessary (it's required for
MozbuildObject.from_environment to find the directory is an objdir).

Interestingly, hazard builds do both a js standalone build and a desktop
Firefox build at the same time, both of which are done with MOZCONFIG
set in the environment... with the Firefox mozconfig. The result of now
writing a mozinfo for js standalone builds is that in that case, they
end up with a reference to the mozconfig, which the build system then
reads, and finds a MOZ_OBJDIR, which then doesn't match the js
standalone build objdir. So for those builds, reset MOZCONFIG.
This commit is contained in:
Mike Hommey 2016-06-07 13:49:14 +09:00
Родитель 5a58cdb291
Коммит 8a3b88f341
4 изменённых файлов: 11 добавлений и 7 удалений

Просмотреть файл

@ -82,6 +82,9 @@ class TestMozbuildReading(unittest.TestCase):
raise unittest.SkipTest('failing without config.status')
raise
if config.substs['MOZ_BUILD_APP'] == 'js':
raise unittest.SkipTest('failing in Spidermonkey builds')
reader = BuildReader(config)
all_paths = self._mozbuilds(reader)
_, contexts = reader.read_relevant_mozbuilds(all_paths)

Просмотреть файл

@ -82,8 +82,7 @@ if __name__ == '__main__':
# executable permissions.
os.chmod('config.status', 0755)
if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
if not config.get('JS_STANDALONE'):
os.environ['WRITE_MOZINFO'] = '1'
os.environ['WRITE_MOZINFO'] = '1'
# Until we have access to the virtualenv from this script, execute
# config.status externally, with the virtualenv python.
return subprocess.call([config['PYTHON'], 'config.status'])

Просмотреть файл

@ -20,7 +20,7 @@ def build_dict(config, env=os.environ):
substs = config.substs
# Check that all required variables are present first.
required = ["TARGET_CPU", "OS_TARGET", "MOZ_WIDGET_TOOLKIT"]
required = ["TARGET_CPU", "OS_TARGET"]
missing = [r for r in required if r not in substs]
if missing:
raise Exception("Missing required environment variables: %s" %
@ -38,7 +38,7 @@ def build_dict(config, env=os.environ):
known_os = {"Linux": "linux",
"WINNT": "win",
"Darwin": "mac",
"Android": "b2g" if substs["MOZ_WIDGET_TOOLKIT"] == "gonk" else "android"}
"Android": "b2g" if substs.get("MOZ_WIDGET_TOOLKIT") == "gonk" else "android"}
if o in known_os:
d["os"] = known_os[o]
else:
@ -46,7 +46,7 @@ def build_dict(config, env=os.environ):
d["os"] = o.lower()
# Widget toolkit, just pass the value directly through.
d["toolkit"] = substs["MOZ_WIDGET_TOOLKIT"]
d["toolkit"] = substs.get("MOZ_WIDGET_TOOLKIT")
# Application name
if 'MOZ_APP_NAME' in substs:

Просмотреть файл

@ -36,8 +36,10 @@ function build_js_shell () {
fi
mkdir -p $HAZARD_SHELL_OBJDIR || true
cd $HAZARD_SHELL_OBJDIR
$JS_SRCDIR/configure --enable-optimize --disable-debug --enable-ctypes --enable-nspr-build --without-intl-api --with-ccache
make -j4
( export MOZCONFIG=
$JS_SRCDIR/configure --enable-optimize --disable-debug --enable-ctypes --enable-nspr-build --without-intl-api --with-ccache
make -j4
)
}
function configure_analysis () {