diff mbox

Guard special installs in install-driver

Message ID 87vbuph5pb.fsf@kepler.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge April 4, 2014, 8:14 a.m. UTC
Hi!

On Mon, 31 Mar 2014 13:50:25 +0200 (CEST), Richard Biener <rguenther@suse.de> wrote:
> 	PR bootstrap/60719
> 	* Makefile.in (install-driver): Guard extra installs with special
> 	names properly.
> 
> Index: gcc/Makefile.in
> ===================================================================
> *** gcc/Makefile.in	(revision 208955)
> --- gcc/Makefile.in	(working copy)
> *************** install-common: native lang.install-comm
> *** 3205,3214 ****
>   install-driver: installdirs xgcc$(exeext)
>   	-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
>   	-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
> ! 	-rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext)
> ! 	-( cd $(DESTDIR)$(bindir) && \
> ! 	   $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) )
> ! 	-if [ ! -f gcc-cross$(exeext) ] ; then \
>   	  rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-tmp$(exeext); \
>   	  ( cd $(DESTDIR)$(bindir) && \
>   	    $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-tmp$(exeext) && \
> --- 3205,3217 ----
>   install-driver: installdirs xgcc$(exeext)
>   	-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
>   	-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
> ! 	-if [ "$(GCC_INSTALL_NAME)" != "$(target_noncanonical)-gcc-$(version)" ]; then \
> ! 	  -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext) \
> ! 	  -( cd $(DESTDIR)$(bindir) && \
> ! 	     $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) ) \
> ! 	fi
> ! 	-if [ ! -f gcc-cross$(exeext) ] \
> ! 	    && [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \

    --- build/log_install
    +++ build/log_install
    @@ -332,10 +332,16 @@ mkdir -p -- /home/thomas/tmp/source/gcc/trunk-work/build.install/share/locale/zh
     /usr/bin/install -c -m 644 po/zh_TW.gmo /home/thomas/tmp/source/gcc/trunk-work/build.install/share/locale/zh_TW/LC_MESSAGES/gcc.mo
     rm -f /home/thomas/tmp/source/gcc/trunk-work/build.install/bin/gcc
     /usr/bin/install -c xgcc /home/thomas/tmp/source/gcc/trunk-work/build.install/bin/gcc
    -rm -f /home/thomas/tmp/source/gcc/trunk-work/build.install/bin/x86_64-unknown-linux-gnu-gcc-4.9.0
    -( cd /home/thomas/tmp/source/gcc/trunk-work/build.install/bin && \
    -          ln gcc x86_64-unknown-linux-gnu-gcc-4.9.0 )
    -if [ ! -f gcc-cross ] ; then \
    +if [ "gcc" != "x86_64-unknown-linux-gnu-gcc-4.9.0" ]; then \
    +         -rm -f /home/thomas/tmp/source/gcc/trunk-work/build.install/bin/x86_64-unknown-linux-gnu-gcc-4.9.0 \
    +         -( cd /home/thomas/tmp/source/gcc/trunk-work/build.install/bin && \
    +            ln gcc x86_64-unknown-linux-gnu-gcc-4.9.0 ) \
    +       fi
    +/bin/bash: -c: line 2: syntax error near unexpected token `('
    +/bin/bash: -c: line 2: `  -( cd /home/thomas/tmp/source/gcc/trunk-work/build.install/bin && \'
    +make[2]: [install-driver] Error 1 (ignored)
    +if [ ! -f gcc-cross ] \
    +           && [ "gcc" != "x86_64-unknown-linux-gnu-gcc" ]; then \
              rm -f /home/thomas/tmp/source/gcc/trunk-work/build.install/bin/x86_64-unknown-linux-gnu-gcc-tmp; \
              ( cd /home/thomas/tmp/source/gcc/trunk-work/build.install/bin && \
                ln gcc x86_64-unknown-linux-gnu-gcc-tmp && \

The minus sign as the first character after the tab is special make
syntax.  The commands are now running in one subshell spawned by make, so
need to be separated by semicolons.  Fixed in r209072 as obvious:

commit 23913915572ebc3bee410dc2b1115199865f179e
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 4 08:09:23 2014 +0000

    Fix shell scripting.
    
    	PR bootstrap/60719
    	* Makefile.in (install-driver): Fix shell scripting.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209072 138bc75d-0d04-0410-961f-82ee72b054a4



Grüße,
 Thomas
diff mbox

Patch

diff --git gcc/ChangeLog gcc/ChangeLog
index 2a2e948..5a25f78 100644
--- gcc/ChangeLog
+++ gcc/ChangeLog
@@ -1,3 +1,8 @@ 
+2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR bootstrap/60719
+	* Makefile.in (install-driver): Fix shell scripting.
+
 2014-04-03  Cong Hou  <congh@google.com>
 
 	PR tree-optimization/60505
diff --git gcc/Makefile.in gcc/Makefile.in
index 8cdee22..660616e 100644
--- gcc/Makefile.in
+++ gcc/Makefile.in
@@ -3206,9 +3206,9 @@  install-driver: installdirs xgcc$(exeext)
 	-rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
 	-$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext)
 	-if [ "$(GCC_INSTALL_NAME)" != "$(target_noncanonical)-gcc-$(version)" ]; then \
-	  -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext) \
-	  -( cd $(DESTDIR)$(bindir) && \
-	     $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) ) \
+	  rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext); \
+	  ( cd $(DESTDIR)$(bindir) && \
+	    $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) ); \
 	fi
 	-if [ ! -f gcc-cross$(exeext) ] \
 	    && [ "$(GCC_INSTALL_NAME)" != "$(GCC_TARGET_INSTALL_NAME)" ]; then \