This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Patch: test suite LD_LIBRARY_PATH
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Subject: Patch: test suite LD_LIBRARY_PATH
- From: Tom Tromey <tromey at redhat dot com>
- Date: 16 Mar 2001 14:08:05 -0700
- Reply-To: tromey at redhat dot com
This fixes a bug reported by Zack. We need to put the gcc build
directory into LD_LIBRARY_PATH. I also took the opportunity to clean
up how we compute LD_LIBRARY_PATH.
This is going on the trunk and the branch.
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.
Tom
Index: lib/libjava.exp
===================================================================
RCS file: /cvs/gcc/gcc/libjava/testsuite/lib/libjava.exp,v
retrieving revision 1.22
diff -u -r1.22 libjava.exp
--- libjava.exp 2001/01/17 06:45:40 1.22
+++ libjava.exp 2001/03/16 20:49:41
@@ -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 @@
global tmpdir
global runtests
global env
+ global tool_root_dir
if [info exists LIBJAVA] {
set libjava $LIBJAVA;
@@ -229,18 +230,26 @@
# 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,
@@ -250,6 +259,8 @@
global original_ld_library_path
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"