From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Glenn Morris Newsgroups: gmane.emacs.bugs Subject: bug#46837: Makefile dependencies for info files Date: Thu, 04 Mar 2021 23:45:26 -0500 Message-ID: <2eeeguus2h.fsf@fencepost.gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12891"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) To: 46837@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 05 05:46:10 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lI2Lq-00038f-0P for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 Mar 2021 05:46:10 +0100 Original-Received: from localhost ([::1]:39410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lI2Lo-0000nO-Dw for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Mar 2021 23:46:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38520) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lI2Li-0000ms-4T for bug-gnu-emacs@gnu.org; Thu, 04 Mar 2021 23:46:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49193) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lI2Lh-0001Ns-TA for bug-gnu-emacs@gnu.org; Thu, 04 Mar 2021 23:46:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lI2Lh-00021d-RJ for bug-gnu-emacs@gnu.org; Thu, 04 Mar 2021 23:46:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Glenn Morris Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 Mar 2021 04:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46837 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: help Original-Received: via spool by 46837-submit@debbugs.gnu.org id=B46837.16149195497764 (code B ref 46837); Fri, 05 Mar 2021 04:46:01 +0000 Original-Received: (at 46837) by debbugs.gnu.org; 5 Mar 2021 04:45:49 +0000 Original-Received: from localhost ([127.0.0.1]:60739 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI2LQ-000215-OP for submit@debbugs.gnu.org; Thu, 04 Mar 2021 23:45:49 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:48598) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI2LN-00020p-DU for 46837@debbugs.gnu.org; Thu, 04 Mar 2021 23:45:43 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:51160) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lI2LI-00016z-6u for 46837@debbugs.gnu.org; Thu, 04 Mar 2021 23:45:36 -0500 Original-Received: from rgm by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1lI2L9-0004GS-1f; Thu, 04 Mar 2021 23:45:27 -0500 X-Spook: Indigo UMTS Vaccine Dateline Biological bomb dictionary X-Ran: F X-Hue: brightyellow X-Attribution: GM In-Reply-To: (Glenn Morris's message of "Thu, 04 Mar 2021 14:00:26 -0500") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:201494 Archived-At: 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