diff options
Diffstat (limited to 'contrib/bluegnu2.0.3/lib/libgloss.exp')
-rw-r--r-- | contrib/bluegnu2.0.3/lib/libgloss.exp | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/contrib/bluegnu2.0.3/lib/libgloss.exp b/contrib/bluegnu2.0.3/lib/libgloss.exp deleted file mode 100644 index bf753b8..0000000 --- a/contrib/bluegnu2.0.3/lib/libgloss.exp +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright (C) 92, 93, 94, 95, 1996 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -# Please email any bugs, comments, and/or additions to this file to: -# bug-dejagnu@prep.ai.mit.edu - -# This file was written by Rob Savoye. (rob@welcomehome.org) - -# -# Find the linker script for the current target. Returns a string -# suitable to pass to $CC or $CXX to use a liblgoss based linker script, -# or NULL if there is no support. -# -proc libgloss_script { } { - global srcdir - global target_cpu - global LDFLAGS - global CFLAGS - global CXXFLAGS - global target_info - - # sanity check - if ![info exists LDFLAGS] { - set LDFLAGS "" - } - if ![info exists CFLAGS] { - set CFLAGS "" - } - - if ![info exists CXXFLAGS] { - set CXXFLAGS "" - } - - # find the linker script. first we look at the config - # data and hope to find it all ready for us to use. if - # that fails, then look in the LDFLAGS and CFLAGS variables that - # get set in the global site.exp file. - if [info exists target_info(target,name)] { - set script $target_info(target,name).ld - } else { - if [regexp -- "-T.*\.ld" ${LDFLAGS} script] { - string trimleft ${script} "-T" - } - if [regexp -- "-T.*\.ld" ${CFLAGS} script] { - string trimleft ${script} "-T" - } - if [regexp -- "-T.*\.ld" ${CXXFLAGS} script] { - string trimleft ${script} "-T" - } - } - - if ![info exists script] { - warning "Couldn't find the linker script name for target" - return "" - } - - # if we're on a remote host, we can't search for the file, so use the - # linker script in the path. - if [is3way] { - return "-T${script}" - } - - # search for the general directories - foreach i ".. ../.. ../../.. ../../../.." { - verbose "Looking for a ${srcdir}/${i}/libgloss/${target_cpu}/${script}" 2 - if [file exists ${srcdir}/$i/libgloss/${target_cpu}/${script} ] { - verbose "Found ${srcdir}/${i}/libgloss/${target_cpu}/${script}." 3 - return "-T${srcdir}/${i}/libgloss/${target_cpu}/${script}" - } - } - - # we didn't find the script, so we have to hope it's installed - return "-T${script}" -} - -# -# Find all the pieces of libgloss for testing the GNU development tools -# needed to use $CC or $CXX. It returns a string suitable to pass to -# $CC or $CXX to get a fully linked binary for the target. -# -proc libgloss_flags { } { - global target_alias - global target_cpu - global srcdir - global base_dir - - # libgloss doesn't work native - if [isnative] { - return "" - } - - # if we're on a remote host, we can't search for the file, so we can only - # use an installed compiler, so we don't add any paths here. - if [is3way] { - return "[libgloss_script]" - } - - # search for the general directories - foreach i ".. ../.. ../../.. ../../../.." { - if [file exists ${base_dir}/${i}/${target_alias}/libgloss/${target_cpu} ] { - verbose "Found ${base_dir}/${i}/${target_alias}/libgloss/${target_cpu}." 3 - return "-L${base_dir}/${i}/${target_alias}/libgloss/${target_cpu} [libgloss_script]" - } - } - - # we didn't find any support at all - return "[libgloss_script]" -} - -# -# Find the C libraries -# -proc newlib_flags { } { - global base_dir - global srcdir - global target_alias - - # if we're on a remote host, we can't search for the file, so use the - # newlib already installed. - if [is3way] { - return "" - } - - # search for the general directories - foreach i ".. ../.. ../../.. ../../../.." { - verbose "Looking for a ${base_dir}/${i}/${target_alias}/newlib/targ-include" 2 - if [file exists ${base_dir}/${i}/${target_alias}/newlib/targ-include ] { - verbose "Found ${base_dir}/${i}/${target_alias}/newlib/targ-include." 3 - set incls1 "-I${base_dir}/${i}/${target_alias}/newlib/targ-include" - } - verbose "Looking for a ${srcdir}/${i}/newlib/libc/include" 2 - if [file exists ${srcdir}/${i}/newlib/libc/include ] { - verbose "Found ${srcdir}/${i}/newlib/libc/include." 3 - set incls2 "-I${srcdir}/${i}/newlib/libc/include" - } - } - - # search for the general directories - foreach i ".. ../.. ../../.. ../../../.." { - verbose "Looking for a ${base_dir}/${i}/newlib" 2 - if [file exists ${base_dir}/${i}/newlib ] { - verbose "Found ${base_dir}/${i}/newlib." 3 - return "-B${base_dir}/${i}/newlib/ ${incls1} ${incls2}" - } - } - return "" -} - -# -# Find all the pieces of libgloss for testing the GNU development tools -# needed to use $LD. This gets fun cause we have to guess the name of the -# BSP for this target. If returns a string suitable to pass to LD to get -# a fully linked binary for the target. It also sets two global variables, -# CRT0 is the path to the startup file, and -# BSP is the path to the support library. -# -proc libgloss_ld {} { -#proc gloss_ld {} { - global target_cpu - global srcdir - global base_dir - global CRT0 - global BSP - - # libgloss doesn't work native - if [isnative] { - return "" - } - -# set ldflags "" - # search for the general directories - foreach i ".. ../.. ../../.. ../../../.." { - if ![info exists gloss_srcdir] { - if [file exists ${srcdir}/$i/libgloss/${target_cpu} ] { - verbose "Found ${srcdir}/$i/libgloss/${target_cpu}." 3 - set gloss_srcdir "$i/libgloss/${target_cpu}" - } - } - if ![info exists gloss_objdir] { - if [file exists ${base_dir}/$i/libgloss/${target_cpu} ] { - verbose "Found ${base_dir}/$i/libgloss/${target_cpu}." 3 - set gloss_objdir "$i/libgloss/${target_cpu}" - append ldflags " -L${gloss_objdir} " - } - } - } - - # find the crt0 - if [file exists ${gloss_objdir}/crt0.o] { - verbose "Found ${base_dir}/$i/libgloss/${target_cpu}." 3 - set CRT0 "$i/libgloss/${target_cpu}" - append ldflags " ${gloss_objdir}/crt0.o " - } else { - perror "No crt0.o built for this target" - } - - # find the BSP (currently an object, it may become an archive soon) - foreach i "[list_targets]" { - if [info exists target_info($i,name}] { - if [file exists ${gloss_objdir}/${target_info}($i,name).o ] { - set BSP "${target_info}($i,name).o" - append ldflags " -lc -l ${target_info}($i,name).o -lc " - } - } - } - if [expr ![info exists gloss_srcdir] || ![info exists gloss_srcdir]] { - warning "No libgloss support in build tree" - return "" - } else { - return "${ldflags}" - } -} |