1
# Copyright (C) 2004, 2007 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 saved_wrap_compile_flags [target_info wrap_compile_flags]
31
set flags [join $args " "]
32
# The wrapper code may contain code that gcc objects on. This
33
# became true for dejagnu-1.4.4. The set of warnings and code
34
# that gcc objects on may change, so just make sure -w is always
35
# passed to turn off all warnings.
36
set_currtarget_info wrap_compile_flags \
37
"$saved_wrap_compile_flags -w $flags"
38
set result [build_wrapper $filename]
39
set_currtarget_info wrap_compile_flags "$saved_wrap_compile_flags"
40
if { $result != "" } {
41
set gluefile [lindex $result 0]
42
set wrap_flags [lindex $result 1]