unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs can't be built without recent makeinfo
@ 2008-04-25  4:45 Nick Roberts
  2008-04-25 13:45 ` Stefan Monnier
  2008-04-25 22:47 ` Magnus Henoch
  0 siblings, 2 replies; 15+ messages in thread
From: Nick Roberts @ 2008-04-25  4:45 UTC (permalink / raw)
  To: emacs-devel

From configure:

  if test "$MAKEINFO" = "no"; then
    { { echo "$as_me:$LINENO: error: makeinfo >= 4.6 is required " >&5
  echo "$as_me: error: makeinfo >= 4.6 is required " >&2;}
     { (exit 1); exit 1; }; }
  fi

Do we really want to stop the build process completely just because the online
manuals can't be properly built?

-- 
Nick                                           http://www.inet.net.nz/~nickrob




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25  4:45 Emacs can't be built without recent makeinfo Nick Roberts
@ 2008-04-25 13:45 ` Stefan Monnier
  2008-04-25 16:22   ` Ulrich Mueller
  2008-04-25 22:47 ` Magnus Henoch
  1 sibling, 1 reply; 15+ messages in thread
From: Stefan Monnier @ 2008-04-25 13:45 UTC (permalink / raw)
  To: Nick Roberts; +Cc: emacs-devel

>> From configure:
>   if test "$MAKEINFO" = "no"; then
>     { { echo "$as_me:$LINENO: error: makeinfo >= 4.6 is required " >&5
>   echo "$as_me: error: makeinfo >= 4.6 is required " >&2;}
>      { (exit 1); exit 1; }; }
>   fi

> Do we really want to stop the build process completely just because the online
> manuals can't be properly built?

Indeed, no.  Especially since they are supposed to be pre-built in
the tarball.  The test should/could be moved to the Makefile, maybe?


        Stefan




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25 13:45 ` Stefan Monnier
@ 2008-04-25 16:22   ` Ulrich Mueller
  2008-04-25 18:48     ` Glenn Morris
  0 siblings, 1 reply; 15+ messages in thread
From: Ulrich Mueller @ 2008-04-25 16:22 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Nick Roberts, emacs-devel

>>>>> On Fri, 25 Apr 2008, Stefan Monnier wrote:

>>> From configure:
>> if test "$MAKEINFO" = "no"; then
>> { { echo "$as_me:$LINENO: error: makeinfo >= 4.6 is required " >&5
>> echo "$as_me: error: makeinfo >= 4.6 is required " >&2;}
>> { (exit 1); exit 1; }; }
>> fi

>> Do we really want to stop the build process completely just because the online
>> manuals can't be properly built?

> Indeed, no.  Especially since they are supposed to be pre-built in
> the tarball.  The test should/could be moved to the Makefile, maybe?

Is this really an issue? texinfo 4.6 was released in 2003.

<http://www.gnu.org/software/texinfo/> lists it under "Very old
releases, for historical and archeological purposes." :-)

Ulrich




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25 16:22   ` Ulrich Mueller
@ 2008-04-25 18:48     ` Glenn Morris
  2008-04-25 22:06       ` Nick Roberts
  0 siblings, 1 reply; 15+ messages in thread
From: Glenn Morris @ 2008-04-25 18:48 UTC (permalink / raw)
  To: Ulrich Mueller; +Cc: Nick Roberts, Stefan Monnier, emacs-devel

Ulrich Mueller wrote:

>>> Do we really want to stop the build process completely just
>>> because the online manuals can't be properly built?

The "online manuals" are a vital part of Emacs, so yes...

>> Indeed, no. Especially since they are supposed to be pre-built in
>> the tarball.

...however in many cases they are pre-built.

>>  The test should/could be moved to the Makefile, maybe?
>
> Is this really an issue? texinfo 4.6 was released in 2003.

I agree with you. Perhaps the issue is the need to have _any_ version
of texinfo though.

The info files are already only deleted by `make maintainer-clean',
which "may require special tools to rebuild", so that's fine.
We don't check for autoconf etc either.

