aboutsummaryrefslogtreecommitdiffstats
path: root/build-aux
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2013-12-12 00:54:21 -0800
committerGlenn Morris <[email protected]>2013-12-12 00:54:21 -0800
commit62bd73fa7a8c50504bc6f916b86603ea654fc472 (patch)
treec0f269198491a68fe4fbedcb9a95ddf11c4ac600 /build-aux
parent397a32c12ad097314c0948818d5c54b43d9f3d54 (diff)
Stop keeping info/dir in the repository.
* build-aux/dir_top: Move here from admin/. * build-aux/make-info-dir: New script. * Makefile.in (bootstrap-clean): Delete info/. (info-dir, ${srcdir}/info/dir): New rules. (info): Also make info-dir. (check-info): Rename from check-info-dir. Instead of info/dir entries, check @dircategory in info/*.info. * make-dist: Use `info' rule rather than `info-real'. No more info/COPYING (not even the right license for info/ files). * info/: Remove from repository. * admin/update_autogen (info_dir): Use dir_top from build-aux/ rather than admin/. * .bzrignore: Ignore info/ altogether. * doc/emacs/Makefile.in: Comment.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/dir_top20
-rwxr-xr-xbuild-aux/make-info-dir93
2 files changed, 113 insertions, 0 deletions
diff --git a/build-aux/dir_top b/build-aux/dir_top
new file mode 100644
index 0000000000..321a39dc35
--- /dev/null
+++ b/build-aux/dir_top
@@ -0,0 +1,20 @@
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+
+File: dir, Node: Top This is the top of the INFO tree
+
+The Info Directory
+******************
+
+ The Info Directory is the top-level menu of major Info topics.
+ Type "d" in Info to return to the Info Directory. Type "q" to exit Info.
+ Type "?" for a list of Info commands, or "h" to visit an Info tutorial.
+ Type "m" to choose a menu item--for instance,
+ "mEmacs<Return>" visits the Emacs manual.
+ In Emacs Info, you can click mouse button 2 on a menu item
+ or cross reference to follow it to its target.
+ Each menu line that starts with a * is a topic you can select with "m".
+ Every third topic has a red * to help pick the right number to type.
+
+* Menu:
diff --git a/build-aux/make-info-dir b/build-aux/make-info-dir
new file mode 100755
index 0000000000..61f3b1a243
--- /dev/null
+++ b/build-aux/make-info-dir
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+### make-info-dir - create info/dir, for systems without install-info
+
+## Copyright (C) 2013 Free Software Foundation, Inc.
+
+## Author: Glenn Morris <[email protected]>
+
+## This file is part of GNU Emacs.
+
+## GNU Emacs is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+
+## GNU Emacs is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+### Commentary:
+
+## Generate info/dir, for systems without install-info.
+## Expects to be called from top-level Emacs source directory.
+
+## It only handles the case where info/dir is missing from the
+## installation directory. It does not handle info/dir being present
+## but missing some entries.
+
+### Code:
+
+if test $# -ne 1; then
+ echo "Specify destination file"
+ exit 1
+fi
+
+outfile=$1
+
+echo "Creating $outfile..."
+
+if test -f "$outfile"; then
+ echo "$outfile already present"
+ exit 1
+fi
+
+## Header contains non-printing characters, so this is more
+## reliable than using echo.
+basefile=build-aux/dir_top
+
+if test ! -f "$basefile"; then
+ echo "$basefile not found"
+ exit 1
+fi
+
+
+cp $basefile $outfile
+
+
+## FIXME inefficient looping.
+for topic in "Texinfo documentation system" "Emacs" "GNU Emacs Lisp" \
+ "Emacs editing modes" "Emacs network features" "Emacs misc features" \
+ "Emacs lisp libraries"; do
+
+ cat - <<EOF >> $outfile
+
+$topic
+EOF
+ for file in info/*.info; do
+
+ ## FIXME do not ignore w32 if OS is w32.
+ case $file in
+ *-xtra.info|*efaq-w32.info) continue ;;
+ esac
+
+ dircat=`sed -n -e 's/^INFO-DIR-SECTION //p' $file`
+
+ ## TODO warn about unknown topics.
+ test "$dircat" = "$topic" || continue
+
+ sed -n -e '/^START-INFO-DIR-ENTRY/,/^END-INFO-DIR-ENTRY/ s/^\([^SE]\)/\1/p' \
+ $file >> $outfile
+
+ done
+done
+
+echo "Created $outfile"
+
+exit 0
+
+### make-info-dir ends here