summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2010-12-01 20:09:31 -0500
committerEric S. Raymond <esr@thyrsus.com>2010-12-01 20:09:31 -0500
commit35ef41ca9f7345d89189692ae935d2c1f1306cf1 (patch)
treea9bcc409dc4a814c379f7ada6d74e5b1cd48af38
parent1fe19461ff04be63a4641a5078b967160bccf944 (diff)
downloaddeheader-35ef41ca9f7345d89189692ae935d2c1f1306cf1.tar.gz
deheader-35ef41ca9f7345d89189692ae935d2c1f1306cf1.tar.bz2
deheader-35ef41ca9f7345d89189692ae935d2c1f1306cf1.tar.xz
deheader-35ef41ca9f7345d89189692ae935d2c1f1306cf1.zip
More documentation.
-rw-r--r--deheader.xml20
1 files changed, 14 insertions, 6 deletions
diff --git a/deheader.xml b/deheader.xml
index 9a9d7b4..40cdce7 100644
--- a/deheader.xml
+++ b/deheader.xml
@@ -37,11 +37,25 @@ returns a zero status (but the build command may be
overridden). Optionally, with the <option>-r</option> switch, the
unneeded headers are removed from the sourcefiles.</para>
+<para>If a sourcefile argument is a directory, the report is generated
+on all source files beneath it. Subdirectories beginning with a dot
+are assumed to be repository directories for version-control systems
+and ignored. If no arguments are given, the program runs as if the
+name of the current directory had been passed to it.</para>
+
<para>Inclusions within the scope of #if/#ifdef/#else/#endif
directives are left alone, because trying to reason about potential
combinations of -D and U options would be too complicated and prone to
weird errors.</para>
+<para>Test-compiling after running with <option>-r</option> will
+sometimes show that this tool removed some headers that are actually
+required for your build. This happens because
+<command>deheader</command> doesn't know about all the strange thungs
+your build system gets up to, and the problem of analyzing it to
+undertand them would be Turing-complete. Simply revert the altered
+files and continue.</para>
+
<para>It is recommended that you arrange to compile with options that
will stop the compiler on warnings when using this tool; otherwise it
will be report headers that only declare prototypes and return types
@@ -52,12 +66,6 @@ CFLAGS='-Werror -Wfatal-errors' </command> may do the right thing; you
can check this by running with -v -v -v to see what compilation
commands are actually emitted.</para>
-<para>If a sourcefile argument is a directory, the report is generated
-on all source files beneath it. Subdirectories beginning with a dot
-are assumed to be repository directories for version-control systems
-and ignored. If no arguments are given, the program runs as if the
-name of the current directory had been passed to it.</para>
-
<para>On each test compile, the original sourcefile is moved to a name
with an .orig suffix and restored on interrupt or after processing
with its original timestamp, unless the <option>-r</option> option was