One problem I see is that the info files aren't in the CVS, so a fresh
checkout could fail to build. And also any update to the .texi files
will trigger a rebuild. So basically there are only problems with CVS
builds.

Perhaps a check early on in the Makefile will suffice, but it seems
a bit flaky?




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25 18:48     ` Glenn Morris
@ 2008-04-25 22:06       ` Nick Roberts
  2008-04-25 23:26         ` Glenn Morris
  0 siblings, 1 reply; 15+ messages in thread
From: Nick Roberts @ 2008-04-25 22:06 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Ulrich Mueller, Stefan Monnier, emacs-devel

 > >>> Do we really want to stop the build process completely just
 > >>> because the online manuals can't be properly built?
 > 
 > The "online manuals" are a vital part of Emacs, so yes...

They might be desirable but they're not vital.  Emacs still works as an editor,
etc, without them.

 > >> Indeed, no. Especially since they are supposed to be pre-built in
 > >> the tarball.
 > 
 > ...however in many cases they are pre-built.
 > 
 > >>  The test should/could be moved to the Makefile, maybe?
 > >
 > > Is this really an issue? texinfo 4.6 was released in 2003.

I was building Emacs on an old system to test it with an old version of
Gdb.  Clearly it's not a _big_ issue as no-one else has reported a problem
but it seems logical to me that if texinfo is missing/too old then Emacs
just gets built without the manuals and this is reported at configure time.

-- 
Nick                                           http://www.inet.net.nz/~nickrob




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25  4:45 Emacs can't be built without recent makeinfo Nick Roberts
  2008-04-25 13:45 ` Stefan Monnier
@ 2008-04-25 22:47 ` Magnus Henoch
  1 sibling, 0 replies; 15+ messages in thread
From: Magnus Henoch @ 2008-04-25 22:47 UTC (permalink / raw)
  To: emacs-devel

Nick Roberts <nickrob@snap.net.nz> writes:

> From configure:
>
>   if test "$MAKEINFO" = "no"; then
>     { { echo "$as_me:$LINENO: error: makeinfo >= 4.6 is required " >&5
>   echo "$as_me: error: makeinfo >= 4.6 is required " >&2;}
>      { (exit 1); exit 1; }; }
>   fi
>
> Do we really want to stop the build process completely just because the online
> manuals can't be properly built?

The "missing" script could handle this.  When it doesn't find makeinfo,
it touches the info file if it exists, or otherwise gives an error.

Magnus





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25 22:06       ` Nick Roberts
@ 2008-04-25 23:26         ` Glenn Morris
  2008-05-03 20:17           ` Glenn Morris
  0 siblings, 1 reply; 15+ messages in thread
From: Glenn Morris @ 2008-04-25 23:26 UTC (permalink / raw)
  To: Nick Roberts; +Cc: Ulrich Mueller, Stefan Monnier, emacs-devel

Nick Roberts wrote:

> Clearly it's not a _big_ issue as no-one else has reported a problem
> but it seems logical to me that if texinfo is missing/too old then
> Emacs just gets built without the manuals and this is reported at
> configure time.

How about doing the same kind of thing as is now done with X and image
libraries: by default configure aborts if these are missing, but you
can pass an option to indicate you want to build without them.

These are features that almost everyone wants, and having configure
just print a message that they are missing was often overlooked.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-04-25 23:26         ` Glenn Morris
@ 2008-05-03 20:17           ` Glenn Morris
  2008-05-03 21:07             ` Jason Rumney
  2008-05-04 21:15             ` Nick Roberts
  0 siblings, 2 replies; 15+ messages in thread
From: Glenn Morris @ 2008-05-03 20:17 UTC (permalink / raw)
  To: Nick Roberts; +Cc: Ulrich Mueller, Stefan Monnier, emacs-devel

Glenn Morris wrote:

