From c3cf99f53714ce1227ab508c9e359910a963659e Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 6 Mar 2021 10:38:07 -0800 Subject: [PATCH] Remove the --without-makeinfo configure option (bug#46837) * configure.ac (--without-makeinfo): Remove option. (HAVE_MAKEINFO): Remove output variable. * Makefile.in (HAVE_MAKEINFO): Remove. (info_misc): Remove HAVE_MAKEINFO check. (info-real): Remove target. (info): Simplify. ; * etc/NEWS: Mention this. --- Makefile.in | 31 +++---------------------------- configure.ac | 34 +++++++++++++--------------------- etc/NEWS | 6 ++++++ 3 files changed, 22 insertions(+), 49 deletions(-) diff --git a/Makefile.in b/Makefile.in index 856c29a453e..85d063d8f6b 100644 --- a/Makefile.in +++ b/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 a/configure.ac b/configure.ac index 11a06a39bee..385a126dd39 100644 --- a/configure.ac +++ b/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 a/etc/NEWS b/etc/NEWS index 2e0628b45ec..d2b84d733db 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -66,6 +66,12 @@ 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. +This was only ever relevant when building from a repository checkout. +Please install makeinfo, or if all else fails run 'make lisp' instead +of 'make [all]'. + --- ** Support for building with '-fcheck-pointer-bounds' has been removed. GCC has withdrawn the '-fcheck-pointer-bounds' option and support for -- 2.39.2