]> gcc.gnu.org Git - gcc.git/commitdiff
libjava.exp (libjava_arguments): Rewrote computation of LD_LIBRARY_PATH.
authorTom Tromey <tromey@redhat.com>
Fri, 16 Mar 2001 20:54:45 +0000 (20:54 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 16 Mar 2001 20:54:45 +0000 (20:54 +0000)
* lib/libjava.exp (libjava_arguments): Rewrote computation of
LD_LIBRARY_PATH.  Add gcc build directory if it contains
libgcc_s.so.

From-SVN: r40564

libjava/testsuite/ChangeLog
libjava/testsuite/lib/libjava.exp

index 223a614dc6e85e8a9476478fde0fd89f407e446a..fc6036be62f3eed5ec86e6e7258f0550144b9ae4 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-16  Tom Tromey  <tromey@redhat.com>
+
+       * lib/libjava.exp (libjava_arguments): Rewrote computation of
+       LD_LIBRARY_PATH.  Add gcc build directory if it contains
+       libgcc_s.so.
+
 2001-03-14  Tom Tromey  <tromey@redhat.com>
 
        * libjava.compile/assignment.xfail: Removed.
index 101871e905590ac948f9ec60418c5c5aa35aafbc..14be474994604d057a5f7233815ff1b193def15c 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1998, 1999, 2000 Free Software Foundation
+# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
 
 load_lib "libgloss.exp"
 
@@ -192,6 +192,7 @@ proc libjava_arguments {{mode compile}} {
     global tmpdir
     global runtests
     global env
+    global tool_root_dir
 
     if [info exists LIBJAVA] {
        set libjava $LIBJAVA;
@@ -230,17 +231,25 @@ proc libjava_arguments {{mode compile}} {
     # Basically we want to build up a colon separated path list from
     # the value of $libjava.
 
-    # First strip away any -L arguments.
-    regsub -all -- "-L" $libjava "" ld_library_path
-
-    # Then remove any -lgcj argument.
-    regsub -all -- " -lgcj.*" $ld_library_path "" ld_library_path
+    set lpath {}
+    foreach dir [list $libjava $libgc $libz] {
+       foreach item [split $dir " "] {
+           switch -glob -- $item {
+               "-L*" {
+                   lappend lpath [string range $item 2 end]
+               }
+           }
+       }
+    }
 
-    # First strip away any -L arguments.
-    regsub -all -- "-L" $libgc $ld_library_path ld_library_path
+    # Finally, add the gcc build directory so that we can find the
+    # shared libgcc.  This, like much of dejagnu, is hideous.
+    set gccdir [lookfor_file $tool_root_dir gcc/libgcc_s.so]
+    if {$gccdir != ""} {
+       lappend lpath [file dirname $gccdir]
+    }
 
-    # Then remove any -lgcjgc argument.
-    regsub -all -- " -lgcjgc.*" $ld_library_path "" ld_library_path
+    set ld_library_path [join $lpath :]
 
     # That's enough to make things work for the normal case.
     # If we wanted to handle an arbitrary value of libjava,
@@ -251,6 +260,8 @@ proc libjava_arguments {{mode compile}} {
     setenv LD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
     setenv SHLIB_PATH "$ld_library_path:$original_ld_library_path"
 
+    verbose "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
+
     # Set the CLASSPATH environment variable
     verbose "CLASSPATH is .:$srcdir/$subdir:$objdir:$objdir/../libgcj.jar"
     global env
This page took 0.065687 seconds and 5 git commands to generate.