1
# DP: - When running the ACATS, look for the gnat tools in their new
2
# DP: directory (build/gnattools), and for the shared libraries in
3
# DP: build/gcc/ada/rts-shared-zcx, build/libgnatvsn and build/libgnatprj.
5
Index: b/src/gcc/testsuite/ada/acats/run_acats
6
===================================================================
7
--- a/src/gcc/testsuite/ada/acats/run_acats
8
+++ b/src/gcc/testsuite/ada/acats/run_acats
13
+echo '#!/bin/sh' > host_gnatchop
14
+echo exec /usr/bin/gnatchop '$*' >> host_gnatchop
16
+chmod +x host_gnatchop
18
+echo '#!/bin/sh' > host_gnatmake
19
+echo echo '$PATH' '$*' >> host_gnatmake
20
+echo exec /usr/bin/gnatmake '$*' >> host_gnatmake
22
+chmod +x host_gnatmake
24
# Set up environment to use the Ada compiler from the object tree
26
-host_gnatchop=`which gnatchop`
27
-host_gnatmake=`which gnatmake`
29
BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
31
PATH=$BASE:$ROOT:$PATH
32
-ADA_INCLUDE_PATH=$BASE/ada/rts
33
-LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH
34
-ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH
36
-if [ ! -d $ADA_INCLUDE_PATH ]; then
37
- echo gnatlib missing, exiting.
41
-if [ ! -f $BASE/gnatchop ]; then
42
- echo gnattools missing, exiting.
46
-if [ ! -f $BASE/gnatmake ]; then
47
- echo gnattools missing, exiting.
51
+GNATTOOLS=`cd $BASE/../gnattools; ${PWDCMD-pwd}`
52
+LIBGNATVSN=`cd $BASE/../libgnatvsn; ${PWDCMD-pwd}`
53
+LIBGNATPRJ=`cd $BASE/../libgnatprj; ${PWDCMD-pwd}`
54
GCC_DRIVER="$BASE/xgcc"
55
GCC="$BASE/xgcc -B$BASE/"
56
export PATH ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_DRIVER GCC LD_LIBRARY_PATH
58
-echo '#!/bin/sh' > host_gnatchop
59
-echo PATH=`dirname $host_gnatchop`:'$PATH' >> host_gnatchop
60
-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatchop
61
-echo export PATH >> host_gnatchop
62
-echo exec gnatchop '"$@"' >> host_gnatchop
64
-chmod +x host_gnatchop
66
-echo '#!/bin/sh' > host_gnatmake
67
-echo PATH=`dirname $host_gnatmake`:'$PATH' >> host_gnatmake
68
-echo unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH GCC_EXEC_PREFIX >> host_gnatmake
69
-echo export PATH >> host_gnatmake
70
-echo exec gnatmake '"$@"' >> host_gnatmake
72
-chmod +x host_gnatmake
73
+export GNATTOOLS LIBGNATVSN LIBGNATPRJ
75
# Limit the stack to 16MB for stack checking
77
Index: b/src/gcc/testsuite/ada/acats/run_all.sh
78
===================================================================
79
--- a/src/gcc/testsuite/ada/acats/run_all.sh
80
+++ b/src/gcc/testsuite/ada/acats/run_all.sh
85
+SHARED_RTS=`cd $GNATTOOLS/../gcc/ada/rts-shared-zcx; ${PWDCMD-pwd}`
86
+RTS=`cd $GNATTOOLS/../gcc/ada/rts-static-zcx; ${PWDCMD-pwd}`
87
+LD_LIBRARY_PATH=$SHARED_RTS:$LIBGNATVSN:$LIBGNATPRJ
88
+export LD_LIBRARY_PATH
91
eval $EXPECT -f $testdir/run_test.exp $*
97
- gnatchop --GCC="$GCC_DRIVER" $*
98
+ ADA_INCLUDE_PATH=$GNATTOOLS/../../src/gcc/ada $GNATTOOLS/gnatchop --GCC="$GCC_DRIVER" $*
102
- echo gnatmake --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\"
103
- gnatmake --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC"
104
+ EXTERNAL_OBJECTS="$EXTERNAL_OBJECTS $RTS/adaint.o $RTS/sysdep.o $RTS/init.o $RTS/raise-gcc.o"
105
+ $GNATTOOLS/gnatmake -I- -I$RTS -I. \
106
+ --GCC="$GCC" --GNATBIND="$GNATTOOLS/gnatbind" \
107
+ --GNATLINK="$GNATTOOLS/gnatlink" $gnatflags $gccflags $* \
108
+ -bargs -static -largs $EXTERNAL_OBJECTS --GCC="$GCC -I- -I$RTS -I."
113
display `$GCC -v 2>&1`
114
display host=`gcc -dumpmachine`
115
display target=$target
116
-display `type gnatmake`
117
-gnatls -v >> $dir/acats.log
118
+display `type $GNATTOOLS/gnatmake`
119
+$GNATTOOLS/gnatls -I- -I$RTS -v >> $dir/acats.log
122
display " === acats support ==="
123
Index: b/src/gcc/testsuite/lib/gnat.exp
124
===================================================================
125
--- a/src/gcc/testsuite/lib/gnat.exp
126
+++ b/src/gcc/testsuite/lib/gnat.exp
128
global GNAT_UNDER_TEST
129
global TOOL_EXECUTABLE
130
global gnat_target_current
131
+ global ld_library_path
133
set gnat_target_current ""
135
if { $gnat_initialized == 1 } { return }
137
- if ![info exists GNAT_UNDER_TEST] then {
138
- if [info exists TOOL_EXECUTABLE] {
139
- set GNAT_UNDER_TEST "$TOOL_EXECUTABLE"
141
- set GNAT_UNDER_TEST "[local_find_gnatmake]"
144
+ set GNAT_UNDER_TEST "$rootme/../gnattools/gnatmake -I$rootme/ada/rts-shared-zcx --GCC=$rootme/xgcc --GNATBIND=$rootme/../gnattools/gnatbind --GNATLINK=$rootme/../gnattools/gnatlink -cargs -B$rootme -largs --GCC=$rootme/xgcc -B$rootme -margs"
145
+ append ld_library_path ":$rootme/ada/rts-shared-zcx"
146
+ append ld_library_path ":$rootme/../libgnatvsn"
147
+ append ld_library_path ":$rootme/../libgnatprj"
148
+ set_ld_library_path_env_vars
150
+ # gnatlink looks for system.ads itself and has no --RTS option, so
151
+ # specify via environment
152
+ verbose -log "ADA_INCLUDE_PATH=$rootme/ada/rts-shared-zcx"
153
+ verbose -log "ADA_OBJECTS_PATH=$rootme/ada/rts-shared-zcx"
154
+ setenv ADA_INCLUDE_PATH "$rootme/ada/rts-shared-zcx"
155
+ setenv ADA_OBJECTS_PATH "$rootme/ada/rts-shared-zcx"
157
if ![info exists tmpdir] then {
160
return [gcc_target_compile $source $dest $type $options]
163
- # If we detect a change of target, we need to recompute both
164
- # GNAT_UNDER_TEST and the appropriate RTS.
165
- if { $gnat_target_current!="[current_target_name]" } {
166
- set gnat_target_current "[current_target_name]"
167
- if [info exists TOOL_OPTIONS] {
168
- set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada"
170
- set rtsdir "[get_multilibs]/libada"
172
- if [info exists TOOL_EXECUTABLE] {
173
- set GNAT_UNDER_TEST "$TOOL_EXECUTABLE"
175
- set GNAT_UNDER_TEST "[local_find_gnatmake]"
177
- set GNAT_UNDER_TEST "$GNAT_UNDER_TEST --RTS=$rtsdir"
179
- # gnatlink looks for system.ads itself and has no --RTS option, so
180
- # specify via environment
181
- setenv ADA_INCLUDE_PATH "$rtsdir/adainclude"
182
- setenv ADA_OBJECTS_PATH "$rtsdir/adainclude"
183
- # Always log so compilations can be repeated manually.
184
- verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude"
185
- verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude"
188
lappend options "compiler=$GNAT_UNDER_TEST -q -f"
189
lappend options "timeout=[timeout_value]"