# Copyright (c) 2011 The Chromium Embedded Framework Authors. All rights # reserved. Use of this source code is governed by a BSD-style license that # can be found in the LICENSE file. from __future__ import absolute_import from cef_parser import * def make_gypi_file(header): # header string result = \ """# Copyright (c) $YEAR$ The Chromium Embedded Framework Authors. All rights # reserved. Use of this source code is governed by a BSD-style license that # can be found in the LICENSE file. # # --------------------------------------------------------------------------- # # This file was generated by the CEF translator tool and should not edited # by hand. See the translator.README.txt file in the tools directory for # more information. # # $hash=$$HASH$$$ # { 'variables': { """ filenames = sorted(header.get_file_names()) # cpp includes result += " 'autogen_cpp_includes': [\n" for filename in filenames: result += " 'include/" + filename + "',\n" result += " ],\n" # capi includes result += " 'autogen_capi_includes': [\n" for filename in filenames: result += " 'include/capi/" + get_capi_file_name(filename) + "',\n" result += " ],\n" classes = sorted(header.get_class_names()) # library side includes result += " 'autogen_library_side': [\n" for clsname in classes: cls = header.get_class(clsname) filename = get_capi_name(clsname[3:], False) dir = cls.get_file_directory() if not dir is None: filename = dir + '/' + filename if cls.is_library_side(): result += " 'libcef_dll/cpptoc/"+filename+"_cpptoc.cc',\n" \ " 'libcef_dll/cpptoc/"+filename+"_cpptoc.h',\n" else: result += " 'libcef_dll/ctocpp/"+filename+"_ctocpp.cc',\n" \ " 'libcef_dll/ctocpp/"+filename+"_ctocpp.h',\n" result += " ],\n" # client side includes result += " 'autogen_client_side': [\n" for clsname in classes: cls = header.get_class(clsname) filename = get_capi_name(clsname[3:], False) dir = cls.get_file_directory() if not dir is None: filename = dir + '/' + filename if cls.is_library_side(): result += " 'libcef_dll/ctocpp/"+filename+"_ctocpp.cc',\n" \ " 'libcef_dll/ctocpp/"+filename+"_ctocpp.h',\n" else: result += " 'libcef_dll/cpptoc/"+filename+"_cpptoc.cc',\n" \ " 'libcef_dll/cpptoc/"+filename+"_cpptoc.h',\n" result += " ],\n" # footer string result += \ """ }, } """ # add the copyright year result = result.replace('$YEAR$', get_year()) return result def write_gypi_file(header, file): newcontents = make_gypi_file(header) return (file, newcontents) # test the module if __name__ == "__main__": import sys # verify that the correct number of command-line arguments are provided if len(sys.argv) < 2: sys.stderr.write('Usage: ' + sys.argv[0] + ' \n') sys.exit() # create the header object header = obj_header() header.add_file(sys.argv[1]) # dump the result to stdout sys.stdout.write(make_gypi_file(header))