Files
palemoon27/configure.py
roytam1 feb248f901 import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1258618 - Use True instead of '1' for set_config. r=nalexander (6856aab65b)
- Bug 1258618 - Use True instead of '1' for set_define. r=nalexander (272201933b)
- Bug 1258618 - Use True instead of '1' for add_old_configure_assignment. r=nalexander (8faf07d0c0)
- Bug 1260509 - Implement String.prototype.padStart / padEnd; r=jorendorff (5b9b4ef88b)
- Bug 1054759 - Part 2: ES6 Symbol.unscopables. r=shu. (203f6a1c7a)
- Bug 887016 - Part 6: Add RegExpPrototypeOptimizable. r=nbp (651d54bd7e)
- Bug 887016 - Part 7: Add RegExpInstanceOptimizable. r=nbp (82701b3637)
- Bug 887016 - Part 8: Add ObjectHasPrototype. r=nbp (8a9da8f9b8)
- Bug 887016 - Part 9: Implement RegExp.prototype[@@match] and call it from String.prototype.match. r=till (9092676327)
- Bug 887016 - Part 10: Implement RegExp.prototype[@@search] and call it from String.prototype.search. r=till (dcbd8beecb)
- Bug 887016 - Part 11: Implement RegExp.prototype[@@replace] and call it from String.prototype.replace. r=h4writer,till (af2639291b)
- Bug 887016 - Part 12: Implement RegExp[@@species] getter. r=evilpie,bholley (f512f802d9)
- Bug 887016 - Part 13: Implement RegExp.prototype[@@split] and call it from String.prototype.split. r=h4writer,till (1fd28b046d)
- Bug 887016 - Part 14: Add RegExpSearcher. r=h4writer (e5a02d6c03)
- Bug 887016 - Part 15: Use RegExpSearcher in RegExp.prototype[@@replace] optimized path. r=till (4e04250fcc)
- Bug 887016 - Part 16: Use RegExpSearcher in RegExp.prototype[@@searchâ] optimized path. r=till (742a1038f4)
- Bug 887016 - Part 17: Mark sunspider/check-string-unpack-code.js timeout on cgc jittest. r=till (f80f8d69d5)
- Bug 1251502 - Add a generic duplex resampler and a duplex WASAPI implementation. r=kinetik (5524ce1700)
- Bug 1251502 - cubeb does not use cubeb-stdint.h anymore, remove it from moz.build. r=kinetik (76155cf9ee)
- Bug 1233689 - Update specificity on .CodeMirror selector since light/dark theme are now loading before the page styles;r=pbrosset (ea683876ea)
- Bug 1259290: Part 1 - Remove unnecessary JS_ReportError calls. r=bz (1620f29a73)
- Bug 1259290: Part 2 - Remove the cx from [Add|Remove]ChildWorker. r=bz (be70bd421e)
- Bug 1259290: Part 3 - Remove JS_ReportError and cx handling from RegisterWorker and friends. r=bz,jandem (c646e0c7f3)
- Bug 1259290: Part 4 - Remove JS_ReportError for a situation that can never happen. r=bz (ee012c8011)
- Bug 1259290: Part 5 - Remove the cx from WorkerFeature::Notify. r=bz (79aff7ecb1)
- Bug 1234801 - Extra specificity for codemirror dialog since light/dark theme are now loading before the page styles. r=pbrosset (0c7373e2dc)
- Bug 1263490 - Part 1: Do not search for dollar if the length of replaceValue is 0 or 1. r=till (c88d75ff60)
- Bug 1263341 - Check lastIndex in non-global replace. r=till (86d5e60a02)
- Bug 1263851 - Check lastIndex after loop in RegExp.prototype[@@split]. r=till (70dc91fcf9)
- Bug 1265063 - Fix the shell quoting regexp to properly match backslashes. r=gps (6371211560)
- Bug 1258618 - Allow to use bools as values given to add_old_configure_assignment. r=nalexander (69c082d907)
- Bug 1258618 - Serialize substs/configs and defines bools as '1' or '' in config.status. r=nalexander (b2bba38143)
- Bug 1258785 - Return a None value when check_prog doesn't find a program. r=ted (b510c18224)
- Bug 1258615 - Remove the "magic" that sets a result from set_config() in @Depends functions. r=chmanchester (972f002469)
- Bug 1258619 - Properly sandbox functions inside a template. r=chmanchester (3ef772f02e)
- Bug 1257823 - Move set_define() to the sandbox. r=nalexander (b3a5d82263)
- Bug 1257823 - Split ConfigureSandbox._db. r=nalexander (7b5ef964fb)
- Bug 1257823 - Move set_config() to the global scope. r=nalexander (c1f4231779)
- Bug 1257823 - Move set_define() to the global scope. r=nalexander (deca2c7b9a)
- Bug 1257823 - Keep track of the dependencies of @Depends functions. r=nalexander (e4d843c5ba)
- Bug 1257823 - Move imply_option() to the global scope. r=nalexander (fbb67c4b2e)
- Bug 1257823 - Move add_old_configure_assignment() to the global scope. r=nalexander (f1378ee979)
- Bug 1259683 - Forgotten change to test_configure.py before landing bug 1257823. r=nalexander (cd1a6334b0)
- Bug 1259352 - Always fail check_prog if an explicit value was given on the command line or environment. r=ted (b485d202ca)
- Bug 1259620 - Add an optional formatting callback to @Checking. r=gps (0915c2474a)
- Bug 1259620 - Add @Checking to host and target to display the triplets. r=gps (bbbe489056)
- Bug 1259275 - Don't check for yasm when building with --disable-compile-environment. r=ted (26375aeb07)
- Bug 1259346 - Make delayed_getattr more resilient to failure. r=nalexander (6df7bfc293)
- Bug 1259354 - Avoid "checking yasm version" being written out when yasm was not found. r=ted (69da75becb)
- Bug 1257516 - Rename error() to die() and make it take arguments like the logging module. r=ted (3bcecddd55)
- Bug 1260327 - Remove the --recheck option of config.status. r=chmanchester (f579342325)
- Bug 1259683 - Miscellaneous small cleanups in the mozbuild.configure module. r=nalexander (6ae7ae8059)
- Bug 1257516 - Initialize a logger for the ConfigureSandbox, and use it for the help. r=ted (6e6b6c6816)
- Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted (e76782bb68)
- Bug 1257516 - Add a unit test for check_prog(). r=ted (d3a3dc473e)
- Bug 1257516 - Make check_prog opt-in to the queued debug log messages. r=ted (d6d37f3951)
- Bug 1259960 - Allow to pass a string to check_prog to describe what is being looked for. r=chmanchester (20af6b1033)
- Bug 1259960 - Make check_prog more flexible about the input it receives. r=chmanchester (435b88e82d)
- Bug 1259960 - Make check_prog more flexible about the list of programs it will check. r=chmanchester (b591777d03)
- Bug 1257516 - Allow to assign Exceptions in the global scope. r=ted (81924379ab)
- Bug 1259683 - Don't make imply_option() do anything when --help is on the command line. r=nalexander (5e8c91f721)
- Bug 1259960 - s/DummyFunction/DependsFunction/. r=chmanchester (d20ea3f72f)
- Bug 1259381 - Move --with-ccache and --with-compiler-wrapper to moz.configure. r=chmanchester (77b684b1cf)
- Bug 1257516 - Add a logging handler class to print out configure output on stdout/stderr. r=ted (21b7f8dd55)
- Bug 1257516 - Add a file-like class that sends writes to a callback. r=ted (b884d5d56b)
- Bug 1257516 - Send the debug output from our logger to config.log. r=ted (3494c1c0f8)
- Bug 1257516 - Make the ConfigureOutputHandler keep some debug messages to print out when an error occurs. r=ted (b7ea7b20a4)
- Bug 1257516 - Use the logger for virtualenv manager output. r=ted (5d0b989551)
- Bug 1256573 - Switch moz.configure to use @imports instead of @advanced. r=nalexander (138d6f524f)
- Bug 1262087 - Make the @Checking callback not alter the behavior for ¦bools. r=chmanchester (beae1a720e)
- Bug 1256573 - Add missing primitives to the ConfigureSandbox documentation. r=nalexander (81c3828d59)
- Bug 1256573 - Add a new @imports primitive that allows to import modules into the decorated functions. r=nalexander (ffa8f821c7)
- Fixup bug 1256573 to work on buggy older python on a CLOSED TREE. r=me (184560ec4a)
- Bug 1256573 - Switch configure tests to use @imports instead of @advanced. r=nalexander (0468680882)
- Bug 1259351 - Properly sandbox functions that are decorated with templates. r=nalexander (99d8a5de4a)
- Bug 1256573 - Remove the @advanced primitive. r=nalexander (c731105dba)
- Bug 1254374 - Remove the old TestConfigure.test_imports test. r=nalexander (ad376b4f6c)
- Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander (188d1ee4f2)
- Bug 1259551 - Add --no-download to virtualenv.py invocation; r=ted (9fea24a610)
- Bug 1257516 - Allow the log_handle given to the virtualenv manager to be a file-like object. r=ted (8d47ec1d98)
- Bug 1259382 - Make add_old_configure_assignment work like set_config, accepting both @Depends functions and literal values for both arguments it takes. r=ted (fe418b7f89)
- Bug 1264129 - Add verbosity for the shell and autoconf checks in moz.configure. r=gps (f185051837)
- Bug 1260639 - Log more information before starting old-configure. r=ted (0809c09781)
- Bug 1259382 - Make mozbuild.shellutil.quote more useful for e.g. creating printable command lines. r=ted (98dc9ab745)
- Bug 1260066 - Move add_old_configure_arg to the global scope. r=nalexander (9667304b12)
- Bug 1264482 - Fake an arbitrary __name__ in sandboxed global. r=ted (1e34edab73)
- Bug 1260066 - Move last uses of check_prog that weren't in the global scope to the global scope. r=nalexander (ff6ab42f8f)
- Bug 1257516 - Handle outputting the tail of config.log for old-configure failures from moz.configure. r=ted (4c2f2bc5cb)
- Bug 1260427 - Additional nspr/nss related old_configure_options. r=glandium (3a46e6dbe2)
- Bug 1251529: In object metadata world, rename "object metadata" to "allocation metadata" and "callback" to "builder". r=fitzgen (fc8047d86d)
- No bug - Add guards to tests that use TypedObject. r=me, a=bustage (87bda8c856)
- Bug 1251922 - Do not create metadata objects for temporary parse globals; r=fitzgen (5b354f3cc4)
- Bug 1251529: Replace allocation metadata callback with a builder class. r=fitzgen (520fb736fe)
- Bug 1251529: Pass AutoEnterOOMUnsafeRegion to allocation metadata builder methods. r=fitzgen (6a2e6b05ac)
- Bug 1251529: Provide default constructor for js::AllocationMetadataBuilder, js::SavedStacks::MetadataBuilder. r=shu (2300b6739c)
- Bug 1251529: Provide default constructor for ShellAllocationMetadataBuilder. r=orange (24168aa011)
- Bug 1259877 - Change js::DirectEval to take v/vp rather than a CallArgs to operate on directly. r=efaust (af03a24bde)
- Bug 1259877 - Eliminate Invoke(JSContext*, const CallArgs&, MaybeConstruct = NO_CONSTRUCT) by 1) renaming it to a more-internal name, 2) adding an Invoke overload for existing InvokeArgs providers only, and 3) adding an InternalInvoke function to temporarily mark non-InvokeArgs places using the existing signature that will later be changed not to. r=efaust (7e4efa9129)
- Bug 1259877 - Rename Invoke[GS]etter to Call[GS]etter, more in line with the spec's calling nomenclature. r=jorendorff (0b00a38913)
- Bug 1259877 - Add CallFromStack for certain internal users, js::Call for general use, and mark js::Invoke as deprecated. r=efaust (56186b13fd)
- Bug 1259877 - Add a bunch of Call overloads for 0/1/2 arguments with this as (HandleValue | JSObject*). r=jorendorff (ce764cca3a)
- Bug 1259877 - Update Debugger code to use js::Call rather than Invoke. r=jorendorff (45f219d2f0)
- Bug 1259877 - Update various miscellaneous function-calling code to js::Call. r=jandem (973c3c4171)
2024-04-08 10:24:23 +08:00

