]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/tools/litre/tool.py
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / tools / litre / tool.py
1 try:
2 import locale
3 locale.setlocale(locale.LC_ALL, '')
4 except:
5 pass
6
7
8 # try to import a litre_config.py file.
9 try:
10 import litre_config as config
11 except:
12 class config: pass
13
14 import sys
15 try: # if the user has set up docutils_root in his config, add it to the PYTHONPATH.
16 sys.path += ['%s/docutils' % config.docutils_root
17 , '%s/docutils/extras' % config.docutils_root]
18 except: pass
19
20 import docutils.writers
21 import cplusplus
22 import os
23
24 from docutils.core import publish_cmdline, default_description
25
26 description = ('Literate programming from ReStructuredText '
27 'sources. ' + default_description)
28
29 def _pop_option(prefix):
30 found = None
31 for opt in sys.argv:
32 if opt.startswith(prefix):
33 sys.argv = [ x for x in sys.argv if x != opt ]
34 found = opt
35 if prefix.endswith('='):
36 found = opt[len(prefix):]
37 return found
38
39
40 dump_dir = _pop_option('--dump_dir=')
41 max_output_lines = _pop_option('--max_output_lines=')
42
43 if dump_dir:
44
45 cplusplus.Writer.translator = cplusplus.DumpTranslator
46 if _pop_option('--workaround'):
47 cplusplus.Writer.translator = cplusplus.WorkaroundTranslator
48 config.includes.insert(0, os.path.join(os.path.split(dump_dir)[0], 'patches'))
49
50 config.dump_dir = os.path.abspath(dump_dir)
51 if _pop_option('--cleanup_source'):
52 config.line_hash = None
53
54 if not os.path.exists(config.dump_dir):
55 os.makedirs(config.dump_dir)
56
57 if max_output_lines:
58 config.max_output_lines = int(max_output_lines)
59
60 config.bjam_options = _pop_option('--bjam=')
61
62 config.includes = []
63
64 publish_cmdline(
65 writer=cplusplus.Writer(config),
66 description=description
67 )