This is the mail archive of the gcc-patches@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: [PATCH] Guard special installs in install-driver


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

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 \


GrÃÃe,
 Thomas

Attachment: pgpKKT6Ve2s6F.pgp
Description: PGP signature


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