From 56b2080609cdeae28153c807a71ba474bdc5acc2 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Thu, 11 Mar 2010 02:03:03 +0000 Subject: Add DocBook entities for the env.*() forms of Builder and function calls. Handle two additional flavors of . Translate the tag into man page macros. --- bin/scons-proc.py | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/bin/scons-proc.py b/bin/scons-proc.py index a02ee6d..f8f1a55 100644 --- a/bin/scons-proc.py +++ b/bin/scons-proc.py @@ -178,6 +178,12 @@ class SCons_XML_to_XML(SCons_XML): f.write('%s">\n' % (v.prefix, v.idfunc(), v.tag, v.entityfunc(), v.tag)) + if self.env_signatures: + f.write('\n') + for v in self.values: + f.write('env.%s">\n' % + (v.prefix, v.idfunc(), + v.tag, v.entityfunc(), v.tag)) f.write('\n') f.write(Warning) f.write('\n') @@ -188,6 +194,13 @@ class SCons_XML_to_XML(SCons_XML): (v.prefix, v.idfunc(), v.prefix, v.idfunc(), v.tag, v.entityfunc(), v.tag)) + if self.env_signatures: + f.write('\n') + for v in self.values: + f.write('<%s>env.%s\'>\n' % + (v.prefix, v.idfunc(), + v.prefix, v.idfunc(), + v.tag, v.entityfunc(), v.tag)) f.write('\n') f.write(Warning) @@ -211,6 +224,11 @@ class SCons_XML_to_man(SCons_XML): body = string.replace(body, '\n', '') body = string.replace(body, '\n', '.RS 10\n') + # Handling needs to be rationalized and made + # consistent. Right now, the values map to arbitrary, + # ad-hoc idioms in the current man page. + body = re.compile(r'\n([^<]*)\n\n').sub(r'.TP 6\n.B \1\n', body) + body = re.compile(r'\n([^<]*)\n\n').sub(r'.IP \1\n', body) body = re.compile(r'\n([^<]*)\n\n').sub(r'.HP 6\n.B \1\n', body) body = string.replace(body, '\n', '') body = string.replace(body, '\n', '') @@ -218,14 +236,15 @@ class SCons_XML_to_man(SCons_XML): body = re.sub(r'\.EE\n\n+(?!\.IP)', '.EE\n.IP\n', body) body = string.replace(body, '\n.IP\n\'\\"', '\n\n\'\\"') - body = re.sub('&(scons|SConstruct|SConscript|jar);', r'\\fB\1\\fP', body) + body = re.sub('&(scons|SConstruct|SConscript|jar|Make);', r'\\fB\1\\fP', body) body = string.replace(body, '&Dir;', r'\fBDir\fP') body = string.replace(body, '⌖', r'\fItarget\fP') body = string.replace(body, '&source;', r'\fIsource\fP') body = re.sub('&b(-link)?-([^;]*);', r'\\fB\2\\fP()', body) body = re.sub('&cv(-link)?-([^;]*);', r'$\2', body) + body = re.sub('&f(-link)?-env-([^;]*);', r'\\fBenv.\2\\fP()', body) body = re.sub('&f(-link)?-([^;]*);', r'\\fB\2\\fP()', body) - body = re.sub(r'<(command|envar|filename|function|literal|option)>([^<]*)', + body = re.sub(r'<(application|command|envar|filename|function|literal|option)>([^<]*)', r'\\fB\2\\fP', body) body = re.sub(r'<(classname|emphasis|varname)>([^<]*)', r'\\fI\2\\fP', body) @@ -345,19 +364,23 @@ else: sys.exit(1) if buildersfiles: - g = processor_class([ Builder(b) for b in sorted(h.builders.values()) ]) + g = processor_class([ Builder(b) for b in sorted(h.builders.values()) ], + env_signatures=True) g.write(buildersfiles) if functionsfiles: - g = processor_class([ Function(b) for b in sorted(h.functions.values()) ]) + g = processor_class([ Function(b) for b in sorted(h.functions.values()) ], + env_signatures=True) g.write(functionsfiles) if toolsfiles: - g = processor_class([ Tool(t) for t in sorted(h.tools.values()) ]) + g = processor_class([ Tool(t) for t in sorted(h.tools.values()) ], + env_signatures=False) g.write(toolsfiles) if variablesfiles: - g = processor_class([ Variable(v) for v in sorted(h.cvars.values()) ]) + g = processor_class([ Variable(v) for v in sorted(h.cvars.values()) ], + env_signatures=False) g.write(variablesfiles) # Local Variables: -- cgit v0.12