| #!/usr/bin/env python3 |
| """ |
| generate sequence of filename that does not exceed MAX_LEN=260 |
| for Python < 3.6 and Windows without modified registry |
| """ |
| |
| import sys |
| import string |
| |
| name_len = 260 - len(sys.argv[2]) - 4 - 39 - 4 - 2 |
| if name_len < 1: |
| raise ValueError('The meson build directory pathname is so long ' |
| 'that we cannot generate filenames within 260 characters.') |
| # leave room for suffix and file separators, and meson generated text |
| # e.g. ".c.obj.d" and other decorators added by Meson at configuration |
| # for intermediate files |
| |
| base = string.ascii_letters * 5 # 260 characters |
| max_num_len = len(str(sys.argv[1])) |
| base = base[: name_len - max_num_len] |
| |
| for i in range(int(sys.argv[1])): |
| print("{base}{i:0{max_num_len}d}".format(base=base, max_num_len=max_num_len, i=i)) |