This patch replaces sed with tr when t-avr checks for consistency between generated doc/avr-mmcu.texi and the compiler.
The method is the same as used in s-tm-texi in gcc/Makefile.in The problem was reported by Joerg. Does it work for you? Ok for trunk? Johann * config/avr/t-avr: Correct avr-mmcu.texi dependencies. (s-avr-mmcu-texi): Use tr instead of sed to factor out line endings.
Index: config/avr/t-avr =================================================================== --- config/avr/t-avr (revision 188005) +++ config/avr/t-avr (working copy) @@ -47,10 +47,26 @@ gen-avr-mmcu-texi$(build_exeext): $(srcd $(TM_H) $(AVR_MCUS) $(srcdir)/config/avr/avr-devices.c $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@ -avr-devices.o: s-avr-mmcu-texi +# Make sure that the -mmcu= documentation is in sync with the compiler. +$(srcdir)/doc/avr-mmcu.texi: s-avr-mmcu-texi; @true +# invoke.texi @includes avr-mmcu.texi. Put this dependency here instead +# of in the global Makefile so that developers of other backends are not +# bothered with AVR stuff. +$(srcdir)/doc/invoke.texi: $(srcdir)/doc/avr-mmcu.texi + +# The avr-mmcu.texi we want to compare against / check into svn should +# have unix-style line endings. To make this work on MinGW, remove \r. +# \r is not portable to Solaris tr, therefore we have a special case +# for ASCII. We use \r for other encodings like EBCDIC. s-avr-mmcu-texi: gen-avr-mmcu-texi$(build_exeext) - $(RUN_GEN) ./$< | sed -e 's:\r::g' > avr-mmcu.texi + $(RUN_GEN) ./$< > tmp-avr-mmcu.texi + case `echo X|tr X '\101'` in \ + A) tr -d '\015' < tmp-avr-mmcu.texi > tmp2-avr-mmcu.texi ;; \ + *) tr -d '\r' < tmp-avr-mmcu.texi > tmp2-avr-mmcu.texi ;; \ + esac + mv tmp2-avr-mmcu.texi tmp-avr-mmcu.texi + $(SHELL) $(srcdir)/../move-if-change tmp-avr-mmcu.texi avr-mmcu.texi @if cmp -s $(srcdir)/doc/avr-mmcu.texi avr-mmcu.texi; then \ $(STAMP) $@; \ else \