RFA: Fix bootstrap/45888
diff mbox

Message ID 20101124002520.yzhze71e8cwso4c8-nzlynne@webmail.spamcop.net
State New
Headers show

Commit Message

Joern Rennecke Nov. 24, 2010, 5:25 a.m. UTC
As discussed in the PR, this patch removes the extra \r characters from the
MinGW generated tm.texi so that can match the one from svn.

Bootstrapped in i686-pc-linux-gnu .

Cesar Strauss has confirmed that this patch fixes the build issue on MinGW.
2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR bootstrap/45888
	* Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
	Fix target.def pathname in timestamp comparison.

Comments

Ralf Wildenhues Nov. 25, 2010, 6:04 a.m. UTC | #1
* Joern Rennecke wrote on Wed, Nov 24, 2010 at 06:25:20AM CET:
> As discussed in the PR, this patch removes the extra \r characters from the
> MinGW generated tm.texi so that can match the one from svn.
> 
> Bootstrapped in i686-pc-linux-gnu .
> 
> Cesar Strauss has confirmed that this patch fixes the build issue on MinGW.

This is OK but please put the comments before the makefile rules (they
are not portable inside rules, and even if this makefile is fo GNU make
only, I think it is better to be consistent).

Thanks,
Ralf

> 2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
> 	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
> 
> 	PR bootstrap/45888
> 	* Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
> 	Fix target.def pathname in timestamp comparison.

> --- Makefile.in	(revision 166756)
> +++ Makefile.in	(working copy)
> @@ -3705,11 +3705,20 @@ s-tm-texi: $(srcdir)/doc/../doc/tm.texi
>  s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
>  	$(RUN_GEN) build/genhooks$(build_exeext) \
>  			$(srcdir)/doc/tm.texi.in > tmp-tm.texi
> +	@# The tm.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.
> +	case `echo X|tr X '\101'` in \
> +	  A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
> + 	  *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
> +	esac
> +	mv tmp2-tm.texi tmp-tm.texi
>  	$(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi
>  	@if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \
>  	  $(STAMP) $@; \
>  	elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \
> -	  && test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/target.def; then \
> +	  && test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def; then \
>  	  echo >&2 ; \
>  	  echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \
>  	  false; \
Richard Biener Nov. 25, 2010, 10:38 a.m. UTC | #2
On Thu, Nov 25, 2010 at 7:04 AM, Ralf Wildenhues <Ralf.Wildenhues@gmx.de> wrote:
> * Joern Rennecke wrote on Wed, Nov 24, 2010 at 06:25:20AM CET:
>> As discussed in the PR, this patch removes the extra \r characters from the
>> MinGW generated tm.texi so that can match the one from svn.
>>
>> Bootstrapped in i686-pc-linux-gnu .
>>
>> Cesar Strauss has confirmed that this patch fixes the build issue on MinGW.
>
> This is OK but please put the comments before the makefile rules (they
> are not portable inside rules, and even if this makefile is fo GNU make
> only, I think it is better to be consistent).

Can we please instead remove this bullshit^W*** thing of license checking rule?

Thanks.
Richard.

> Thanks,
> Ralf
>
>> 2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
>>           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
>>
>>       PR bootstrap/45888
>>       * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
>>       Fix target.def pathname in timestamp comparison.
>
>> --- Makefile.in       (revision 166756)
>> +++ Makefile.in       (working copy)
>> @@ -3705,11 +3705,20 @@ s-tm-texi: $(srcdir)/doc/../doc/tm.texi
>>  s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
>>       $(RUN_GEN) build/genhooks$(build_exeext) \
>>                       $(srcdir)/doc/tm.texi.in > tmp-tm.texi
>> +     @# The tm.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.
>> +     case `echo X|tr X '\101'` in \
>> +       A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
>> +       *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
>> +     esac
>> +     mv tmp2-tm.texi tmp-tm.texi
>>       $(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi
>>       @if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \
>>         $(STAMP) $@; \
>>       elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \
>> -       && test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/target.def; then \
>> +       && test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def; then \
>>         echo >&2 ; \
>>         echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \
>>         false; \
>
Joern Rennecke Nov. 25, 2010, 11:59 a.m. UTC | #3
Quoting Richard Guenther <richard.guenther@gmail.com>:

> Can we please instead remove this bullshit^W*** thing of license   
> checking rule?

I would love to.  But you'd have to talk to the FSF about allowing to  
re-license GPLed documentation under the GFDL, or somehow make these
two licenses compatible.
Ralf Wildenhues Nov. 25, 2010, 6:25 p.m. UTC | #4
* Joern Rennecke wrote on Thu, Nov 25, 2010 at 12:59:41PM CET:
> Quoting Richard Guenther:
> 
> >Can we please instead remove this bullshit^W*** thing of license
> >checking rule?
> 
> I would love to.  But you'd have to talk to the FSF about allowing
> to re-license GPLed documentation under the GFDL, or somehow make
> these two licenses compatible.

But can we decouple the resolution of legal issues from build system
hassles?  IOW, is it legally necessary to let 'make' fail or would it
alternatively be sufficient if somebody or some lower-profile regression
check ensured that we are in the clear?

Thanks,
Ralf
Mike Stump Nov. 25, 2010, 7:01 p.m. UTC | #5
On Nov 25, 2010, at 10:25 AM, Ralf Wildenhues wrote:
> But can we decouple the resolution of legal issues from build system
> hassles?  IOW, is it legally necessary to let 'make' fail or would it
> alternatively be sufficient if somebody or some lower-profile regression
> check ensured that we are in the clear?

Check in trigger (not that we ever use those things)?  :-)

Patch
diff mbox

Index: Makefile.in
===================================================================
--- Makefile.in	(revision 166756)
+++ Makefile.in	(working copy)
@@ -3705,11 +3705,20 @@  s-tm-texi: $(srcdir)/doc/../doc/tm.texi
 s-tm-texi: build/genhooks$(build_exeext) $(srcdir)/doc/tm.texi.in
 	$(RUN_GEN) build/genhooks$(build_exeext) \
 			$(srcdir)/doc/tm.texi.in > tmp-tm.texi
+	@# The tm.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.
+	case `echo X|tr X '\101'` in \
+	  A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
+ 	  *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
+	esac
+	mv tmp2-tm.texi tmp-tm.texi
 	$(SHELL) $(srcdir)/../move-if-change tmp-tm.texi tm.texi
 	@if cmp -s $(srcdir)/doc/tm.texi tm.texi; then \
 	  $(STAMP) $@; \
 	elif test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/tm.texi.in \
-	  && test $(srcdir)/doc/tm.texi -nt $(srcdir)/doc/target.def; then \
+	  && test $(srcdir)/doc/tm.texi -nt $(srcdir)/target.def; then \
 	  echo >&2 ; \
 	  echo You should edit $(srcdir)/doc/tm.texi.in rather than $(srcdir)/doc/tm.texi . >&2 ; \
 	  false; \