This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems with texinfo 4.1 on mainline/3.3


Alexandre Oliva <aoliva@redhat.com> writes:

> On Jan  1, 2003, Andreas Jaeger <aj@suse.de> wrote:
>
>> "Joseph S. Myers" <jsm28@cam.ac.uk> writes:
>>> On Wed, 1 Jan 2003, Andreas Jaeger wrote:
>>> 
>>>> Am I forced to upgrade or is a make rule missing for this case?
>>> 
>>> The treelang Make-lang.in should be changed to follow others (e.g. java,
>>> f) in disabling building info if BUILD_INFO isn't set to indicate it
>
>> Like the appended patch?  I just tested it with make treelang.info.
>> Ok to commit for 3.3 and mainline?
>
> Unfortunately, even though the patch follows existing practice in
> other front-ends, they're all wrong.
>
> This change would cause `make info' to not attempt to generate info
> files for the front-ends, like it does for cpp, gcc and gccint, even
> if using an old version of makeinfo.
>
> It seems to me that the correct patch would instead remove the
> dependency on the info files from the front-end install-info rules,
> and then, to avoid problems with make -j install, replace those
> dependencies with doc, such that, if info files are to be generated,
> doc depends on info depends on lang.info depends on <frontend>.info
> depends on the front-end info files.
>
> If you'd rather have more accurate dependencies for make -j install,
> to avoid stalling the install of info files, you may want to try
> instead having the <frontend>.install-info depend on
> <frontend>.$(BUILD_INFO), defining a phony <frontend>. target for the
> case of an empty BUILD_INFO.

I followed your latest suggestion and tested the appended patch 
with BUILD_INFO set to info and with it set to empty and with newer
texi files.

Looking at the rules I noticed that they were completly broken, the
files were installed in the libdir instead of in infodir.  I fixed
this also.

Ok to commit for 3.3 and 3.4?

Shall I changed the other frontends the same way?

Andreas

2003-01-12  Andreas Jaeger  <aj@suse.de>

	* treelang/Make-lang.in (treelang.install-info): Depend only on
	info files if BUILD_INFO is set.  Fix install rules.
	(treelang.): New.

============================================================
Index: gcc/treelang/Make-lang.in
--- gcc/treelang/Make-lang.in	9 Jan 2003 08:05:30 -0000	1.10
+++ gcc/treelang/Make-lang.in	12 Jan 2003 14:16:05 -0000
@@ -1,7 +1,7 @@
 # Top level makefile fragment for TREELANG For GCC. -*- makefile -*-
 
-#   Copyright (C) 1994, 1995, 1997, 1998, 1999 2000, 2001, 2002 Free
-#   Software Foundation, Inc.
+#   Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+#   Free Software Foundation, Inc.
 
 #This file is part of GCC.
 
@@ -175,16 +175,24 @@ treelang.install.common.done:  installdi
 	done
 	$(STAMP) treelang.install.common.done
 
-treelang.install-info: $(srcdir)/treelang/treelang.info
-	for name in $(srcdir)/treelang/treelang.info; \
-	do \
-	   if [ -f $$name ] ; then \
-	    name2="`echo \`basename $$name\` | sed -e '$(program_transform_name)' `"; \
-	    rm -f $(DESTDIR)$(libsubdir)/$$name2$(exeext); \
-	    $(INSTALL_PROGRAM) $$name$(exeext) $(DESTDIR)$(libsubdir)/$$name2$(exeext); \
-	    chmod a+x $(DESTDIR)$(libsubdir)/$$name2$(exeext); \
-	  fi ; \
-	done
+# We might not be able to build the info files
+.phony: treelang.
+treelang.:
+treelang.install-info: treelang.$(BUILD_INFO)
+	if [ -f $(srcdir)/treelang/treelang.info ] ; then \
+	  rm -f $(DESTDIR)$(infodir)/treelang.info*; \
+	  for f in $(srcdir)/treelang/treelang.info*; do \
+	      realfile=`echo $$f | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+	      $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$realfile; \
+	  done; \
+	  chmod a-x $(DESTDIR)$(infodir)/treelang.info*; \
+	else true; fi
+	@if [ -f $(srcdir)/treelang/treelang.info ] ; then \
+	  if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
+	    echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/treelang.info"; \
+	    install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/treelang.info || : ; \
+	  else : ; fi; \
+	else : ; fi
 
 treelang.install-man: 
 

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

Attachment: msg00771/pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]