diff --git a/include/tclap/Makefile.am b/include/tclap/Makefile.am index c475d15..5424fdf 100644 --- a/include/tclap/Makefile.am +++ b/include/tclap/Makefile.am @@ -2,27 +2,28 @@ libtclapincludedir = $(includedir)/tclap libtclapinclude_HEADERS = \ - CmdLineInterface.h \ + Arg.h \ ArgException.h \ - CmdLine.h \ - XorHandler.h \ - MultiArg.h \ - UnlabeledMultiArg.h \ - ValueArg.h \ - UnlabeledValueArg.h \ - Visitor.h Arg.h \ - HelpVisitor.h \ - SwitchArg.h \ - MultiSwitchArg.h \ - VersionVisitor.h \ - IgnoreRestVisitor.h \ - CmdLineOutput.h \ - StdOutput.h \ - DocBookOutput.h \ - ZshCompletionOutput.h \ - OptionalUnlabeledTracker.h \ - Constraint.h \ - ValuesConstraint.h \ ArgTraits.h \ + CmdLine.h \ + CmdLineInterface.h \ + CmdLineOutput.h \ + Constraint.h \ + DocBookOutput.h \ + HelpVisitor.h \ + IgnoreRestVisitor.h \ + MultiArg.h \ + MultiSwitchArg.h \ + OptionalUnlabeledTracker.h \ StandardTraits.h \ + StdOutput.h \ + SwitchArg.h \ + UnlabeledMultiArg.h \ + UnlabeledValueArg.h \ + ValueArg.h \ + ValuesConstraint.h \ + VersionVisitor.h \ + Visitor.h \ + XorHandler.h \ + ZshCompletionOutput.h \ sstream.h diff --git a/scripts/check_dead_headers.py b/scripts/check_dead_headers.py new file mode 100755 index 0000000..f5fc259 --- /dev/null +++ b/scripts/check_dead_headers.py @@ -0,0 +1,47 @@ +#!/usr/bin/python + +# Copyright (c) 2018 Google LLC +# All rights reserved. +# +# See the file COPYING in the top directory of this distribution for +# more information. +# +# THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +import glob +import os +import sys +import re + +def get_files(path, pattern): + return map(os.path.basename, + glob.glob(os.path.join(path, pattern))) + +def get_includes(path): + with file(os.path.join(path, 'Makefile.am')) as f: + lines = [] + + for line in f: + m = re.match(r'^(.+\.h)', line.strip()) + if m: + lines.append(m.group(1)) + + return lines + +def main(): + headers = set(get_files('./include/tclap', '*.h')) + includes = set(get_includes('./include/tclap')) + diff = headers - includes + if diff: + print 'The following files are not in Makefile.am' + print diff + sys.exit(1) + +if __name__ == '__main__': + main()