> How about doing the same kind of thing as is now done with X and image
> libraries: by default configure aborts if these are missing, but you
> can pass an option to indicate you want to build without them.

Well, that was such a popular idea that I implemented it.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 20:17           ` Glenn Morris
@ 2008-05-03 21:07             ` Jason Rumney
  2008-05-03 21:12               ` Glenn Morris
  2008-05-04 21:15             ` Nick Roberts
  1 sibling, 1 reply; 15+ messages in thread
From: Jason Rumney @ 2008-05-03 21:07 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Nick Roberts, emacs-devel, Ulrich Mueller, Stefan Monnier

Glenn Morris wrote:
> Glenn Morris wrote:
>
>   
>> How about doing the same kind of thing as is now done with X and image
>> libraries: by default configure aborts if these are missing, but you
>> can pass an option to indicate you want to build without them.
>>     
>
> Well, that was such a popular idea that I implemented it.
>   

This change is wrong. The distributed tarballs have prebuilt manuals in 
them, so configure should not abort because of makeinfo being missing or 
an old version.





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 21:07             ` Jason Rumney
@ 2008-05-03 21:12               ` Glenn Morris
  2008-05-03 21:38                 ` Jason Rumney
  2008-05-04  3:55                 ` Eli Zaretskii
  0 siblings, 2 replies; 15+ messages in thread
From: Glenn Morris @ 2008-05-03 21:12 UTC (permalink / raw)
  To: Jason Rumney; +Cc: Nick Roberts, emacs-devel, Ulrich Mueller, Stefan Monnier

Jason Rumney wrote:

> This change is wrong. The distributed tarballs have prebuilt manuals in 
> them, so configure should not abort because of makeinfo being missing or 
> an old version.

It already does abort, so this is nothing to do with my latest change.
I have added an explanation, plus a simple way to get past such an abort.

Change it to not abort at all if $srcdir/info/emacs exists if you
like; but personally I think it will be confusing.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 21:12               ` Glenn Morris
@ 2008-05-03 21:38                 ` Jason Rumney
  2008-05-04  1:58                   ` Glenn Morris
  2008-05-04  3:55                 ` Eli Zaretskii
  1 sibling, 1 reply; 15+ messages in thread
From: Jason Rumney @ 2008-05-03 21:38 UTC (permalink / raw)
  To: Glenn Morris; +Cc: emacs-devel

Glenn Morris wrote:
> Jason Rumney wrote:
>
>   
>> This change is wrong. The distributed tarballs have prebuilt manuals in 
>> them, so configure should not abort because of makeinfo being missing or 
>> an old version.
>>     
>
> It already does abort, so this is nothing to do with my latest change.
> I have added an explanation, plus a simple way to get past such an abort.
>
> Change it to not abort at all if $srcdir/info/emacs exists if you
> like; but personally I think it will be confusing.
>   

It is confusing now, as makeinfo is not needed at all to build a 
released version of Emacs, but configure aborts if a recent version is 
not installed.
Your addition of that test on 2007-08-24 should have instead been an 
update to the existing test in the maybe_bootstrap rule of Makefile.in. 
But it looks like you didn't realize that the existing test was there 
until 2008-01-16, when you removed it.








^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 21:38                 ` Jason Rumney
@ 2008-05-04  1:58                   ` Glenn Morris
  0 siblings, 0 replies; 15+ messages in thread
From: Glenn Morris @ 2008-05-04  1:58 UTC (permalink / raw)
  To: Jason Rumney; +Cc: emacs-devel

Jason Rumney wrote:

> It is confusing now, as makeinfo is not needed at all to build a 
> released version of Emacs, but configure aborts if a recent version is 
> not installed.
> Your addition of that test on 2007-08-24 should have instead been an 
> update to the existing test in the maybe_bootstrap rule of Makefile.in. 
> But it looks like you didn't realize that the existing test was there 
> until 2008-01-16, when you removed it.

You're probably right; I'm probably confused.
I'll try and sort it out, but it probably won't be immediate.

