1#!/usr/bin/python 2 3# Copyright 2003 Vladimir Prus 4# Distributed under the Boost Software License, Version 1.0. 5# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 6 7import sys 8from string import strip 9 10def quote_line(line): 11 12 result = "" 13 14 for i in line: 15 if (i == '\\'): 16 result = result + '\\\\' 17 elif (i == '\"'): 18 result = result + '\\\"' 19 elif (i != '\r' and i != '\n'): 20 result = result + i; 21 22 return '\"' + result + '\\n\"' 23 24def quote_file(file): 25 result = "" 26 27 for i in file.readlines(): 28 result = result + quote_line(i) + "\n" 29 30 return result 31 32if len(sys.argv) < 3: 33 print "Usage: inline_file.py output_c_file file_to_include" 34else: 35 output_c_file = sys.argv[1] 36 out_file = open(output_c_file, "w"); 37 38 file_to_include = sys.argv[2] 39 40 in_file = open(file_to_include, "r"); 41 variable_name = strip(in_file.readline()) 42 out_file.write("extern const char %s[] = {\n%s};\n\n" % (variable_name, quote_file(in_file))) 43 in_file.close() 44 out_file.close() 45