You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
2.1 KiB

From 4a06a1a6a71293decb83aee7adb74bc709493106 Mon Sep 17 00:00:00 2001
From: Philip Chimento <philip.chimento@gmail.com>
Date: Wed, 5 Jul 2017 22:57:09 -0700
Subject: [PATCH] build: Include configure script, be nicer about options
A configure script is not included in the SpiderMonkey tarball by
default. Also, we have to account for JHbuild passing extra unknown
options like --disable-Werror.
https://bugzilla.mozilla.org/show_bug.cgi?id=1379540
---
js/src/configure | 9 +++++++++
python/mozbuild/mozbuild/configure/__init__.py | 2 +-
python/mozbuild/mozbuild/configure/options.py | 6 +++++-
3 files changed, 15 insertions(+), 2 deletions(-)
create mode 100755 js/src/configure
diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
index 0fe640ca..09b460d3 100644
--- a/python/mozbuild/mozbuild/configure/__init__.py
+++ b/python/mozbuild/mozbuild/configure/__init__.py
@@ -356,7 +356,7 @@ def run(self, path=None):
# All options should have been removed (handled) by now.
for arg in self._helper:
without_value = arg.split('=', 1)[0]
- raise InvalidOptionError('Unknown option: %s' % without_value)
+ print('Ignoring', without_value, ': Unknown option')
# Run the execution queue
for func, args in self._execution_queue:
diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py
index 4310c862..15bfe425 100644
--- a/python/mozbuild/mozbuild/configure/options.py
+++ b/python/mozbuild/mozbuild/configure/options.py
@@ -402,7 +402,11 @@ def __init__(self, environ=os.environ, argv=sys.argv):
def add(self, arg, origin='command-line', args=None):
assert origin != 'default'
- prefix, name, values = Option.split_option(arg)
+ try:
+ prefix, name, values = Option.split_option(arg)
+ except InvalidOptionError as e:
+ print('Ignoring', arg, ':', e)
+ return
if args is None:
args = self._extra_args
if args is self._extra_args and name in self._extra_args: