Closed Bug 1490017 Opened 7 years ago Closed 7 years ago

quote() fails when explicitly disabling features in JS build

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: bbouvier, Unassigned)

Details

Over the course of bug 1469027, I tried to use --disable-cranelift to make sure the fix suggested by :glandium was working on my machine, as well as trying to compile *without* cranelift. When running the configure line with --disable-cranelift, I get the following error: Traceback (most recent call last): File "/code/mozilla-inbound/js/src/../../configure.py", line 123, in <module> sys.exit(main(sys.argv)) File "/code/mozilla-inbound/js/src/../../configure.py", line 34, in main return config_status(config) File "/code/mozilla-inbound/js/src/../../configure.py", line 94, in config_status partial_config.write_vars(sanitized_config) File "/code/mozilla-inbound/python/mozbuild/mozbuild/backend/configenvironment.py", line 356, in write_vars for name in sorted(global_defines)]) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 206, in quote return ' '.join(_quote(s) for s in strings) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 206, in <genexpr> return ' '.join(_quote(s) for s in strings) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 194, in _quote return t("'%s'") % s.replace(t("'"), t("'\\''")) AttributeError: 'NegativeOptionValue' object has no attribute 'replace' When trying with a different line that has --disable-pipeline-operator, I get the following error: Traceback (most recent call last): File "/code/mozilla-inbound/js/src/../../configure.py", line 123, in <module> sys.exit(main(sys.argv)) File "/code/mozilla-inbound/js/src/../../configure.py", line 34, in main return config_status(config) File "/code/mozilla-inbound/js/src/../../configure.py", line 94, in config_status partial_config.write_vars(sanitized_config) File "/code/mozilla-inbound/python/mozbuild/mozbuild/backend/configenvironment.py", line 356, in write_vars for name in sorted(global_defines)]) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 206, in quote return ' '.join(_quote(s) for s in strings) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 206, in <genexpr> return ' '.join(_quote(s) for s in strings) File "/code/mozilla-inbound/python/mozbuild/mozbuild/shellutil.py", line 187, in _quote if s and not SHELL_QUOTE_RE.search(s): TypeError: expected string or buffer Both of these errors happen when creating the config.status file. For what it's worth, here's the full configure line I'm using: CC="clang" \ CXX="clang++" \ /code/mozilla-inbound/js/src/configure \ --enable-debug \ --disable-optimize \ --with-ccache \ --without-intl-api \ --disable-pipeline-operator \ --enable-linker=lld
My moz.configure was containing: @depends('--enable-cranelift') def enable_cranelift(value): return value When it should have contained @depends('--enable-cranelift') def enable_cranelift(value): if value: return True and then PositiveOptionValue/NegativeOptionValue implicitly convert to boolean thanks to their their __nonzero__ implementation.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.