This message brought to you by the word "probably". :)




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 21:12               ` Glenn Morris
  2008-05-03 21:38                 ` Jason Rumney
@ 2008-05-04  3:55                 ` Eli Zaretskii
  2008-05-05 18:31                   ` Glenn Morris
  1 sibling, 1 reply; 15+ messages in thread
From: Eli Zaretskii @ 2008-05-04  3:55 UTC (permalink / raw)
  To: Glenn Morris; +Cc: nickrob, emacs-devel, ulm, monnier, jasonr

> From: Glenn Morris <rgm@gnu.org>
> Date: Sat, 03 May 2008 17:12:56 -0400
> Cc: Nick Roberts <nickrob@snap.net.nz>, emacs-devel@gnu.org,
> 	Ulrich Mueller <ulm@gentoo.org>, Stefan Monnier <monnier@iro.umontreal.ca>
> 
> Jason Rumney wrote:
> 
> > This change is wrong. The distributed tarballs have prebuilt manuals in 
> > them, so configure should not abort because of makeinfo being missing or 
> > an old version.
> 
> It already does abort, so this is nothing to do with my latest change.
> I have added an explanation, plus a simple way to get past such an abort.
> 
> Change it to not abort at all if $srcdir/info/emacs exists if you
> like; but personally I think it will be confusing.

I agree with Jason: for distributed tarballs, makeinfo should not be
an obstacle.  I don't see what's confusing, either; care to explain?




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-03 20:17           ` Glenn Morris
  2008-05-03 21:07             ` Jason Rumney
@ 2008-05-04 21:15             ` Nick Roberts
  1 sibling, 0 replies; 15+ messages in thread
From: Nick Roberts @ 2008-05-04 21:15 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Ulrich Mueller, Stefan Monnier, emacs-devel

 > > How about doing the same kind of thing as is now done with X and image
 > > libraries: by default configure aborts if these are missing, but you
 > > can pass an option to indicate you want to build without them.
 > 
 > Well, that was such a popular idea that I implemented it.

But this isn't what is done for all image libraries, is it?  ISTR that with
some libraries, configure just informs the user that they're not there and
builds Emacs without them.  This is what I was suggesting, and I think Jason
might be saying (I've lost his messages).  I'm just not expert enough to
implement that and might end up doing more harm than good.

-- 
Nick                                           http://www.inet.net.nz/~nickrob




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Emacs can't be built without recent makeinfo
  2008-05-04  3:55                 ` Eli Zaretskii
@ 2008-05-05 18:31                   ` Glenn Morris
  0 siblings, 0 replies; 15+ messages in thread
From: Glenn Morris @ 2008-05-05 18:31 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: nickrob, emacs-devel, ulm, monnier, jasonr

Eli Zaretskii wrote:

> I agree with Jason: for distributed tarballs, makeinfo should not be
> an obstacle.  I don't see what's confusing, either; care to explain?

Patch with explanatory comments.

*** configure.in	3 May 2008 20:16:15 -0000	1.526
--- configure.in	5 May 2008 18:28:14 -0000
***************
*** 896,916 ****
     MAKEINFO=no
  fi
  
! if test "$MAKEINFO" = "no" && test "x${with_makeinfo}" != "xno"; then
! 
!    if test -e $srcdir/info/emacs; then
!       gotinfo="seems"
!    else
!       gotinfo="does NOT seem"
!    fi
! 
!   AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6.
! You will not be able to build the Emacs manuals.
! In Emacs releases, they are prebuilt, so this might not be a problem.
! Your source tree $gotinfo to have manuals in the `info' directory.
  Either install a suitable version of makeinfo, or re-run configure
