From 140d836e9cd54fb67b969fd82ef7ed19ba574d40 Mon Sep 17 00:00:00 2001 From: Luca Falavigna Date: Sat, 26 Apr 2014 15:11:58 +0200 Subject: Imported Upstream version 2.3.1 --- src/engine/SCons/Tool/textfile.xml | 100 +++++++++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 26 deletions(-) (limited to 'src/engine/SCons/Tool/textfile.xml') diff --git a/src/engine/SCons/Tool/textfile.xml b/src/engine/SCons/Tool/textfile.xml index 2263d4c..a15525c 100644 --- a/src/engine/SCons/Tool/textfile.xml +++ b/src/engine/SCons/Tool/textfile.xml @@ -1,43 +1,70 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the &b-Textfile; and &b-Substfile; builders. + -LINESEPARATOR -SUBSTFILEPREFIX -SUBSTFILESUFFIX -TEXTFILEPREFIX -TEXTFILESUFFIX +LINESEPARATOR +SUBSTFILEPREFIX +SUBSTFILESUFFIX +TEXTFILEPREFIX +TEXTFILESUFFIX -SUBST_DICT +SUBST_DICT + The &b-Textfile; builder generates a single text file. The source strings constitute the lines; -nested lists of sources are flattened. +nested lists of sources are flattened. &cv-LINESEPARATOR; is used to separate the strings. + + If present, the &cv-SUBST_DICT; construction variable is used to modify the strings before they are written; see the &b-Substfile; description for details. + + The prefix and suffix specified by the &cv-TEXTFILEPREFIX; and &cv-TEXTFILESUFFIX; construction variables (the null string and .txt by default, respectively) are automatically added to the target if they are not already present. Examples: + - + # builds/writes foo.txt env.Textfile(target = 'foo.txt', source = ['Goethe', 42, 'Schiller']) @@ -47,7 +74,7 @@ env.Textfile(target = 'bar', LINESEPARATOR='|*') # nested lists are flattened automatically -env.Textfile(target = 'blob', +env.Textfile(target = 'blob', source = ['lalala', ['Goethe', 42 'Schiller'], 'tanteratei']) # files may be used as input by wraping them in File() @@ -76,43 +103,50 @@ blob.txt Schiller tanteratei ....8<---- (no linefeed at the end) - + -The &b-Substfile; builder generates a single text file -by concatenating the source files. -Nested lists of sources are flattened. -&cv-LINESEPARATOR; is used to separate the source files; -see the description of &b-Textfile; for details. - + +The &b-Substfile; builder creates a single text file from another file or set of +files by concatenating them with &cv-LINESEPARATOR; and replacing text +using the &cv-SUBST_DICT; construction variable. Nested lists of source files +are flattened. See also &b-Textfile;. + + + If a single source file is present with an .in suffix, the suffix is stripped and the remainder is used as the default target name. + + The prefix and suffix specified by the &cv-SUBSTFILEPREFIX; and &cv-SUBSTFILESUFFIX; construction variables (the null string by default in both cases) are automatically added to the target if they are not already present. + + If a construction variable named &cv-SUBST_DICT; is present, it may be either a Python dictionary or a sequence of (key,value) tuples. -If the former, -the dictionary is converted into a list of tuples in an arbitrary order, +If it is a dictionary it is converted into a list of tuples in an arbitrary order, so if one key is a prefix of another key or if one substitution could be further expanded by another subsitition, -it is unpredictible whether the expansion will occur. +it is unpredictable whether the expansion will occur. + -Any occurences in the source of a key + +Any occurrences of a key in the source are replaced by the corresponding value, which may be a Python callable function or a string. -If a value is a function, -it is first called (with no arguments) to produce a string. -The string is subst-expanded +If the value is a callable, it is called with no arguments to get a string. +Strings are subst-expanded and the result replaces the key. + - + env = Environment(tools = ['default', 'textfile']) env['prefix'] = '/usr/bin' @@ -154,52 +188,66 @@ subst.Substfile('pgm2.c', [Value('#include "@foo@.h"'), "pgm2.in" ]) - + + The separator used by the &b-Substfile; and &b-Textfile; builders. This value is used between sources when constructing the target. It defaults to the current system line separator. + + The dictionary used by the &b-Substfile; or &b-Textfile; builders for substitution values. It can be anything acceptable to the dict() constructor, so in addition to a dictionary, lists of tuples are also acceptable. + + The prefix used for &b-Substfile; file names, the null string by default. + + The suffix used for &b-Substfile; file names, the null string by default. + + The prefix used for &b-Textfile; file names, the null string by default. + + The suffix used for &b-Textfile; file names; .txt by default. + + + -- cgit v1.2.3