From: Francis Dupont Date: Sat, 28 Feb 2015 00:05:45 +0000 (+0100) Subject: [3516] get rid of root (vs file list) and boost libs X-Git-Tag: trac3874_base~8^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bef0198b3b1630a96b0620ff008aaa225031fbf2;p=thirdparty%2Fkea.git [3516] get rid of root (vs file list) and boost libs --- diff --git a/doc/guide/Makefile.am b/doc/guide/Makefile.am index ffda1d5245..20e5bdfdd8 100644 --- a/doc/guide/Makefile.am +++ b/doc/guide/Makefile.am @@ -13,7 +13,8 @@ EXTRA_DIST = $(DOCBOOK) DISTCLEANFILES = $(HTMLDOCS) $(DOCS) kea-messages.xml kea-messages.xml: - $(PYTHON) $(top_srcdir)/tools/system_messages.py -o $@ $(top_srcdir) + $(PYTHON) $(top_srcdir)/tools/system_messages.py -o $@ \ + `find $(top_srcdir) -name "*.mes" -print` # This is not a "man" manual, but reuse this for now for docbook. if GENERATE_DOCS @@ -35,6 +36,7 @@ kea-messages.html: kea-messages.xml @XSLTPROC@ --novalid --xinclude --nonet \ --path $(top_builddir)/doc \ -o $@ \ + --stringparam generate.toc "book toc" \ --stringparam html.stylesheet kea-guide.css \ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl \ kea-messages.xml diff --git a/tools/system_messages.cc b/tools/system_messages.cc index 3eccb7de24..bb708486b0 100644 --- a/tools/system_messages.cc +++ b/tools/system_messages.cc @@ -14,15 +14,14 @@ // Produce System Messages Manual // -// This tool reads all the .mes files in the directory tree whose root is given -// on the command line and interprets them as message files. It pulls -// all the messages and description out, sorts them by message ID, and writes -// them out as a single (formatted) file. +// This tool reads all the message files given on the command line. +// It pulls all the messages and description out, sorts them by +// message ID, and writes them out as a single (formatted) file. // // Invocation: // The code is invoked using the command line: // -// kt_system_messages.py [-o ] [|] +// system_messages [-o ] // // If no output file is specified, output is written to stdout. @@ -36,7 +35,9 @@ #include #include +#ifdef USE_BOOST_FILESYSTEM #include +#endif #include typedef std::vector lines_type; @@ -522,6 +523,7 @@ void processFile(const std::string& filename) /// /// Parameters: /// root Directory that is the root of the source tree +#ifdef USE_BOOST_FILESYSTEM void processAllFiles(const boost::filesystem::path& root) { boost::filesystem::directory_iterator endd; @@ -540,12 +542,17 @@ void processAllFiles(const boost::filesystem::path& root) } } } - +#endif void usage(char* progname) { +#ifdef USE_BOOST_FILESYSTEM + std::cerr << "Usage: " << progname << + " [--help | options] root|files\n"; +#else std::cerr << "Usage: " << progname << - " [--help | options] [root|files]\n"; + " [--help | options] files\n"; +#endif std::cerr << " options: --output file: " << "output file name (default to stdout)\n"; } @@ -581,6 +588,7 @@ int main(int argc, char* argv[]) usage(progname); exit(-1); } +#ifdef USE_BOOST_FILESYSTEM if (argc > 1) { for (int i = 0; i < argc; ++i) { processFile(argv[i]); @@ -593,6 +601,11 @@ int main(int argc, char* argv[]) processFile(argv[0]); } } +#else + for (int i = 0; i < argc; ++i) { + processFile(argv[i]); + } +#endif // Now just print out everything we've read (in alphabetical order). bool first = true; diff --git a/tools/system_messages.py b/tools/system_messages.py index a682429d91..20190c79d9 100644 --- a/tools/system_messages.py +++ b/tools/system_messages.py @@ -22,7 +22,7 @@ # Invocation: # The code is invoked using the command line: # -# python system_messages.py [-o ] +# python system_messages.py [-o ] | # # If no output file is specified, output is written to stdout. @@ -402,23 +402,25 @@ def processAllFiles(root): # Main program if __name__ == "__main__": - parser = OptionParser(usage="Usage: %prog [--help | options] root") + parser = OptionParser(usage="Usage: %prog [--help | options] root|files") parser.add_option("-o", "--output", dest="output", default=None, metavar="FILE", help="output file name (default to stdout)") (options, args) = parser.parse_args() if len(args) == 0: - parser.error("Must supply directory at which to begin search") - elif len(args) > 1: - parser.error("Only a single root directory can be given") + parser.error("Must supply directory at which to begin search or files") # Redirect output if specified (errors are written to stderr) if options.output is not None: sys.stdout = open(options.output, 'w') # Read the files and load the data - processAllFiles(args[0]) + if (len(args) > 1) or (not os.path.isdir(args[0])): + for file in args: + processFile(file) + else: + processAllFiles(args[0]) # Now just print out everything we've read (in alphabetical order). sname = ""