| Index: runtime/tools/create_resources.py
|
| diff --git a/runtime/tools/create_resources.py b/runtime/tools/create_resources.py
|
| index 44685593e0cb19e5d918a1b079a4c6b0e9ada05d..ab8371d3d0f59efb0831635404748333e45c9ecd 100644
|
| --- a/runtime/tools/create_resources.py
|
| +++ b/runtime/tools/create_resources.py
|
| @@ -13,7 +13,7 @@ from optparse import OptionParser
|
| import re
|
| from datetime import date
|
|
|
| -def makeResources(root_dir, input_files):
|
| +def makeResources(root_dir, input_files, table_name):
|
| result = ''
|
| resources = []
|
|
|
| @@ -44,28 +44,39 @@ def makeResources(root_dir, input_files):
|
| (resource_url, resource_name, os.stat(resource_file).st_size) );
|
|
|
| # Write the resource table.
|
| - result += 'Resources::resource_map_entry Resources::builtin_resources_[] = '
|
| + result += 'ResourcesEntry __%s_resources_[] = ' % table_name
|
| result += '{\n'
|
| for res in resources:
|
| result += ' { "%s", %s, %d },\n' % res
|
| + result += ' { 0, 0, 0 },\n'
|
| result += '};\n\n'
|
| - result += 'const intptr_t Resources::builtin_resources_count_ '
|
| - result += '= %d;\n' % len(resources)
|
| return result
|
|
|
|
|
| -def makeFile(output_file, root_dir, input_files):
|
| +def makeFile(output_file, root_dir, input_files, outer_namespace,
|
| + inner_namespace, table_name):
|
| cc_text = '''
|
| // Copyright (c) %d, the Dart project authors. Please see the AUTHORS file
|
| // for details. All rights reserved. Use of this source code is governed by a
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| ''' % date.today().year
|
| - cc_text += '#include "bin/resources.h"\n\n'
|
| - cc_text += 'namespace dart {\n'
|
| - cc_text += 'namespace bin {\n'
|
| - cc_text += makeResources(root_dir, input_files)
|
| - cc_text += '} // namespace bin\n} // namespace dart\n'
|
| + cc_text += 'namespace %s {\n' % outer_namespace
|
| + if inner_namespace != None:
|
| + cc_text += 'namespace %s {\n' % inner_namespace
|
| + cc_text += '''
|
| +struct ResourcesEntry {
|
| + const char* path_;
|
| + const char* resource_;
|
| + int length_;
|
| +};
|
| +
|
| +'''
|
| + cc_text += makeResources(root_dir, input_files, table_name)
|
| + cc_text += '\n'
|
| + if inner_namespace != None:
|
| + cc_text += '} // namespace %s\n' % inner_namespace
|
| + cc_text += '} // namespace %s\n' % outer_namespace
|
| open(output_file, 'w').write(cc_text)
|
| return True
|
|
|
| @@ -80,10 +91,23 @@ def main(args):
|
| parser.add_option("--root_prefix",
|
| action="store", type="string",
|
| help="root directory for resources")
|
| + parser.add_option("--outer_namespace",
|
| + action="store", type="string",
|
| + help="outer C++ namespace",
|
| + default="dart")
|
| + parser.add_option("--inner_namespace",
|
| + action="store", type="string",
|
| + help="inner C++ namespace")
|
| + parser.add_option("--table_name",
|
| + action="store", type="string",
|
| + help="name of table")
|
| (options, args) = parser.parse_args()
|
| if not options.output:
|
| sys.stderr.write('--output not specified\n')
|
| return -1
|
| + if not options.table_name:
|
| + sys.stderr.write('--table_name not specified\n')
|
| + return -1
|
| if len(args) == 0:
|
| sys.stderr.write('No input files specified\n')
|
| return -1
|
| @@ -92,7 +116,9 @@ def main(args):
|
| for arg in args:
|
| files.append(arg)
|
|
|
| - if not makeFile(options.output, options.root_prefix, files):
|
| + if not makeFile(options.output, options.root_prefix, files,
|
| + options.outer_namespace, options.inner_namespace,
|
| + options.table_name):
|
| return -1
|
|
|
| return 0
|
|
|