Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarren Young <warren@etr-usa.com>2013-05-02 04:10:15 +0400
committerWarren Young <warren@etr-usa.com>2013-05-02 04:10:15 +0400
commit32d9bab55e81f021d06a671176378855cc86f426 (patch)
tree8bbe3f74dead8f56c44da929e423e08b8788277e /winsup/doc
parent1f8b70e2a1305540aaa469553b6e88fa905bd7d6 (diff)
Generating faq/faq.body automatically from faq/faq.html whenever latter
is updated, using new bodysnatcher.pl script.
Diffstat (limited to 'winsup/doc')
-rw-r--r--winsup/doc/ChangeLog6
-rw-r--r--winsup/doc/Makefile.in7
-rwxr-xr-xwinsup/doc/bodysnatcher.pl44
3 files changed, 55 insertions, 2 deletions
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog
index aeb214ebf..3aa225f0c 100644
--- a/winsup/doc/ChangeLog
+++ b/winsup/doc/ChangeLog
@@ -1,5 +1,11 @@
2013-05-01 Warren Young <warren@etr-usa.com>
+ * bodysnatcher.pl: Created
+ * Makefile.in (faq/faq.body): Added target to create this file from
+ faq/faq.html using new bodysnatcher.pl script.
+
+2013-05-01 Warren Young <warren@etr-usa.com>
+
* cygwin-ug.xml: Renamed from cygwin-ug.in.sgml
(bookinfo) Extracted <bookinfo> section into new ug-info.xml file
* ug-info.xml: Created
diff --git a/winsup/doc/Makefile.in b/winsup/doc/Makefile.in
index c81de1058..f9445852f 100644
--- a/winsup/doc/Makefile.in
+++ b/winsup/doc/Makefile.in
@@ -24,13 +24,16 @@ include $(srcdir)/../Makefile.common
FAQ_SOURCES:= faq*.xml
-.SUFFIXES:
+.SUFFIXES: .html .body
+
+.html.body:
+ $(srcdir)/bodysnatcher.pl $<
all: Makefile \
cygwin-ug-net/cygwin-ug-net.html \
cygwin-ug-net/cygwin-ug-net-nochunks.html.gz \
cygwin-api/cygwin-api.html \
- faq/faq.html \
+ faq/faq.body faq/faq.html \
cygwin-ug-net/cygwin-ug-net.pdf \
cygwin-api/cygwin-api.pdf
diff --git a/winsup/doc/bodysnatcher.pl b/winsup/doc/bodysnatcher.pl
new file mode 100755
index 000000000..1db30aad4
--- /dev/null
+++ b/winsup/doc/bodysnatcher.pl
@@ -0,0 +1,44 @@
+#!/usr/bin/perl -w
+# Copyright © 2013 by Red Hat, Inc.
+#
+# This file is part of Cygwin.
+#
+# This software is a copyrighted work licensed under the terms of the
+# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+# details.
+
+use strict;
+
+if (@ARGV) {
+ my $infile = $ARGV[0];
+ my $outfile = $infile;
+ $outfile =~ s/\.html$/.body/;
+ if ($infile ne $outfile) {
+ open my $input, '<', $infile or die "Failed to open $infile: $!\n";
+ my $html = do { local $/; <$input> }; # slurp!
+ my ($body) = $html =~ m|<body[^>]*>(.*)</body>|is;
+ if ($body) {
+ open my $output, '>', $outfile
+ or die "Failed to write $outfile: $!\n";
+ print $output $body;
+ }
+ else {
+ print STDERR "Could not find <body> element in $infile!\n\n";
+ exit 3;
+ }
+ }
+ else {
+ print STDERR "Input file name must end in .html!\n\n";
+ exit 2;
+ }
+}
+else {
+ print STDERR <<USAGE;
+usage: $0 <input.html>
+
+ Transforms input.html to input.body by extracting whatever is
+ between <body> and </body> in input.html.
+
+USAGE
+ exit 1;
+}