91 lines
3.2 KiB
Python

# 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 http://mozilla.org/MPL/2.0/.
from __future__ import print_function, unicode_literals
import codecs
import json
import os
import subprocess
import sys
base_dir = os.path.abspath(os.path.dirname(__file__))
sys.path.append(os.path.join(base_dir, 'python', 'mozbuild'))
from mozbuild.configure import ConfigureSandbox
def main(argv):
config = {}
sandbox = ConfigureSandbox(config, os.environ, argv)
sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
if sandbox._help:
return 0
return config_status(config)
def config_status(config):
# Sanitize config data to feed config.status
# Ideally, all the backend and frontend code would handle the booleans, but
# there are so many things involved, that it's easier to keep config.status
# untouched for now.
def sanitized_bools(v):
if v is True:
return '1'
if v is False:
return ''
return v
sanitized_config = {}
sanitized_config['substs'] = {
k: sanitized_bools(v) for k, v in config.iteritems()
if k not in ('DEFINES', 'non_global_defines', 'TOPSRCDIR', 'TOPOBJDIR')
}
sanitized_config['defines'] = {
k: sanitized_bools(v) for k, v in config['DEFINES'].iteritems()
}
sanitized_config['non_global_defines'] = config['non_global_defines']
sanitized_config['topsrcdir'] = config['TOPSRCDIR']
sanitized_config['topobjdir'] = config['TOPOBJDIR']
# Create config.status. Eventually, we'll want to just do the work it does
# here, when we're able to skip configure tests/use cached results/not rely
# on autoconf.
print("Creating config.status", file=sys.stderr)
encoding = 'mbcs' if sys.platform == 'win32' else 'utf-8'
with codecs.open('config.status', 'w', encoding) as fh:
fh.write('#!%s\n' % config['PYTHON'])
fh.write('# coding=%s\n' % encoding)
for k, v in sanitized_config.iteritems():
fh.write('%s = ' % k)
json.dump(v, fh, sort_keys=True, indent=4, ensure_ascii=False)
fh.write('\n')
fh.write("__all__ = ['topobjdir', 'topsrcdir', 'defines', "
"'non_global_defines', 'substs']")
if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
fh.write('''
if __name__ == '__main__':
args = dict([(name, globals()[name]) for name in __all__])
from mozbuild.config_status import config_status
config_status(**args)
''')
# Other things than us are going to run this file, so we need to give it
# 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'
# 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'])
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv))