From 7a486d618133aecc9d2fbd57003bfd99d783154b Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Wed, 19 Feb 2003 19:12:56 +0000 Subject: [PATCH] * lib/am/texinfos.am (install-info-am, uninstall-info-am): Install DJGPP-style *.iNN info files. (maintainer-clean-aminfo): Rewrite using the same pattern as in uninstall-info-am. * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase DJGPP-style *.iNN info files before running $(MAKEINFO). * tests/txinfo19.test: New file. * tests/Makefile.am (TESTS): Add txinfo19.test. --- ChangeLog | 11 +++++++++++ lib/am/texibuild.am | 5 +++-- lib/am/texinfos.am | 32 ++++++++++++++++++++++---------- tests/Makefile.am | 1 + tests/Makefile.in | 1 + 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6d12a7c..4480112 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2003-02-19 Alexandre Duret-Lutz + + * lib/am/texinfos.am (install-info-am, uninstall-info-am): Install + DJGPP-style *.iNN info files. + (maintainer-clean-aminfo): Rewrite using the same pattern + as in uninstall-info-am. + * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase + DJGPP-style *.iNN info files before running $(MAKEINFO). + * tests/txinfo19.test: New file. + * tests/Makefile.am (TESTS): Add txinfo19.test. + 2003-02-18 Richard Dawe * lib/depcomp (dashmstdout): Cope with DOS filenames in diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am index d9a2cc6..af3dedf 100644 --- a/lib/am/texibuild.am +++ b/lib/am/texibuild.am @@ -1,5 +1,5 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 ## Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify @@ -24,7 +24,8 @@ ## makeinfo. Otherwise, if the texinfo file shrinks (or if you start ## using --no-split), you'll be left with some dead info files lying ## around -- dead files which will end up in the distribution. - @rm -f $@ $@-[0-9] $@-[0-9][0-9] +## *.iNN files are used on DJGPP. See the comments in install-info-am + @rm -f $@ $@-[0-9] $@-[0-9][0-9] ${@:.info=}.i[0-9] ${@:.info=}.i[0-9][0-9] ## It is wrong to have `info' files dependent on %DIRSTAMP%, because ## `info' files are distributed and %DIRSTAMP% isn't: a distributed file ## should never be dependent upon a non-distributed built file. diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index 72927d5..b3c5972 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -1,6 +1,6 @@ ## automake - create Makefile.in from Makefile.am -## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 ## Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify @@ -121,7 +121,18 @@ install-info-am: $(INFO_DEPS) @list='$(INFO_DEPS)'; \ for file in $$list; do \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ - for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; do \ +## 8+3 filesystems cannot deal with foo.info-N filenames: they all +## conflict. DJGPP comes with a tool, DJTAR, that will rename these +## files to foo.iNN while extracting the archive. DJGPP's makeinfo +## is patched to grok these filenames. However we have to account +## for the renaming when installing the info files. +## +## If $file == foo.info, then $file_i == foo.i. The reason we use two +## shell commands instead of one ('s|\.info$$|.i|') is so that a suffix-less +## `foo' becomes `foo.i' too. + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ ## Strip directory relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ @@ -193,9 +204,11 @@ uninstall-info-am: @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ +## DJGPP-style info files. See comment in install-info-am. + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if cd $(DESTDIR)$(infodir); then \ - echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9])"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9]; \ + echo " rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9])"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done else ! %?LOCAL-TEXIS% @@ -234,12 +247,11 @@ mostlyclean-aminfo: .PHONY: maintainer-clean-aminfo maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-aminfo: -## Eww. But how else can we find all the output files from makeinfo? - list='$(INFO_DEPS)'; for i in $$list; do \ - rm -f $$i; \ - if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ - rm -f $$i-[0-9]*; \ - fi; \ + @list='$(INFO_DEPS)'; for i in $$list; do \ +## .iNN files are DJGPP-style info files. + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done ?CYGNUS?.PHONY: clean-info diff --git a/tests/Makefile.am b/tests/Makefile.am index f0f653f..194ffd4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -424,6 +424,7 @@ txinfo13.test \ txinfo16.test \ txinfo17.test \ txinfo18.test \ +txinfo19.test \ transform.test \ unused.test \ vars.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 02adff9..b9bd15e 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -518,6 +518,7 @@ txinfo13.test \ txinfo16.test \ txinfo17.test \ txinfo18.test \ +txinfo19.test \ transform.test \ unused.test \ vars.test \ -- 2.7.4