Take into account the prefix specified with --program-prefix when installing
and uninstalling the Ada tools.

Tested on x86_64-pc-linux-gnu, committed on trunk

2012-06-14  Jose Ruiz  <r...@adacore.com>

        * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
        Use the prefix specified with the --program-prefix configure option
        to determine the install name of the Ada tools.
        (ada.all.cross): Use a for loop to iterate over the set of Ada tools
        instead of duplicate the same processing.

Index: gcc-interface/Make-lang.in
===================================================================
--- gcc-interface/Make-lang.in  (revision 188605)
+++ gcc-interface/Make-lang.in  (working copy)
@@ -1,6 +1,6 @@
 # Top level -*- makefile -*- fragment for GNU Ada (GNAT).
 #   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-#   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+#   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
 #   Free Software Foundation, Inc.
 
 #This file is part of GCC.
@@ -79,6 +79,10 @@
        "INSTALL_DATA=$(INSTALL_DATA)"          \
        "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
 
+# List of Ada tools to build and install
+ADA_TOOLS=gnatbind gnatchop gnat gnatkr gnatlink gnatls gnatmake \
+          gnatname gnatprep gnatxref gnatfind gnatclean gnatsym
+
 # Say how to compile Ada programs.
 .SUFFIXES: .ada .adb .ads
 
@@ -586,58 +590,12 @@
 # Build hooks:
 
 ada.all.cross:
-       -if [ -f gnatbind$(exeext) ] ; \
-       then \
-         $(MV) gnatbind$(exeext)  gnatbind-cross$(exeext); \
-       fi
-       -if [ -f gnatchop$(exeext) ] ; \
-       then \
-         $(MV) gnatchop$(exeext)   gnatchop-cross$(exeext); \
-       fi
-       -if [ -f gnat$(exeext) ] ; \
-       then \
-          $(MV) gnat$(exeext)  gnat-cross$(exeext); \
-       fi
-       -if [ -f gnatkr$(exeext) ] ; \
-       then \
-         $(MV) gnatkr$(exeext)    gnatkr-cross$(exeext); \
-       fi
-       -if [ -f gnatlink$(exeext) ] ; \
-       then \
-          $(MV) gnatlink$(exeext)  gnatlink-cross$(exeext); \
-       fi
-       -if [ -f gnatls$(exeext) ] ; \
-       then \
-         $(MV) gnatls$(exeext)    gnatls-cross$(exeext); \
-       fi
-       -if [ -f gnatmake$(exeext) ] ; \
-       then \
-          $(MV) gnatmake$(exeext)  gnatmake-cross$(exeext); \
-       fi
-       -if [ -f gnatname$(exeext) ] ; \
-       then \
-          $(MV) gnatname$(exeext)  gnatname-cross$(exeext); \
-       fi
-       -if [ -f gnatprep$(exeext) ] ; \
-       then \
-          $(MV) gnatprep$(exeext)  gnatprep-cross$(exeext); \
-       fi
-       -if [ -f gnatxref$(exeext) ] ; \
-       then \
-          $(MV) gnatxref$(exeext)  gnatxref-cross$(exeext); \
-       fi
-       -if [ -f gnatfind$(exeext) ] ; \
-       then \
-          $(MV) gnatfind$(exeext)  gnatfind-cross$(exeext); \
-       fi
-       -if [ -f gnatclean$(exeext) ] ; \
-       then \
-          $(MV) gnatclean$(exeext)  gnatclean-cross$(exeext); \
-       fi
-       -if [ -f gnatsym$(exeext) ] ; \
-       then \
-          $(MV) gnatsym$(exeext)  gnatsym-cross$(exeext); \
-       fi
+       for tool in $(ADA_TOOLS) ; do \
+         if [ -f $$tool$(exeext) ] ; \
+         then \
+           $(MV) $$tool$(exeext) $$tool-cross$(exeext); \
+         fi; \
+       done
 
 ada.start.encap:
 ada.rest.encap:
@@ -756,205 +714,33 @@
 # Install hooks:
 # gnat1 is installed elsewhere as part of $(COMPILERS).
 
