| Index: build/android/gyp/configure_multidex.py
|
| diff --git a/build/android/gyp/configure_multidex.py b/build/android/gyp/configure_multidex.py
|
| index aa85d2ffb165546577e8464e20a2134cdd5bf191..9f3b7360f7132bfd7281f4881f497c620ecc4502 100755
|
| --- a/build/android/gyp/configure_multidex.py
|
| +++ b/build/android/gyp/configure_multidex.py
|
| @@ -6,23 +6,33 @@
|
|
|
| import argparse
|
| import json
|
| +import os
|
| import sys
|
|
|
| from util import build_utils
|
|
|
|
|
| +_GCC_PREPROCESS_PATH = os.path.join(
|
| + os.path.dirname(__file__), 'gcc_preprocess.py')
|
| +
|
| +
|
| def ParseArgs():
|
| parser = argparse.ArgumentParser()
|
| parser.add_argument('--configuration-name', required=True,
|
| help='The build CONFIGURATION_NAME.')
|
| + parser.add_argument('--enable-multidex', action='store_true', default=False,
|
| + help='If passed, multidex may be enabled.')
|
| parser.add_argument('--enabled-configurations', default=[],
|
| help='The configuration(s) for which multidex should be '
|
| 'enabled. If not specified and --enable-multidex is '
|
| 'passed, multidex will be enabled for all '
|
| - 'configurations.')
|
| + 'configurations.')
|
| parser.add_argument('--multidex-configuration-path', required=True,
|
| help='The path to which the multidex configuration JSON '
|
| 'should be saved.')
|
| + parser.add_argument('--multidex-config-java-file', required=True)
|
| + parser.add_argument('--multidex-config-java-stamp', required=True)
|
| + parser.add_argument('--multidex-config-java-template', required=True)
|
|
|
| args = parser.parse_args()
|
|
|
| @@ -33,20 +43,42 @@ def ParseArgs():
|
| return args
|
|
|
|
|
| -def main():
|
| - args = ParseArgs()
|
| -
|
| - multidex_enabled = (
|
| - (not args.enabled_configurations
|
| - or args.configuration_name in args.enabled_configurations))
|
| -
|
| +def _WriteConfigJson(multidex_enabled, multidex_configuration_path):
|
| config = {
|
| 'enabled': multidex_enabled,
|
| }
|
|
|
| - with open(args.multidex_configuration_path, 'w') as f:
|
| + with open(multidex_configuration_path, 'w') as f:
|
| f.write(json.dumps(config))
|
|
|
| +
|
| +def _GenerateMultidexConfigJava(multidex_enabled, args):
|
| + gcc_preprocess_cmd = [
|
| + sys.executable, _GCC_PREPROCESS_PATH,
|
| + '--include-path=',
|
| + '--template', args.multidex_config_java_template,
|
| + '--stamp', args.multidex_config_java_stamp,
|
| + '--output', args.multidex_config_java_file,
|
| + ]
|
| + if multidex_enabled:
|
| + gcc_preprocess_cmd += [
|
| + '--defines', 'ENABLE_MULTIDEX',
|
| + ]
|
| +
|
| + build_utils.CheckOutput(gcc_preprocess_cmd)
|
| +
|
| +
|
| +def main():
|
| + args = ParseArgs()
|
| +
|
| + multidex_enabled = (
|
| + args.enable_multidex
|
| + and (not args.enabled_configurations
|
| + or args.configuration_name in args.enabled_configurations))
|
| +
|
| + _WriteConfigJson(multidex_enabled, args.multidex_configuration_path)
|
| + _GenerateMultidexConfigJava(multidex_enabled, args)
|
| +
|
| return 0
|
|
|
|
|
|
|