re PR ada/59382 (gnatmake is not able to compile libraries)

PR ada/59382
gnattools/
	* configure.ac (target parameterization): Rewrite.
	* configure: Regenerate.
gcc/ada/
	* indepsw-darwin.adb: New file.

From-SVN: r205681
This commit is contained in:
Eric Botcazou 2013-12-04 21:25:11 +00:00 committed by Eric Botcazou
parent edd280545f
commit ff6c0ead2a
5 changed files with 156 additions and 108 deletions

View File

@ -1,3 +1,8 @@
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
PR ada/59382
* indepsw-darwin.adb: New file.
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (components_to_record): Add specific handling

View File

@ -0,0 +1,67 @@
------------------------------------------------------------------------------
-- --
-- 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;

View File

@ -1,3 +1,9 @@
2013-12-04 Eric Botcazou <ebotcazou@adacore.com>
PR ada/59382
* configure.ac (target parameterization): Rewrite.
* configure: Regenerate.
2013-09-01 Eric Botcazou <ebotcazou@adacore.com>
Iain Sandoe <iain@codesourcery.com>

93
gnattools/configure vendored
View File

@ -2029,66 +2029,59 @@ 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"
;;
sparc-sun-solaris*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
;;
*86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
;;
*86-*-linux* \
| powerpc*-*-linux* \
| *ia64-*-linux* \
| alpha*-*-linux* \
| sparc*-*-linux* \
| hppa*-*-linux* \
| *x86_64-*-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"
;;
*86-*-freebsd*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb"
;;
hppa*-hp-hpux10*) # Unlike hpux11
;;
hppa*-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb"
;;
*-ibm-aix*)
*-*-aix*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-aix.adb \
indepsw.adb<indepsw-aix.adb"
;;
alpha*-dec-vms* | alpha*-dec-openvms* | alpha*-dec-vms* \
| alpha*-hp-vms* | alpha*-hp-openvms* | alpha*-hp-vms*)
*-*-darwin*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb \
indepsw.adb<indepsw-darwin.adb"
;;
*-*-freebsd*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb"
;;
*-*-linux*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.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"
;;
*-*-vxworks*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb"
;;
hppa*-hp-hpux10*)
;;
hppa*-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb"
;;
ia64-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-ia64-hpux.adb"
;;
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)
@ -2097,14 +2090,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.

View File

@ -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"
;;
sparc-sun-solaris*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
;;
*86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb"
;;
*86-*-linux* \
| powerpc*-*-linux* \
| *ia64-*-linux* \
| alpha*-*-linux* \
| sparc*-*-linux* \
| hppa*-*-linux* \
| *x86_64-*-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"
;;
*86-*-freebsd*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb"
;;
hppa*-hp-hpux10*) # Unlike hpux11
;;
hppa*-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb"
;;
*-ibm-aix*)
*-*-aix*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-aix.adb \
indepsw.adb<indepsw-aix.adb"
;;
alpha*-dec-vms* | alpha*-dec-openvms* | alpha*-dec-vms* \
| alpha*-hp-vms* | alpha*-hp-openvms* | alpha*-hp-vms*)
*-*-darwin*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb \
indepsw.adb<indepsw-darwin.adb"
;;
*-*-freebsd*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb"
;;
*-*-linux*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.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"
;;
*-*-vxworks*)
TOOLS_TARGET_PAIRS="\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb"
;;
hppa*-hp-hpux10*)
;;
hppa*-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-hpux.adb"
;;
ia64-hp-hpux11*)
TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-ia64-hpux.adb"
;;
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.