-# Install the binder program as $(target_noncanonical)-gnatbind
-# and also as either gnatbind (if native) or $(tooldir)/bin/gnatbind
-# likewise for gnatf, gnatchop, and gnatlink, gnatkr, gnatmake, gnat,
-# gnatprep, gnatls, gnatxref, gnatfind, gnatname, gnatclean,
-# gnatsym
+# Install the binder program as gnatbind (native) or $(prefix)gnatbind
+# (cross). $(prefix) comes from the --program-prefix configure option,
+# or from the --target option if the former is not specified.
+# Do the same for the rest of the Ada tools (gnatchop, gnat, gnatkr,
+# gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatxref, gnatfind,
+# gnatclean, gnatsym).
+# gnatsym is only built on some platforms, including VMS.
+# gnatdll is only used on Windows.
+# vxaddr2line is only used for cross VxWorks ports (it calls the underlying
+# cross addr2line).
 ada.install-common:
        $(MKDIR) $(DESTDIR)$(bindir)
        -if [ -f gnat1$(exeext) ] ; \
-        then \
-         if [ -f gnatbind-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatbind$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatbind-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatbind$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-             rm -f $(DESTDIR)$(tooldir)/bin/gnatbind$(exeext); \
-             $(INSTALL_PROGRAM) gnatbind-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatbind$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatbind$(exeext); \
-           $(INSTALL_PROGRAM) gnatbind$(exeext) 
$(DESTDIR)$(bindir)/gnatbind$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
        then \
-         if [ -f gnatchop-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatchop$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatchop-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatchop$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatchop$(exeext); \
-              $(INSTALL_PROGRAM) gnatchop-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatchop$(exeext); \
+         for tool in $(ADA_TOOLS) ; do \
+           if [ -f $$tool-cross$(exeext) ] ; \
+           then \
+             install_name=`echo $$tool|sed 
'$(program_transform_name)'`$(exeext); \
+             $(RM) $(DESTDIR)$(bindir)/$$install_name; \
+             $(INSTALL_PROGRAM) $$tool-cross$(exeext) 
$(DESTDIR)$(bindir)/$$install_name; \
+           else \
+             $(RM) $(DESTDIR)$(bindir)/$$tool$(exeext); \
+             $(INSTALL_PROGRAM) $$tool$(exeext) 
$(DESTDIR)$(bindir)/$$tool$(exeext); \
            fi ; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatchop$(exeext); \
-           $(INSTALL_PROGRAM) gnatchop$(exeext) 
$(DESTDIR)$(bindir)/gnatchop$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnat-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnat$(exeext); \
-           $(INSTALL_PROGRAM) gnat-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnat$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnat$(exeext); \
-              $(INSTALL_PROGRAM) gnat-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnat$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnat$(exeext); \
-           $(INSTALL_PROGRAM) gnat$(exeext) $(DESTDIR)$(bindir)/gnat$(exeext); 
\
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatkr-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatkr$(exeext); \
-           $(INSTALL_PROGRAM) gnatkr-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatkr$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatkr$(exeext); \
-              $(INSTALL_PROGRAM) gnatkr-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatkr$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatkr$(exeext); \
-           $(INSTALL_PROGRAM) gnatkr$(exeext) 
$(DESTDIR)$(bindir)/gnatkr$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatlink-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatlink$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatlink-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatlink$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatlink$(exeext); \
-              $(INSTALL_PROGRAM) gnatlink-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatlink$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatlink$(exeext); \
-           $(INSTALL_PROGRAM) gnatlink$(exeext) 
$(DESTDIR)$(bindir)/gnatlink$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatls-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatls$(exeext); \
-           $(INSTALL_PROGRAM) gnatls-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatls$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatls$(exeext); \
-              $(INSTALL_PROGRAM) gnatls-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatls$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatls$(exeext); \
-           $(INSTALL_PROGRAM) gnatls$(exeext) 
$(DESTDIR)$(bindir)/gnatls$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatmake-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatmake$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatmake-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatmake$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatmake$(exeext); \
-              $(INSTALL_PROGRAM) gnatmake-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatmake$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatmake$(exeext); \
-           $(INSTALL_PROGRAM) gnatmake$(exeext) 
$(DESTDIR)$(bindir)/gnatmake$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatname-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatname$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatname-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatname$(exeext); \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatname$(exeext); \
-           $(INSTALL_PROGRAM) gnatname$(exeext) 
$(DESTDIR)$(bindir)/gnatname$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatprep-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatprep$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatprep-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatprep$(exeext); \
-           if [ -d $(DESTDIR)$(tooldir)/bin/. ] ; then \
-              rm -f $(DESTDIR)$(tooldir)/bin/gnatprep$(exeext); \
-              $(INSTALL_PROGRAM) gnatprep-cross$(exeext) 
$(DESTDIR)$(tooldir)/bin/gnatprep$(exeext); \
-           fi; \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatprep$(exeext); \
-           $(INSTALL_PROGRAM) gnatprep$(exeext) 
$(DESTDIR)$(bindir)/gnatprep$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatxref-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatxref$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatxref-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatxref$(exeext); \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatxref$(exeext); \
-           $(INSTALL_PROGRAM) gnatxref$(exeext) 
$(DESTDIR)$(bindir)/gnatxref$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatfind-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatfind$(exeext); 
\
-           $(INSTALL_PROGRAM) gnatfind-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatfind$(exeext); \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatfind$(exeext); \
-           $(INSTALL_PROGRAM) gnatfind$(exeext) 
$(DESTDIR)$(bindir)/gnatfind$(exeext); \
-         fi ; \
-       fi
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatclean-cross$(exeext) ] ; \
-         then \
-           $(RM) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatclean$(exeext); \
-           $(INSTALL_PROGRAM) gnatclean-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatclean$(exeext); \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatclean$(exeext); \
-           $(INSTALL_PROGRAM) gnatclean$(exeext) 
$(DESTDIR)$(bindir)/gnatclean$(exeext); \
-         fi ; \
-       fi
-#
-# Gnatsym is only built on some platforms, including VMS
-#
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-         if [ -f gnatsym-cross$(exeext) ] ; \
-         then \
-           $(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatsym$(exeext); \
-           $(INSTALL_PROGRAM) gnatsym-cross$(exeext) 
$(DESTDIR)$(bindir)/$(target_noncanonical)-gnatsym$(exeext); \
-         else \
-           $(RM) $(DESTDIR)$(bindir)/gnatsym$(exeext); \
-           $(INSTALL_PROGRAM) gnatsym$(exeext) 
$(DESTDIR)$(bindir)/gnatsym$(exeext); \
-         fi ; \
-       fi
-#
-# Gnatdll is only used on Windows.
-#
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
-           $(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext); \
-           $(INSTALL_PROGRAM) gnatdll$(exeext) 
$(DESTDIR)$(bindir)/gnatdll$(exeext); \
-       fi
-#
-# vxaddr2line is only used for cross ports (it calls the underlying cross
-# addr2line).
-#
-       -if [ -f gnat1$(exeext) ] ; \
-       then \
+         done; \
+         $(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext); \
+         $(INSTALL_PROGRAM) gnatdll$(exeext) 
$(DESTDIR)$(bindir)/gnatdll$(exeext); \
          if [ -f vxaddr2line$(exeext) ] ; \
          then \
            $(RM) $(DESTDIR)$(bindir)/vxaddr2line$(exeext); \
@@ -980,50 +766,12 @@
 ada.install-plugin:
 
 ada.uninstall:
-       -$(RM) $(DESTDIR)$(bindir)/gnatbind$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatchop$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnat$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatfind$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatdll$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatkr$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatlink$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatls$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatmake$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatname$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatprep$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatxref$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatclean$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/gnatsym$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatbind$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatchop$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnat$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatfind$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatdll$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatkr$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatlink$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatls$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatmake$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatname$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatprep$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatxref$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatclean$(exeext)
-       -$(RM) $(DESTDIR)$(bindir)/$(target_noncanonical)-gnatsym$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatbind$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatchop$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnat$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatfind$(exeext)
+       for tool in $(ADA_TOOLS) ; do \
+         install_name=`echo $$tool|sed '$(program_transform_name)'`$(exeext); \
+         -$(RM) $(DESTDIR)$(bindir)/$$install_name; \
+       done
        -$(RM) $(DESTDIR)$(tooldir)/bin/gnatdll$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatkr$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatlink$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatls$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatmake$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatname$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatprep$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatxref$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatclean$(exeext)
-       -$(RM) $(DESTDIR)$(tooldir)/bin/gnatsym$(exeext)
-# Gnatchop is only used on VMS
-       -$(RM) $(DESTDIR)$(bindir)/gnatchop$(exeext)
+       -$(RM) $(DESTDIR)$(tooldir)/bin/vxaddr2line$(exeext)
 
 # Clean hooks:
 # A lot of the ancillary files are deleted by the main makefile.

Reply via email to