| OLD | NEW |
| 1 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 # | 4 # |
| 5 # This python script creates a tar archive and a C++ source file which contains | 5 # This python script creates a tar archive and a C++ source file which contains |
| 6 # the tar archive as an array of bytes. | 6 # the tar archive as an array of bytes. |
| 7 | 7 |
| 8 import os | 8 import os |
| 9 import sys | 9 import sys |
| 10 from os.path import join, splitext | 10 from os.path import join, splitext |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 inner_namespace, | 33 inner_namespace, |
| 34 name, | 34 name, |
| 35 tar_archive, | 35 tar_archive, |
| 36 ): | 36 ): |
| 37 cc_text = ''' | 37 cc_text = ''' |
| 38 // Copyright (c) %d, the Dart project authors. Please see the AUTHORS file | 38 // Copyright (c) %d, the Dart project authors. Please see the AUTHORS file |
| 39 // for details. All rights reserved. Use of this source code is governed by a | 39 // for details. All rights reserved. Use of this source code is governed by a |
| 40 // BSD-style license that can be found in the LICENSE file. | 40 // BSD-style license that can be found in the LICENSE file. |
| 41 | 41 |
| 42 ''' % date.today().year | 42 ''' % date.today().year |
| 43 cc_text += ''' |
| 44 |
| 45 #if defined(_WIN32) |
| 46 typedef unsigned __int8 uint8_t; |
| 47 #else |
| 48 #include <inttypes.h> |
| 49 #include <stdint.h> |
| 50 #endif |
| 51 #include <stddef.h> |
| 52 |
| 53 ''' |
| 43 cc_text += 'namespace %s {\n' % outer_namespace | 54 cc_text += 'namespace %s {\n' % outer_namespace |
| 44 if inner_namespace != None: | 55 if inner_namespace != None: |
| 45 cc_text += 'namespace %s {\n' % inner_namespace | 56 cc_text += 'namespace %s {\n' % inner_namespace |
| 46 cc_text += '\n\n' | 57 cc_text += '\n\n' |
| 47 # Write the archive. | 58 # Write the archive. |
| 48 cc_text += 'static const char %s_[] = {\n ' % name | 59 cc_text += 'static const uint8_t %s_[] = {\n ' % name |
| 49 lineCounter = 0 | 60 lineCounter = 0 |
| 50 for byte in tar_archive: | 61 for byte in tar_archive: |
| 51 cc_text += r" '\x%02x'," % ord(byte) | 62 cc_text += r" '\x%02x'," % ord(byte) |
| 52 lineCounter += 1 | 63 lineCounter += 1 |
| 53 if lineCounter == 10: | 64 if lineCounter == 10: |
| 54 cc_text += '\n ' | 65 cc_text += '\n ' |
| 55 lineCounter = 0 | 66 lineCounter = 0 |
| 56 if lineCounter != 0: | 67 if lineCounter != 0: |
| 57 cc_text += '\n ' | 68 cc_text += '\n ' |
| 58 cc_text += '};\n' | 69 cc_text += '};\n' |
| 59 cc_text += '\nunsigned int %s_len = %d;\n' % (name, len(tar_archive)) | 70 cc_text += '\nunsigned int %s_len = %d;\n' % (name, len(tar_archive)) |
| 60 cc_text += '\nconst char* %s = %s_;\n' % (name, name) | 71 cc_text += '\nconst uint8_t* %s = %s_;\n' % (name, name) |
| 61 if inner_namespace != None: | 72 if inner_namespace != None: |
| 62 cc_text += '} // namespace %s\n' % inner_namespace | 73 cc_text += '} // namespace %s\n' % inner_namespace |
| 63 cc_text += '} // namespace %s\n' % outer_namespace | 74 cc_text += '} // namespace %s\n' % outer_namespace |
| 64 | 75 |
| 65 open(output_file, 'w').write(cc_text) | 76 open(output_file, 'w').write(cc_text) |
| 66 | 77 |
| 67 def main(args): | 78 def main(args): |
| 68 try: | 79 try: |
| 69 # Parse input. | 80 # Parse input. |
| 70 parser = OptionParser() | 81 parser = OptionParser() |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 return 0 | 142 return 0 |
| 132 | 143 |
| 133 except Exception, inst: | 144 except Exception, inst: |
| 134 sys.stderr.write('create_resources.py exception\n') | 145 sys.stderr.write('create_resources.py exception\n') |
| 135 sys.stderr.write(str(inst)) | 146 sys.stderr.write(str(inst)) |
| 136 sys.stderr.write('\n') | 147 sys.stderr.write('\n') |
| 137 return -1 | 148 return -1 |
| 138 | 149 |
| 139 if __name__ == '__main__': | 150 if __name__ == '__main__': |
| 140 sys.exit(main(sys.argv)) | 151 sys.exit(main(sys.argv)) |
| OLD | NEW |