From: Glenn Morris <rgm@gnu.org>
To: 46837@debbugs.gnu.org
Subject: bug#46837: Makefile dependencies for info files
Date: Thu, 04 Mar 2021 23:45:26 -0500 [thread overview]
Message-ID: <2eeeguus2h.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <wfo8fyrbg5.fsf@fencepost.gnu.org> (Glenn Morris's message of "Thu, 04 Mar 2021 14:00:26 -0500")
Glenn Morris wrote:
>> 1) Catering for systems without makeinfo - I would suggest dropping this.
>
> By which I meant, remove configure --without-makeinfo and special-casing
> HAVE_MAKEINFO=no in the Makefile, thus removing the need for the
> "info-real" target.
>
> configure not finding makeinfo would continue to be non-fatal if
> info/emacs.info exists, to cater for release tarfiles where info files
> are pre-built.
diff --git i/Makefile.in w/Makefile.in
index 856c29a453..85d063d8f6 100644
--- i/Makefile.in
+++ w/Makefile.in
@@ -166,9 +166,6 @@ infodir=@infodir@
# Info files not in the doc/misc directory (we get those via make echo-info).
INFO_NONMISC=emacs.info eintr.info elisp.info
-# If no makeinfo was found and configured --without-makeinfo, "no"; else "yes".
-HAVE_MAKEINFO=@HAVE_MAKEINFO@
-
# Directory for local state files for all programs.
localstatedir=@localstatedir@
@@ -650,9 +647,6 @@ install-etcdoc: src install-arch-indep
## If info/dir is missing, but we have install-info, we should let
## that handle it. If info/dir is present and we do not have install-info,
## we should check for missing entries and add them by hand.
-##
-## FIXME:
-## If HAVE_MAKEINFO = no and there are no info files, do not install info/dir.
install-info: info
umask 022; ${MKDIR_P} "$(DESTDIR)${infodir}"
-unset CDPATH; \
@@ -667,7 +661,6 @@ install-info: info
info_misc=`$(MAKE) --no-print-directory -s -C doc/misc echo-info`; \
cd ${srcdir}/info ; \
for elt in ${INFO_NONMISC} $${info_misc}; do \
- test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
(cd "$${thisdir}"; \
${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \
@@ -987,13 +980,13 @@ $(DOCS):
$(MAKE) -C doc/$(subst -, ,$@)
.PHONY: $(DOCS) docs pdf ps
-.PHONY: info dvi dist html info-real info-dir check-info
+.PHONY: info dvi dist html info-dir check-info
## TODO add etc/refcards.
docs: $(DOCS)
dvi: $(DVIS)
html: $(HTMLS)
-info-real: $(INFOS)
+info: $(INFOS) info-dir
pdf: $(PDFS)
ps: $(PSS)
@@ -1027,7 +1020,7 @@ info_dir_deps = \
## installation location by the install-info rule, but we also
## need one in the source directory for people running uninstalled.
## FIXME it would be faster to use the install-info program if we have it,
-## but then we would need to depend on info-real, which would
+## but then we would need to depend on ${INFOS}, which would
## slow down parallelization.
${srcdir}/info/dir: ${info_dir_deps}
$(AM_V_at)${MKDIR_P} ${srcdir}/info
@@ -1082,24 +1075,6 @@ uninstall-html: $(UNINSTALL_HTML)
uninstall-pdf: $(UNINSTALL_PDF)
uninstall-ps: $(UNINSTALL_PS)
-
-# Note that man/Makefile knows how to put the info files in $(srcdir),
-# so we can do ok running make in the build dir.
-# This used to have a clause that exited with an error if MAKEINFO = no.
-# But it is inappropriate to do so without checking if makeinfo is
-# actually needed - it is not if the info files are up-to-date. (Bug#3982)
-# Only the doc/*/Makefiles can decide that, so we let those rules run
-# and give a standard error if makeinfo is needed but missing.
-# While it would be nice to give a more detailed error message, that
-# would require changing every rule in doc/ that builds an info file,
-# and it's not worth it. This case is only relevant if you download a
-# release, then change the .texi files.
-ifneq ($(HAVE_MAKEINFO),no)
-info: info-real info-dir
-else
-info:
-endif
-
## build-aux/make-info-dir expects only certain dircategories.
check-info: info
cd info ; \
diff --git i/configure.ac w/configure.ac
index 11a06a39be..385a126dd3 100644
--- i/configure.ac
+++ w/configure.ac
@@ -506,11 +506,6 @@ otherwise for the first of 'inotify', 'kqueue' or 'gfile' that is usable.])
OPTION_DEFAULT_OFF([xwidgets],
[enable use of xwidgets in Emacs buffers (requires gtk3 or macOS Cocoa)])
-## For the times when you want to build Emacs but don't have
-## a suitable makeinfo, and can live without the manuals.
-dnl https://lists.gnu.org/r/emacs-devel/2008-04/msg01844.html
-OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
-
## Makefile.in needs the cache file name.
AC_SUBST(cache_file)
@@ -1344,14 +1339,13 @@ if test -n "$BREW"; then
fi
## Require makeinfo >= 4.13 (last of the 4.x series) to build the manuals.
-if test "${MAKEINFO:=makeinfo}" != "no"; then
- case `($MAKEINFO --version) 2>/dev/null` in
- *' (GNU texinfo) '4.1[[3-9]]* | \
- *' (GNU texinfo) '[[5-9]]* | \
- *' (GNU texinfo) '[[1-9][0-9]]* ) ;;
- *) MAKEINFO=no;;
- esac
-fi
+: ${MAKEINFO:=makeinfo}
+case `($MAKEINFO --version) 2>/dev/null` in
+ *' (GNU texinfo) '4.1[[3-9]]* | \
+ *' (GNU texinfo) '[[5-9]]* | \
+ *' (GNU texinfo) '[[1-9][0-9]]* ) ;;
+ *) MAKEINFO=no;;
+esac
## Makeinfo is unusual. For a released Emacs, the manuals are
## pre-built, and not deleted by the normal clean rules. makeinfo is
@@ -1362,21 +1356,19 @@ fi
## should test for it as it does for any other build requirement.
## We use the presence of $srcdir/info/emacs to distinguish a release,
## with pre-built manuals, from a repository checkout.
-HAVE_MAKEINFO=yes
-
if test "$MAKEINFO" = "no"; then
MAKEINFO=makeinfo
- if test "x${with_makeinfo}" = "xno"; then
- HAVE_MAKEINFO=no
- elif test ! -e "$srcdir/info/emacs" && test ! -e "$srcdir/info/emacs.info"; then
+ if test ! -e "$srcdir/info/emacs" && test ! -e "$srcdir/info/emacs.info"; then
AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.13, and your
source tree does not seem to have pre-built manuals in the 'info' directory.
-Either install a suitable version of makeinfo, or re-run configure
-with the '--without-makeinfo' option to build without the manuals.] )
+Please install a suitable version of makeinfo.] )
+ else
+ AC_MSG_WARN( [You do not seem to have makeinfo >= 4.13.
+You will not be able to rebuild the manuals if you delete them or change
+their sources.] )
fi
fi
AC_SUBST([MAKEINFO])
-AC_SUBST(HAVE_MAKEINFO)
if test $opsys = mingw32; then
DOCMISC_W32=efaq-w32
diff --git i/etc/NEWS w/etc/NEWS
index 3522fce03a..ff2fe656ec 100644
--- i/etc/NEWS
+++ w/etc/NEWS
@@ -66,6 +66,9 @@ shaping, so 'configure' now recommends that combination.
** The ftx font backend driver has been removed.
It was declared obsolete in Emacs 27.1.
+---
+** The configure option '--without-makeinfo' has been removed.
+
---
** Support for building with '-fcheck-pointer-bounds' has been removed.
GCC has withdrawn the '-fcheck-pointer-bounds' option and support for
next prev parent reply other threads:[~2021-03-05 4:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-28 23:39 bug#46837: Makefile dependencies for info files Glenn Morris
2021-03-01 16:47 ` Eli Zaretskii
2021-03-04 18:53 ` Glenn Morris
2021-03-04 19:22 ` Eli Zaretskii
2021-03-04 19:00 ` Glenn Morris
2021-03-05 4:45 ` Glenn Morris [this message]
2021-03-05 7:31 ` Eli Zaretskii
2021-03-05 19:23 ` Glenn Morris
2021-03-05 19:34 ` Stefan Kangas
2021-03-07 10:52 ` Michael Albinus
2021-03-07 17:14 ` Glenn Morris
2021-03-07 17:22 ` Michael Albinus
2021-03-07 17:33 ` Glenn Morris
2021-03-07 17:49 ` Michael Albinus
2021-03-07 17:38 ` Glenn Morris
2021-03-08 17:51 ` Glenn Morris
2021-03-08 17:58 ` Michael Albinus
2021-03-05 20:12 ` Eli Zaretskii
2021-03-06 17:38 ` Glenn Morris
2021-03-06 18:12 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2eeeguus2h.fsf@fencepost.gnu.org \
--to=rgm@gnu.org \
--cc=46837@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).