1 # Copyright
(C
) 2004-2017 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with GCC
; see the file COPYING3.
If not see
15 #
<http
://www.gnu.org
/licenses
/>.
17 # This file contains GCC
-specifics
for status wrappers
for test programs.
19 # $
{tool
}_maybe_build_wrapper
-- Build wrapper object
if the target
20 # needs it. FILENAME is the path to the wrapper file.
If there are
21 # additional arguments
, they are command
-line options to provide to
22 # the compiler when compiling FILENAME.
24 proc $
{tool
}_maybe_build_wrapper
{ filename
args } {
25 global gluefile wrap_flags
27 if { [target_info needs_status_wrapper
] != "" \
28 && [target_info needs_status_wrapper
] != "0" \
29 && ![info exists gluefile
] } {
30 set_ld_library_path_env_vars
31 set saved_wrap_compile_flags
[target_info wrap_compile_flags
]
32 set flags
[join $
args " "]
33 # The wrapper code may contain code that gcc objects
on. This
34 # became true
for dejagnu
-1.4.4. The
set of warnings and code
35 # that gcc objects
on may change
, so just make sure
-w is always
36 # passed to turn
off all warnings.
37 unset_currtarget_info wrap_compile_flags
38 set_currtarget_info wrap_compile_flags \
39 "$saved_wrap_compile_flags -w $flags"
40 set result
[build_wrapper $filename
]
41 unset_currtarget_info wrap_compile_flags
42 set_currtarget_info wrap_compile_flags
"$saved_wrap_compile_flags"
43 if { $result
!= "" } {
44 set gluefile
[lindex $result
0]
45 set wrap_flags
[lindex $result
1]