OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/env python |
| 2 # |
| 3 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. |
| 6 |
| 7 """Writes .h file for NativeLibraries.template |
| 8 |
| 9 This header should contain the list of native libraries to load in the form: |
| 10 = { "lib1", "lib2" } |
| 11 """ |
| 12 |
| 13 import json |
| 14 import optparse |
| 15 import os |
| 16 import sys |
| 17 |
| 18 from pylib import build_utils |
| 19 |
| 20 |
| 21 def main(argv): |
| 22 parser = optparse.OptionParser() |
| 23 |
| 24 parser.add_option('--output', help='Path to generated .java file') |
| 25 parser.add_option('--ordered-libraries', |
| 26 help='Path to json file containing list of ordered libraries') |
| 27 parser.add_option('--stamp', help='Path to touch on success') |
| 28 |
| 29 # args should be the list of libraries in dependency order. |
| 30 options, _ = parser.parse_args() |
| 31 |
| 32 build_utils.MakeDirectory(os.path.dirname(options.output)) |
| 33 |
| 34 with open(options.ordered_libraries, 'r') as libfile: |
| 35 libraries = json.load(libfile) |
| 36 # Generates string of the form '= { "base", "net", |
| 37 # "content_shell_content_view" }' from a list of the form ["libbase.so", |
| 38 # libnet.so", "libcontent_shell_content_view.so"] |
| 39 libraries = ['"' + lib[3:-3] + '"' for lib in libraries] |
| 40 array = '= { ' + ', '.join(libraries) + '}'; |
| 41 |
| 42 with open(options.output, 'w') as header: |
| 43 header.write(array) |
| 44 |
| 45 if options.stamp: |
| 46 build_utils.Touch(options.stamp) |
| 47 |
| 48 |
| 49 if __name__ == '__main__': |
| 50 sys.exit(main(sys.argv)) |
| 51 |
| 52 |
OLD | NEW |