OSDN Git Service

2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Dec 2003 01:08:14 +0000 (01:08 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Dec 2003 01:08:14 +0000 (01:08 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74521 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/lib/libstdc++.exp

index c6d75b9..39fcdb9 100644 (file)
@@ -1,4 +1,11 @@
 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
+
+       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  <bkoz@redhat.com>
             Alexandre Oliva  <aoliva@redhat.com>
        
        PR libstdc++/11612
index 9ea1acc..9aacdb2 100644 (file)
@@ -46,7 +46,9 @@ proc 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]
@@ -59,15 +61,31 @@ proc v3-init { args } {
     v3-copy-files [glob -nocomplain "$srcdir/data/*.tst"] $outdir
     v3-copy-files [glob -nocomplain "$srcdir/data/*.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 } {
@@ -91,14 +109,14 @@ proc 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_RUN_PATH         $ld_library_path
-    setenv  LD_LIBRARY_PATH_64  $ld_library_path
-    setenv  DYLD_LIBRARY_PATH   $ld_library_path
-    verbose -log "Set LD_*_PATHs to ${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...