This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gfortran] install gfortran as target-gfortran, PR 21143
- From: Andreas Schwab <schwab at suse dot de>
- To: FX Coudert <fxcoudert at gmail dot com>
- Cc: gfortran <fortran at gcc dot gnu dot org>, patch <gcc-patches at gcc dot gnu dot org>,ralf dot corsepius at rtems dot org
- Date: Sun, 30 Oct 2005 22:55:16 +0100
- Subject: Re: [gfortran] install gfortran as target-gfortran, PR 21143
- References: <43652509.3090701@gmail.com>
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."