Install plugin html/pdf documentation in project docdir.
authorMatt Birkholz <matt@birchwood-abbey.net>
Sat, 13 Oct 2018 06:32:26 +0000 (23:32 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Sat, 13 Oct 2018 06:32:26 +0000 (23:32 -0700)
Override docdir.  Enhance the update-html-index procedure to look for
PROJECT-PLUGIN.html as well as PLUGIN.html.

src/berkeley-db/configure.ac
src/blowfish/Makefile.am
src/blowfish/configure.ac
src/edwin/configure.ac
src/ffi/build.scm
src/gdbm/Makefile.am
src/gdbm/configure.ac
src/imail/Makefile.am
src/imail/configure.ac

index 69ab50a159e1bfc6a0241d28d0860098391f1258..6dfa8e1dea4b609ed203a8e21e7ec85b7ed0fb4f 100644 (file)
@@ -37,8 +37,4 @@ fi
 
 MIT_SCHEME_PROJECT=mit-scheme
 
-# Install plugin docs in Scheme's docdir subdirectories.
-htmldir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/html'
-pdfdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/pdf'
-
 AC_SUBST([MIT_SCHEME_PROJECT])
index 8f4e9cf3cc426feb16fbd8b9eb9b560b96d4b04d..1c48110db9bbcdc62561f23254bb150034c9b380 100644 (file)
@@ -106,10 +106,6 @@ install-html: install-html-am
          echo '            "$(DESTDIR)$(scmdocdir)")' ) \
        | $(MIT_SCHEME_EXE) --batch-mode
 
-install-info-am:
-
-uninstall-info-am:
-
 uninstall-hook:
        ( echo '(remove-plugin "blowfish" "@MIT_SCHEME_PROJECT@"'; \
          echo '               ""'; \
index 5b2c72531247e32379aa4d78f2a29a6e657e2dcb..62ec8516432346c8847519f1f1a62d0a00b49210 100644 (file)
@@ -159,6 +159,9 @@ done
 MIT_SCHEME_DEPS="${MIT_SCHEME_DEPS}
 ${MIT_SCHEME_PKD}: stamp-scheme"
 
+# Install plugin docs in Scheme's docdir.
+docdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)'
+
 AC_SUBST([MIT_SCHEME_PROJECT])
 AC_SUBST([MIT_SCHEME_EXE])
 AC_SUBST([MIT_CFLAGS])
