]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
7 | import sys | |
8 | from string import strip | |
9 | ||
10 | def 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 | ||
24 | def quote_file(file): | |
25 | result = "" | |
26 | ||
27 | for i in file.readlines(): | |
28 | result = result + quote_line(i) + "\n" | |
29 | ||
30 | return result | |
31 | ||
32 | if len(sys.argv) < 3: | |
33 | print "Usage: inline_file.py output_c_file file_to_include" | |
34 | else: | |
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() |