! with the `--without-makeinfo' option.] )
! 
  fi
  
  dnl Add our options to ac_link now, after it is set up.
--- 896,919 ----
     MAKEINFO=no
  fi
  
! ## Makeinfo is unusual.  For a released Emacs, the manuals are
! ## pre-built, and not deleted by the normal clean rules.  makeinfo is
! ## therefore in the category of "special tools" not normally required, which
! ## configure does not have to check for (eg autoconf itself).
! ## In a CVS checkout on the other hand, the manuals are not included.
! ## So makeinfo is a requirement to build from CVS, and configure
! ## 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 CVS checkout.
! if test "$MAKEINFO" = "no"; then
!   if test "x${with_makeinfo}" = "xno"; then
!     MAKEINFO=off
!   elif ! test -e $srcdir/info/emacs; then
!     AC_MSG_ERROR( [You do not seem to have makeinfo >= 4.6, 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.] )
!   fi
  fi
  
  dnl Add our options to ac_link now, after it is set up.


*** Makefile.in	3 May 2008 20:16:32 -0000	1.345
--- Makefile.in	5 May 2008 18:28:21 -0000
***************
*** 554,560 ****
  	   fi; \
  	   cd ${srcdir}/info ; \
  	   for elt in $(INFO_FILES); do \
! 	      test "$(MAKEINFO)" = "no" && ! test -e $$elt && continue; \
  	      for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
  	        ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
  	        chmod a+r $(DESTDIR)${infodir}/$$f; \
--- 554,560 ----
  	   fi; \
  	   cd ${srcdir}/info ; \
  	   for elt in $(INFO_FILES); do \
! 	      test "$(MAKEINFO)" = "off" && ! test -e $$elt && continue; \
  	      for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
  	        ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
  	        chmod a+r $(DESTDIR)${infodir}/$$f; \
***************
*** 566,572 ****
  	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd $(DESTDIR)${infodir} && /bin/pwd)` ]; \
  	then \
  	  for elt in $(INFO_FILES); do \
! 	    test "$(MAKEINFO)" = "no" && ! test -e $$elt && continue; \
  	    (cd $${thisdir}; \
  	     ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
  	  done; \
--- 566,572 ----
  	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd $(DESTDIR)${infodir} && /bin/pwd)` ]; \
  	then \
  	  for elt in $(INFO_FILES); do \
! 	    test "$(MAKEINFO)" = "off" && ! test -e $$elt && continue; \
  	    (cd $${thisdir}; \
  	     ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
  	  done; \
***************
*** 785,792 ****
  # put the info files in $(srcdir),
  # so we can do ok running make in the build dir.
  info: force-info
! 	@if test "$(MAKEINFO)" = "no"; then \
! 	  echo "Configured without makeinfo, not building manuals" ; \
  	else \
  	  $(MAKE) $(MFLAGS) info-real ; \
  	fi
--- 785,795 ----
  # put the info files in $(srcdir),
  # so we can do ok running make in the build dir.
  info: force-info
! 	@if test "$(MAKEINFO)" = "off"; then \
! 	  echo "Configured --without-makeinfo, not building manuals" ; \
! 	elif test "$(MAKEINFO)" = "no"; then \
! 	  echo "makeinfo is missing - cannot build manuals" ; \
! 	  exit 1 ; \
  	else \
  	  $(MAKE) $(MFLAGS) info-real ; \
  	fi




^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2008-05-05 18:31 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-25  4:45 Emacs can't be built without recent makeinfo Nick Roberts
2008-04-25 13:45 ` Stefan Monnier
2008-04-25 16:22   ` Ulrich Mueller
2008-04-25 18:48     ` Glenn Morris
2008-04-25 22:06       ` Nick Roberts
2008-04-25 23:26         ` Glenn Morris
2008-05-03 20:17           ` Glenn Morris
2008-05-03 21:07             ` Jason Rumney
2008-05-03 21:12               ` Glenn Morris
2008-05-03 21:38                 ` Jason Rumney
2008-05-04  1:58                   ` Glenn Morris
2008-05-04  3:55                 ` Eli Zaretskii
2008-05-05 18:31                   ` Glenn Morris
2008-05-04 21:15             ` Nick Roberts
2008-04-25 22:47 ` Magnus Henoch

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).