index 484b145421c05be5a456419f6d48d87fa320866c..187cf70c8c5d2d2aa1278f085decc42fd22e246a 100644 (file)
@@ -44,10 +44,6 @@ MIT_SCHEME_OS_SUFFIX=`echo "(display (microcode-id/operating-system-suffix))" \
 MIT_SCHEME_SOURCES=`./sources.sh scm`
 MIT_SCHEME_BINARIES=`./sources.sh com`
 
-# Install plugin docs in Scheme's docdir subdirectories.
-htmldir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/html'
-pdfdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/pdf'
-
 AC_SUBST([MIT_SCHEME_PROJECT])
 AC_SUBST([MIT_SCHEME_SOURCES])
 AC_SUBST([MIT_SCHEME_BINARIES])
index b30e635a9b44d09ac973677f0be510067f3ee3e7..f108574a26098e252b92cae6853657eb011e2726 100644 (file)
@@ -75,7 +75,7 @@ USA.
                                   operation)))))))
          (update-optiondb plugins scmlibdir)
          (update-info-index project plugins infodir scmdocdir)
-         (update-html-index plugins scmdocdir)))))
+         (update-html-index project plugins scmdocdir)))))
 
 (define (delete-plugin-list)
   ;; For the prerm script: delete the database of plugins (plugins.scm
@@ -102,7 +102,7 @@ USA.
          (begin
            (update-optiondb plugins scmlibdir)
            (update-info-index project plugins infodir scmdocdir)
-           (update-html-index plugins scmdocdir))))))
+           (update-html-index project plugins scmdocdir))))))
 
 (define (update-optiondb plugins scmlibdir)
   (let ((filename (string scmlibdir"optiondb.scm")))
@@ -157,7 +157,7 @@ USA.
                              (substring line (fix:+ index str-len)))
                      line))))))))))
 
-(define (update-html-index plugins scmdocdir)
+(define (update-html-index project plugins scmdocdir)
   (let* ((scmhtmldir (if (file-exists? (string scmdocdir"html/index.html"))
                         (string scmdocdir"html/")
                         scmdocdir))
@@ -173,18 +173,19 @@ USA.
                                        "\n") out)
 
           ;; Write new list.
-          (let ((names.titles (sort (html-names.titles plugins scmhtmldir)
-                                    (lambda (a b)
-                                      (string<? (cdr a) (cdr b))))))
+          (let ((filenames.titles
+                 (sort (html-filenames.titles project plugins scmhtmldir)
+                       (lambda (a b)
+                         (string<? (cdr a) (cdr b))))))
             (for-each
-              (lambda (name.title)
+              (lambda (filename.title)
                 (write-string "<li><a href=\"" out)
-                (write-string (car name.title) out)
-                (write-string ".html\">" out)
-                (write-string (cdr name.title) out)
+                (write-string (car filename.title) out)
+                (write-string "\">" out)
+                (write-string (cdr filename.title) out)
                 (write-string "</a></li>\n" out))
-              names.titles)
-            (if (null? names.titles)
+              filenames.titles)
+            (if (null? filenames.titles)
                 (write-string "<i>None currently installed.</i>\n" out)))
 
           ;; Skip old list.
@@ -204,13 +205,23 @@ USA.
             (newline out))))
        (warn "Scheme html index not found:" filename))))
 
-(define (html-names.titles plugins scmhtmldir)
-  (append-map! (lambda (plugin)
-                (let ((filename (string scmhtmldir plugin".html")))
-                  (if (file-exists? filename)
-                      (list (cons plugin (read-html-title filename)))
-                      '())))
-              plugins))
+(define (html-filenames.titles project plugins scmhtmldir)
+
+  (define (existing-file . strings)
+    (let ((filename (string* strings)))
+      (and (file-exists? filename)
+          filename)))
+
+  (append-map!
+   (lambda (plugin)
+     (let ((filename
+           (or (existing-file scmhtmldir plugin".html")
+               (existing-file scmhtmldir project"-"plugin".html")
+               (existing-file scmhtmldir project"-"plugin"/index.html"))))
+       (if filename
+          (list (cons filename (read-html-title filename)))
+          '())))
+   plugins))
 
 (define (read-html-title filename)
   (let ((patt (compile-regsexp '(seq "<title>"
index 20b01cd9ef28a694ccdbcc45ccde1c040336e723..3df4736cf4de946312e363ccade8972d8a85f3a0 100644 (file)
@@ -106,10 +106,6 @@ install-html: install-html-am
          echo '            "$(DESTDIR)$(scmdocdir)")' ) \
        | $(MIT_SCHEME_EXE) --batch-mode
 
-install-info-am:
-
-uninstall-info-am:
-
 uninstall-hook:
        ( echo '(remove-plugin "gdbm" "@MIT_SCHEME_PROJECT@"'; \
          echo '               ""'; \
index 401a53172e325377e8cdee9b16c0bd7779049865..73e4b5cf15a22eb11abcbaaee27ffad646c75e35 100644 (file)
@@ -114,6 +114,9 @@ done
 MIT_SCHEME_DEPS="${MIT_SCHEME_DEPS}
 ${MIT_SCHEME_PKD}: stamp-scheme"
 
+# Install plugin docs in Scheme's docdir.
+docdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)'
+
 AC_SUBST([MIT_SCHEME_PROJECT])
 AC_SUBST([MIT_CFLAGS])
 AC_SUBST([MIT_SCHEME_EXE])
index cf40c03555ab6de00e2334fa1817b187ae1a152b..ba473a838aaf99fc5629041f50bf44d00c23e943 100644 (file)
@@ -106,10 +106,6 @@ install-html: install-html-am
          echo '            "$(DESTDIR)$(scmdocdir)")' ) \
        | $(MIT_SCHEME_EXE) --batch-mode
 
-install-info-am:
-
-uninstall-info-am:
-
 uninstall-hook:
        ( echo '(remove-plugin "imail" "@MIT_SCHEME_PROJECT@"'; \
          echo '               ""'; \
index 7ec4ebb836fb4d04868e132ef19e1244975a51f5..62006b380a341d5b997a5dda02cf3484403f10e7 100644 (file)
@@ -42,9 +42,8 @@ MIT_SCHEME_LIBDIR=`( echo "(display (->namestring" ;\
 MIT_SCHEME_OS_SUFFIX=`echo "(display (microcode-id/operating-system-suffix))" \
                      | ${MIT_SCHEME_EXE} --batch-mode`
 
-# Install plugin docs in Scheme's docdir subdirectories.
-htmldir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/html'
-pdfdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)/pdf'
+# Install plugin docs in Scheme's docdir.
+docdir='$(datarootdir)/doc/$(MIT_SCHEME_PROJECT)'
 
 AC_SUBST([MIT_SCHEME_PROJECT])
 AC_SUBST([MIT_SCHEME_EXE])