output of file(1) which reports too many false negatives (not
detecting a file as a text file when it really is).
package developers are aware of which files the subst operation
applies to, since they need to specify the filenames, so this test is
not really required.
it's also not inconceivable that one would want to subst over a
non-text file, which is now possible.
pipeline that takes stdin, performs the substitions and writes the result
to stdout. It defaults to ${SED} ${SUBST_SED.<class>}. Use this variable
to replace the sed command with something else, like an awk process.
facility for different classes of files in ${WRKSRC}. For each class of
files, a target <class>-subst is created to perform the text replacement.
The following variables are used:
SUBST_STAGE.<class>
"stage" at which we do the text replacement, e.g. pre-configure,
post-build, etc.
SUBST_MESSAGE.<class>
message to display, noting what is being substituted
SUBST_FILES.<class>
files on which to run the substitution; these are relative to
${WRKSRC}
SUBST_SED.<class>
sed(1) substitution expression to run on the specified files
This basically extracts a useful piece of code from bsd.buildlink2.mk and
puts it in a place that allows it to be more widely used, and so that the
functionality doesn't depend on USE_BUILDLINK2 being defined.