summaryrefslogtreecommitdiff
path: root/gcc/ada/mlib-utl.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-27 12:27:53 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-27 12:27:53 +0000
commitba1359ee6f65008d9b5c3a2761ce847dc869cb57 (patch)
treeb10661d75b3825e90616a0f19dcab901c24cc3d5 /gcc/ada/mlib-utl.adb
parentec21a388fcbb2ad6dffac00ab8b1d38fca07f203 (diff)
downloadgcc-ba1359ee6f65008d9b5c3a2761ce847dc869cb57.tar.gz
2004-10-26 Nicolas Setton <setton@act-europe.fr>
* mlib-tgt-darwin.adb: New file. * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb (Archive_Indexer_Options): New subprogram body. * Makefile.in: Add support for building shared libraries under Darwin. (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing the low level EH init subprogram to be called from __gnat_initialize. * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram, indicates which options to pass to the archive indexer. * mlib-utl.adb: Add support for calling ranlib with additional options. This is needed for instance under Mac OS X. (Ranlib_Options): New global variable, used to store the potential options to pass to ranlib. (Ar): Use Ranlib_Options when spawning ranlib. (Initialize): Set the value of ranlib option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89639 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/mlib-utl.adb')
-rw-r--r--gcc/ada/mlib-utl.adb21
1 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ada/mlib-utl.adb b/gcc/ada/mlib-utl.adb
index f61386af3cc..4d21c2fa8ea 100644
--- a/gcc/ada/mlib-utl.adb
+++ b/gcc/ada/mlib-utl.adb
@@ -36,17 +36,18 @@ with GNAT; use GNAT;
package body MLib.Utl is
- Initialized : Boolean := False;
+ Initialized : Boolean := False;
- Gcc_Name : constant String := "gcc";
- Gcc_Exec : OS_Lib.String_Access;
+ Gcc_Name : constant String := "gcc";
+ Gcc_Exec : OS_Lib.String_Access;
- Ar_Name : OS_Lib.String_Access;
- Ar_Exec : OS_Lib.String_Access;
- Ar_Options : OS_Lib.String_List_Access;
+ Ar_Name : OS_Lib.String_Access;
+ Ar_Exec : OS_Lib.String_Access;
+ Ar_Options : OS_Lib.String_List_Access;
- Ranlib_Name : OS_Lib.String_Access;
- Ranlib_Exec : OS_Lib.String_Access := null;
+ Ranlib_Name : OS_Lib.String_Access;
+ Ranlib_Exec : OS_Lib.String_Access := null;
+ Ranlib_Options : OS_Lib.String_List_Access := null;
procedure Initialize;
-- Look for the tools in the path and record the full path for each one
@@ -116,7 +117,7 @@ package body MLib.Utl is
OS_Lib.Spawn
(Ranlib_Exec.all,
- (1 => Arguments (Ar_Options'Length + 1)),
+ Ranlib_Options.all & (Arguments (Ar_Options'Length + 1)),
Success);
if not Success then
@@ -284,6 +285,8 @@ package body MLib.Utl is
Write_Line (Ranlib_Exec.all);
end if;
end if;
+
+ Ranlib_Options := Archive_Indexer_Options;
end if;
end Initialize;