The part of the configure script of the gnattools/ directory that deals with
the target parameterization is out of date. The attached patch consolidates
and cleans it up and also includes a new file for Darwin.
Tested on x86-64/Linux and SPARC/Solaris, applied on mainline and 4.8 branch.
2013-12-04 Eric Botcazou <ebotca...@adacore.com>
PR ada/59382
gnattools/
* configure.ac (target parameterization): Rewrite.
* configure: Regenerate.
gcc/ada/
* indepsw-darwin.adb: New file.
--
Eric Botcazou
Index: configure.ac
===================================================================
--- configure.ac (revision 205654)
+++ configure.ac (working copy)
@@ -69,66 +69,59 @@ AC_SUBST(EXTRA_GNATTOOLS)
# Per-target case statement
# -------------------------
case "${target}" in
- alpha*-dec-vx*) # Unlike all other Vxworks
- ;;
- m68k*-wrs-vx* \
- | powerpc*-wrs-vxworks \
- | sparc*-wrs-vx* \
- | *86-wrs-vxworks \
- | mips*-wrs-vx*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb"
+ *-*-aix*)
+ TOOLS_TARGET_PAIRS="\
+ mlib-tgt-specific.adb<mlib-tgt-specific-aix.adb \
+ indepsw.adb<indepsw-aix.adb"
;;
- sparc-sun-solaris*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
+ *-*-darwin*)
+ TOOLS_TARGET_PAIRS="\
+ mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb \
+ indepsw.adb<indepsw-darwin.adb"
;;
- *86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
+ *-*-freebsd*)
+ TOOLS_TARGET_PAIRS="\
+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
+ indepsw.adb<indepsw-gnu.adb"
;;
- *86-*-linux* \
- | powerpc*-*-linux* \
- | *ia64-*-linux* \
- | alpha*-*-linux* \
- | sparc*-*-linux* \
- | hppa*-*-linux* \
- | *x86_64-*-linux*)
+ *-*-linux*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb"
;;
- s390*-*-linux*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb"
+ *-*-lynxos*)
+ TOOLS_TARGET_PAIRS="\
+ mlib-tgt-specific.adb<mlib-tgt-specific-lynxos.adb \
+ indepsw.adb<indepsw-gnu.adb"
+ ;;
+ *-*-solaris*)
+ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
;;
- *86-*-freebsd*)
+ *-*-vxworks*)
TOOLS_TARGET_PAIRS="\
- mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
+ mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb"
;;
- hppa*-hp-hpux10*) # Unlike hpux11
+ hppa*-hp-hpux10*)
;;
hppa*-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb"
;;
- *-ibm-aix*)
- TOOLS_TARGET_PAIRS="\
- mlib-tgt-specific.adb<mlib-tgt-specific-aix.adb \
- indepsw.adb<indepsw-aix.adb"
+ ia64-hp-hpux11*)
+ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-ia64-hpux.adb"
;;
- alpha*-dec-vms* | alpha*-dec-openvms* | alpha*-dec-vms* \
- | alpha*-hp-vms* | alpha*-hp-openvms* | alpha*-hp-vms*)
+ alpha*-*-vms* | alpha*-*-openvms*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-vms-alpha.adb \
symbols.adb<symbols-vms.adb \
symbols-processing.adb<symbols-processing-vms-alpha.adb"
-
EXTRA_GNATTOOLS='../../gnatlbr$(exeext) ../../gnatsym$(exeext)'
;;
- ia64*-dec-vms* | ia64*-dec-openvms* | ia64*-dec-vms* \
- | ia64*-hp-vms* | ia64*-hp-openvms* | ia64*-hp-vms*)
+ ia64-*-vms* | ia64-*-openvms*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-vms-ia64.adb \
symbols.adb<symbols-vms.adb \
symbols-processing.adb<symbols-processing-vms-ia64.adb"
-
EXTRA_GNATTOOLS='../../gnatlbr$(exeext) ../../gnatsym$(exeext)'
;;
*-*-cygwin32* | *-*-mingw32* | *-*-pe)
@@ -137,14 +130,6 @@ case "${target}" in
indepsw.adb<indepsw-mingw.adb"
EXTRA_GNATTOOLS='../../gnatdll$(exeext)'
;;
- *-*-darwin*)
- TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb"
- ;;
- *-*-lynxos)
- TOOLS_TARGET_PAIRS="\
- mlib-tgt-specific.adb<mlib-tgt-specific-lynxos.adb \
- indepsw.adb<indepsw-gnu.adb"
- ;;
esac
# From user or toplevel makefile.
------------------------------------------------------------------------------
-- --
-- GNAT COMPILER COMPONENTS --
-- --
-- I N D E P S W --
-- --
-- B o d y --
-- (Darwin version) --
-- --
-- Copyright (C) 2013, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
-- This is the Darwin version
package body Indepsw is
Map_Switch : aliased constant String := "-Wl,-map,";
-------------
-- Convert --
-------------
procedure Convert
(Switch : Switch_Kind;
Argument : String;
To : out String_List_Access)
is
begin
case Switch is
when Map_File =>
To := new Argument_List'(1 => new String'(Map_Switch & Argument));
end case;
end Convert;
------------------
-- Is_Supported --
------------------
function Is_Supported (Switch : Switch_Kind) return Boolean is
begin
case Switch is
when Map_File =>
return True;
end case;
end Is_Supported;
end Indepsw;