| #!/usr/bin/env python3 | 
 |  | 
 | # ===- bundle_resources.py - Generate string constants with file contents. === | 
 | # | 
 | # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
 | # See https://llvm.org/LICENSE.txt for license information. | 
 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
 | # | 
 | # ===----------------------------------------------------------------------=== | 
 |  | 
 | # Usage: bundle-resources.py foo.inc a.js path/b.css ... | 
 | # Produces foo.inc containing: | 
 | #   const char a_js[] = "..."; | 
 | #   const char b_css[] = "..."; | 
 | import os | 
 | import sys | 
 |  | 
 | outfile = sys.argv[1] | 
 | infiles = sys.argv[2:] | 
 |  | 
 | with open(outfile, "w") as out: | 
 |     for filename in infiles: | 
 |         varname = os.path.basename(filename).replace(".", "_") | 
 |         out.write("const char " + varname + "[] = \n") | 
 |         # MSVC limits each chunk of string to 2k, so split by lines. | 
 |         # The overall limit is 64k, which ought to be enough for anyone. | 
 |         for line in open(filename).read().split("\n"): | 
 |             out.write('  R"x(' + line + ')x" "\\n"\n') | 
 |         out.write("  ;\n") |