# 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.

proc libgloss_link_flags { args } {
    global target_cpu
    # These values come from the local site.exp.
    global srcdir objdir
    global multibuildtop

    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 ""
    }

    set newlib_dir [lookfor_file ${srcdir} newlib/libc/include/assert.h]
    if { ${newlib_dir} != "" } {
	set newlib_dir [file dirname ${newlib_dir}]
    }
    return " -I$objdir/targ-include -I${newlib_dir}"
}
