diff options
author | Tom Tromey <tromey@redhat.com> | 2001-03-16 20:54:45 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-03-16 20:54:45 +0000 |
commit | d19c968978b8db10c56f88f1ffa60c88e8ae2aa6 (patch) | |
tree | 5e25eb5e82415bf2b8d8bb2666d3b443886ec001 /libjava | |
parent | 2d6eb5bf63bab4c99bc257b3d61aed5244033e12 (diff) | |
download | gcc-d19c968978b8db10c56f88f1ffa60c88e8ae2aa6.zip gcc-d19c968978b8db10c56f88f1ffa60c88e8ae2aa6.tar.gz gcc-d19c968978b8db10c56f88f1ffa60c88e8ae2aa6.tar.bz2 |
libjava.exp (libjava_arguments): Rewrote computation of LD_LIBRARY_PATH.
* lib/libjava.exp (libjava_arguments): Rewrote computation of
LD_LIBRARY_PATH. Add gcc build directory if it contains
libgcc_s.so.
From-SVN: r40564
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | libjava/testsuite/lib/libjava.exp | 31 |
2 files changed, 27 insertions, 10 deletions
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog index 223a614..fc6036b 100644 --- a/libjava/testsuite/ChangeLog +++ b/libjava/testsuite/ChangeLog @@ -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. diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp index 101871e..14be474 100644 --- a/libjava/testsuite/lib/libjava.exp +++ b/libjava/testsuite/lib/libjava.exp @@ -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 |