| # Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. |
| # |
| # Permission to use, copy, modify, and distribute this software |
| # is freely granted, provided that this notice is preserved. |
| # |
| |
| # flags.exp: overrides the dejagnu versions of libgloss_link_flags, |
| # newlib_link_flags, and newlib_include_flags. |
| |
| # These versions of the procedures generate link and include flags |
| # by searching for the needed files in the current build and source |
| # directories, rather than in the build and source paths of the |
| # compiler being used. |
| |
| if {![llength [info procs saved_libgloss_link_flags]]} { |
| rename libgloss_link_flags saved_libgloss_link_flags |
| } |
| |
| proc libgloss_link_flags { args } { |
| global target_cpu |
| # These values come from the local site.exp. |
| global srcdir objdir |
| global multibuildtop |
| |
| if {![info exists multibuildtop]} { |
| return [saved_libgloss_link_flags $args] |
| } |
| |
| verbose "In newlib version of libgloss_link_flags...\n" |
| |
| if [isnative] { |
| return "" |
| } |
| |
| if [is_remote host] { |
| return "" |
| } |
| |
| set target_build_path "$objdir/$multibuildtop.." |
| |
| set gloss_srcdir [lookfor_file ${srcdir} libgloss/$target_cpu] |
| |
| if { $gloss_srcdir == "" } { |
| return "" |
| } |
| |
| if [file exists $target_build_path/libgloss/$target_cpu] { |
| verbose "libgloss path is $target_build_path/libgloss/$target_cpu" 2 |
| return "-B$target_build_path/libgloss/$target_cpu/ -L$target_build_path/libgloss/$target_cpu -L$gloss_srcdir" |
| } else { |
| verbose -log "No libgloss support for this target." 2 |
| return "" |
| } |
| } |
| |
| proc newlib_link_flags { args } { |
| global tool_root_dir |
| global srcdir objdir |
| |
| verbose "In newlib version of newlib_link_flags...\n" |
| |
| if [is_remote host] { |
| return "" |
| } |
| |
| set ld_script_path [lookfor_file ${tool_root_dir} "ld/ldscripts"]; |
| if { $ld_script_path != "" } { |
| set result "-L[file dirname $ld_script_path]" |
| } else { |
| set result "" |
| } |
| |
| return "$result -B$objdir -L$objdir" |
| } |
| |
| proc newlib_include_flags { args } { |
| global srcdir objdir |
| |
| verbose "In newlib version of newlib_include_flags...\n" |
| |
| if [is_remote host] { |
| return "" |
| } |
| |
| return " -I$objdir/targ-include" |
| } |