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: [gfortran] install gfortran as target-gfortran, PR 21143


FX Coudert <fxcoudert@gmail.com> writes:

> Index: Make-lang.in
> ===================================================================
> --- Make-lang.in	(revision 106019)
> +++ Make-lang.in	(working copy)
> @@ -44,7 +44,7 @@
>  GFORTRAN_INSTALL_NAME := $(shell echo gfortran|sed '$(program_transform_name)')
>  
>  # Actual name to use when installing a cross-compiler.
> -GFORTRAN_CROSS_NAME := $(shell echo gfortran|sed '$(program_transform_cross_name)')
> +GFORTRAN_TARGET_INSTALL_NAME := $(shell echo gfortran|sed '$(program_transform_name)')

This is wrong. GFORTRAN_TARGET_INSTALL_NAME is used in the native
installation to add the link $(target_alias)-gfortran.
GFORTRAN_INSTALL_NAME already has the right name for a cross installation,
it just needs to be used.

This patch brings the install target closer to the c++ install target and
has been tested on ppc by building and installing a native compiler and a
cross compiler for m68k.

Andreas.

2005-10-30  Andreas Schwab  <schwab@suse.de>

	* Make-lang.in (GFORTRAN_TARGET_INSTALL_NAME): Define.
	(GFORTRAN_CROSS_NAME): Remove.
	(fortran.install-common): Correctly install a cross compiler.
	(fortran.uninstall): Use GFORTRAN_TARGET_INSTALL_NAME instead of
	GFORTRAN_CROSS_NAME.

Index: gcc/fortran/Make-lang.in
===================================================================
--- gcc/fortran/Make-lang.in	(revision 105990)
+++ gcc/fortran/Make-lang.in	(working copy)
@@ -42,9 +42,7 @@
 
 # Actual name to use when installing a native compiler.
 GFORTRAN_INSTALL_NAME := $(shell echo gfortran|sed '$(program_transform_name)')
-
-# Actual name to use when installing a cross-compiler.
-GFORTRAN_CROSS_NAME := $(shell echo gfortran|sed '$(program_transform_cross_name)')
+GFORTRAN_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gfortran|sed '$(program_transform_name)')
 
 #^L
 
@@ -189,18 +187,15 @@ fortran.install-normal:
 # and also as either gfortran (if native) or $(tooldir)/bin/gfortran.
 fortran.install-common: installdirs
 	-if [ -f f951$(exeext) ] ; then \
+	  rm -f $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
+	  $(INSTALL_PROGRAM) gfortran$(exeext) $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
+	  chmod a+x $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
 	  if [ -f gfortran-cross$(exeext) ] ; then \
-	    rm -f $(DESTDIR)$(bindir)/$(GFORTRAN_CROSS_NAME)$(exeext); \
-	    $(INSTALL_PROGRAM) gfortran-cross$(exeext) $(DESTDIR)$(bindir)/$(GFORTRAN_CROSS_NAME)$(exeext); \
-	    chmod a+x $(DESTDIR)$(bindir)/$(GFORTRAN_CROSS_NAME)$(exeext); \
 	    if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \
 	      rm -f $(DESTDIR)$(gcc_tooldir)/bin/gfortran$(exeext); \
 	      $(INSTALL_PROGRAM) gfortran-cross$(exeext) $(DESTDIR)$(gcc_tooldir)/bin/gfortran$(exeext); \
 	    else true; fi; \
 	  else \
-	    rm -f $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
-	    $(INSTALL_PROGRAM) gfortran$(exeext) $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
-	    chmod a+x $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
 	    rm -f $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
 	    $(LN) $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext) $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
 	  fi ; \
@@ -223,7 +218,7 @@ fortran.uninstall:
 	else : ; fi; \
 	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
 	rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
-	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_CROSS_NAME)$(exeext); \
+	rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
 	rm -rf $(DESTDIR)$(infodir)/gfortran.info*
 
 #

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


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