51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
|
#!/usr/bin/env python
|
||
|
#
|
||
|
# Copyright 2013 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
"""Writes .h file for NativeLibraries.template
|
||
|
|
||
|
This header should contain the list of native libraries to load in the form:
|
||
|
= { "lib1", "lib2" }
|
||
|
"""
|
||
|
|
||
|
import json
|
||
|
import optparse
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
from util import build_utils
|
||
|
|
||
|
|
||
|
def main(argv):
|
||
|
parser = optparse.OptionParser()
|
||
|
|
||
|
parser.add_option('--output', help='Path to generated .java file')
|
||
|
parser.add_option('--ordered-libraries',
|
||
|
help='Path to json file containing list of ordered libraries')
|
||
|
parser.add_option('--stamp', help='Path to touch on success')
|
||
|
|
||
|
# args should be the list of libraries in dependency order.
|
||
|
options, _ = parser.parse_args()
|
||
|
|
||
|
build_utils.MakeDirectory(os.path.dirname(options.output))
|
||
|
|
||
|
with open(options.ordered_libraries, 'r') as libfile:
|
||
|
libraries = json.load(libfile)
|
||
|
# Generates string of the form '= { "base", "net",
|
||
|
# "content_shell_content_view" }' from a list of the form ["libbase.so",
|
||
|
# libnet.so", "libcontent_shell_content_view.so"]
|
||
|
libraries = ['"' + lib[3:-3] + '"' for lib in libraries]
|
||
|
array = '= { ' + ', '.join(libraries) + '}';
|
||
|
|
||
|
with open(options.output, 'w') as header:
|
||
|
header.write(array)
|
||
|
|
||
|
if options.stamp:
|
||
|
build_utils.Touch(options.stamp)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
sys.exit(main(sys.argv))
|