]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/build/example/customization/inline_file.py
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / tools / build / example / customization / inline_file.py
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()