URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [lib/] [target-libpath.exp] - Rev 306
Compare with Previous | Blame | View Log
# Copyright (C) 2004, 2005, 2007, 2009 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 3 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 GCC; see the file COPYING3. If not see# <http://www.gnu.org/licenses/>.# This file was contributed by John David Anglin (dave.anglin@nrc-cnrc.gc.ca)set orig_environment_saved 0set orig_ld_library_path_saved 0set orig_ld_run_path_saved 0set orig_shlib_path_saved 0set orig_ld_libraryn32_path_saved 0set orig_ld_library64_path_saved 0set orig_ld_library_path_32_saved 0set orig_ld_library_path_64_saved 0set orig_dyld_library_path_saved 0set orig_gcc_exec_prefix_saved 0set orig_gcc_exec_prefix_checked 0######################################## proc set_ld_library_path_env_vars { }#######################################proc set_ld_library_path_env_vars { } {global ld_library_pathglobal orig_environment_savedglobal orig_ld_library_path_savedglobal orig_ld_run_path_savedglobal orig_shlib_path_savedglobal orig_ld_libraryn32_path_savedglobal orig_ld_library64_path_savedglobal orig_ld_library_path_32_savedglobal orig_ld_library_path_64_savedglobal orig_dyld_library_path_savedglobal orig_gcc_exec_prefix_savedglobal orig_gcc_exec_prefix_checkedglobal orig_ld_library_pathglobal orig_ld_run_pathglobal orig_shlib_pathglobal orig_ld_libraryn32_pathglobal orig_ld_library64_pathglobal orig_ld_library_path_32global orig_ld_library_path_64global orig_dyld_library_pathglobal orig_gcc_exec_prefixglobal TEST_GCC_EXEC_PREFIXglobal env# Save the original GCC_EXEC_PREFIX.if { $orig_gcc_exec_prefix_checked == 0 } {if [info exists env(GCC_EXEC_PREFIX)] {set orig_gcc_exec_prefix "$env(GCC_EXEC_PREFIX)"set orig_gcc_exec_prefix_saved 1}set orig_gcc_exec_prefix_checked 1}# Set GCC_EXEC_PREFIX for the compiler under test to pick up files not in# the build tree from a specified location (normally the install tree).if [info exists TEST_GCC_EXEC_PREFIX] {setenv GCC_EXEC_PREFIX "$TEST_GCC_EXEC_PREFIX"}# Setting the ld library path causes trouble when testing cross-compilers.if { [is_remote target] } {return}if { $orig_environment_saved == 0 } {set orig_environment_saved 1# Save the original environment.if [info exists env(LD_LIBRARY_PATH)] {set orig_ld_library_path "$env(LD_LIBRARY_PATH)"set orig_ld_library_path_saved 1}if [info exists env(LD_RUN_PATH)] {set orig_ld_run_path "$env(LD_RUN_PATH)"set orig_ld_run_path_saved 1}if [info exists env(SHLIB_PATH)] {set orig_shlib_path "$env(SHLIB_PATH)"set orig_shlib_path_saved 1}if [info exists env(LD_LIBRARYN32_PATH)] {set orig_ld_libraryn32_path "$env(LD_LIBRARYN32_PATH)"set orig_ld_libraryn32_path_saved 1}if [info exists env(LD_LIBRARY64_PATH)] {set orig_ld_library64_path "$env(LD_LIBRARY64_PATH)"set orig_ld_library64_path_saved 1}if [info exists env(LD_LIBRARY_PATH_32)] {set orig_ld_library_path_32 "$env(LD_LIBRARY_PATH_32)"set orig_ld_library_path_32_saved 1}if [info exists env(LD_LIBRARY_PATH_64)] {set orig_ld_library_path_64 "$env(LD_LIBRARY_PATH_64)"set orig_ld_library_path_64_saved 1}if [info exists env(DYLD_LIBRARY_PATH)] {set orig_dyld_library_path "$env(DYLD_LIBRARY_PATH)"set orig_dyld_library_path_saved 1}}# We need to set ld library path in the environment. Currently,# unix.exp doesn't set the environment correctly for all systems.# It only sets SHLIB_PATH and LD_LIBRARY_PATH when it executes a# program. We also need the environment set for compilations, etc.## On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but# called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH# (for the 64-bit ABI). The same applies to Darwin (DYLD_LIBRARY_PATH),# Solaris 32 bit (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64),# and HP-UX (SHLIB_PATH). In some cases, the variables are independent# of LD_LIBRARY_PATH, and in other cases LD_LIBRARY_PATH is used if the# variable is not defined.## Doing this is somewhat of a hack as ld_library_path gets repeated in# SHLIB_PATH and LD_LIBRARY_PATH when unix_load sets these variables.if { $orig_ld_library_path_saved } {setenv LD_LIBRARY_PATH "$ld_library_path:$orig_ld_library_path"} else {setenv LD_LIBRARY_PATH "$ld_library_path"}if { $orig_ld_run_path_saved } {setenv LD_RUN_PATH "$ld_library_path:$orig_ld_run_path"} else {setenv LD_RUN_PATH "$ld_library_path"}# The default shared library dynamic path search for 64-bit# HP-UX executables searches LD_LIBRARY_PATH before SHLIB_PATH.# LD_LIBRARY_PATH isn't used for 32-bit executables. Thus, we# set LD_LIBRARY_PATH and SHLIB_PATH as if they were independent.if { $orig_shlib_path_saved } {setenv SHLIB_PATH "$ld_library_path:$orig_shlib_path"} else {setenv SHLIB_PATH "$ld_library_path"}if { $orig_ld_libraryn32_path_saved } {setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_libraryn32_path"} elseif { $orig_ld_library_path_saved } {setenv LD_LIBRARYN32_PATH "$ld_library_path:$orig_ld_library_path"} else {setenv LD_LIBRARYN32_PATH "$ld_library_path"}if { $orig_ld_library64_path_saved } {setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library64_path"} elseif { $orig_ld_library_path_saved } {setenv LD_LIBRARY64_PATH "$ld_library_path:$orig_ld_library_path"} else {setenv LD_LIBRARY64_PATH "$ld_library_path"}if { $orig_ld_library_path_32_saved } {setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path_32"} elseif { $orig_ld_library_path_saved } {setenv LD_LIBRARY_PATH_32 "$ld_library_path:$orig_ld_library_path"} else {setenv LD_LIBRARY_PATH_32 "$ld_library_path"}if { $orig_ld_library_path_64_saved } {setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path_64"} elseif { $orig_ld_library_path_saved } {setenv LD_LIBRARY_PATH_64 "$ld_library_path:$orig_ld_library_path"} else {setenv LD_LIBRARY_PATH_64 "$ld_library_path"}if { $orig_dyld_library_path_saved } {setenv DYLD_LIBRARY_PATH "$ld_library_path:$orig_dyld_library_path"} else {setenv DYLD_LIBRARY_PATH "$ld_library_path"}verbose -log "set_ld_library_path_env_vars: ld_library_path=$ld_library_path"}######################################## proc restore_ld_library_path_env_vars { }#######################################proc restore_ld_library_path_env_vars { } {global orig_environment_savedglobal orig_ld_library_path_savedglobal orig_ld_run_path_savedglobal orig_shlib_path_savedglobal orig_ld_libraryn32_path_savedglobal orig_ld_library64_path_savedglobal orig_ld_library_path_32_savedglobal orig_ld_library_path_64_savedglobal orig_dyld_library_path_savedglobal orig_gcc_exec_prefix_savedglobal orig_ld_library_pathglobal orig_ld_run_pathglobal orig_shlib_pathglobal orig_ld_libraryn32_pathglobal orig_ld_library64_pathglobal orig_ld_library_path_32global orig_ld_library_path_64global orig_dyld_library_pathglobal orig_gcc_exec_prefixglobal envif { $orig_gcc_exec_prefix_saved } {setenv GCC_EXEC_PREFIX "$orig_gcc_exec_prefix"} elseif [info exists env(GCC_EXEC_PREFIX)] {unsetenv GCC_EXEC_PREFIX}if { $orig_environment_saved == 0 } {return}if { $orig_ld_library_path_saved } {setenv LD_LIBRARY_PATH "$orig_ld_library_path"} elseif [info exists env(LD_LIBRARY_PATH)] {unsetenv LD_LIBRARY_PATH}if { $orig_ld_run_path_saved } {setenv LD_RUN_PATH "$orig_ld_run_path"} elseif [info exists env(LD_RUN_PATH)] {unsetenv LD_RUN_PATH}if { $orig_shlib_path_saved } {setenv SHLIB_PATH "$orig_shlib_path"} elseif [info exists env(SHLIB_PATH)] {unsetenv SHLIB_PATH}if { $orig_ld_libraryn32_path_saved } {setenv LD_LIBRARYN32_PATH "$orig_ld_libraryn32_path"} elseif [info exists env(LD_LIBRARYN32_PATH)] {unsetenv LD_LIBRARYN32_PATH}if { $orig_ld_library64_path_saved } {setenv LD_LIBRARY64_PATH "$orig_ld_library64_path"} elseif [info exists env(LD_LIBRARY64_PATH)] {unsetenv LD_LIBRARY64_PATH}if { $orig_ld_library_path_32_saved } {setenv LD_LIBRARY_PATH_32 "$orig_ld_library_path_32"} elseif [info exists env(LD_LIBRARY_PATH_32)] {unsetenv LD_LIBRARY_PATH_32}if { $orig_ld_library_path_64_saved } {setenv LD_LIBRARY_PATH_64 "$orig_ld_library_path_64"} elseif [info exists env(LD_LIBRARY_PATH_64)] {unsetenv LD_LIBRARY_PATH_64}if { $orig_dyld_library_path_saved } {setenv DYLD_LIBRARY_PATH "$orig_dyld_library_path"} elseif [info exists env(DYLD_LIBRARY_PATH)] {unsetenv DYLD_LIBRARY_PATH}}######################################## proc get_shlib_extension { }#######################################proc get_shlib_extension { } {global shlib_extif { [ istarget *-*-darwin* ] } {set shlib_ext "dylib"} elseif { [ istarget *-*-cygwin* ] || [ istarget *-*-mingw* ] } {set shlib_ext "dll"} elseif { [ istarget hppa*-*-hpux* ] } {set shlib_ext "sl"} else {set shlib_ext "so"}return $shlib_ext}
