From: Benjamin Kosnik Date: Thu, 11 Dec 2003 01:19:00 +0000 (+0000) Subject: re PR libstdc++/6243 (testsuite fails almost all tests due to no libintl in LD_LIBRAR... X-Git-Tag: releases/gcc-3.3.3~210 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcdddb6f4cd859e6f5a211403d1b8f55a5ec366e;p=thirdparty%2Fgcc.git re PR libstdc++/6243 (testsuite fails almost all tests due to no libintl in LD_LIBRARY_PATH during test.) 2003-12-10 Benjamin Kosnik PR libstdc++/6243 * testsuite/lib/libstdc++.exp (v3-init): Add original_ld_library_path, calculate ld_library path, set LD_LIBRARY_PATH to both. Based on libjava.exp. From-SVN: r74523 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1e7254407a9f..34270813ca01 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2003-12-10 Benjamin Kosnik + + PR libstdc++/6243 + * testsuite/lib/libstdc++.exp (v3-init): Add + original_ld_library_path, calculate ld_library path, set + LD_LIBRARY_PATH to both. Based on libjava.exp. + 2003-12-10 Benjamin Kosnik Alexandre Oliva diff --git a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp index b64274bea93c..cacbcb5dc64a 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp @@ -44,7 +44,9 @@ proc libstdc++-v3-init { args } { global cxxflags global objdir global gluefile wrap_flags + global env global ld_library_path + global original_ld_library_path global tool_root_dir set blddir [lookfor_file [get_multilibs] libstdc++-v3] @@ -57,15 +59,32 @@ proc libstdc++-v3-init { args } { libstdc++-v3-copy-files [glob -nocomplain "$srcdir/{,*/}*/*.tst"] $outdir libstdc++-v3-copy-files [glob -nocomplain "$srcdir/{,*/}*/*.txt"] $outdir - # set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found. - # locate libgcc.a so we don't need to account for different values of + + # Setup LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found. + # Find the existing LD_LIBRARY_PATH. + if [info exists env(LD_LIBRARY_PATH)] { + set original_ld_library_path $env(LD_LIBRARY_PATH) + } else { + if [info exists env(SHLIB_PATH)] { + set original_ld_library_path $env(SHLIB_PATH) + } else { + if [info exists env(DYLD_LIBRARY_PATH)] { + set original_ld_library_path $env(DYLD_LIBRARY_PATH) + } else { + set original_ld_library_path "" + } + } + } + + # Locate libgcc.a so we don't need to account for different values of # SHLIB_EXT on different platforms set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] if {$gccdir != ""} { set gccdir [file dirname $gccdir] } - set ld_library_path "." + # Compute what needs to be added to the existing LD_LIBRARY_PATH. + set ld_library_path "" append ld_library_path ":${gccdir}" set compiler ${gccdir}/g++ if { [is_remote host] == 0 && [which $compiler] != 0 } { @@ -89,10 +108,14 @@ proc libstdc++-v3-init { args } { # unix.exp -- but that's not an option since it's part of DejaGNU # proper, so we do it here. We really only need to do # this on IRIX, but it shouldn't hurt to do it anywhere else. - setenv LD_LIBRARY_PATH $ld_library_path - setenv SHLIB_PATH $ld_library_path - setenv LD_LIBRARYN32_PATH $ld_library_path - setenv LD_LIBRARY64_PATH $ld_library_path + setenv LD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path" + setenv SHLIB_PATH "$ld_library_path:$original_ld_library_path" + setenv LD_LIBRARYN32_PATH "$ld_library_path:$original_ld_library_path" + setenv LD_LIBRARY64_PATH "$ld_library_path:$original_ld_library_path" + setenv LD_RUN_PATH "$ld_library_path:$original_ld_library_path" + setenv LD_LIBRARY_PATH_64 "$ld_library_path:$original_ld_library_path" + setenv DYLD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path" + verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)" # Do a bunch of handstands and backflips for cross compiling and # finding simulators...