diff options
| -rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/testsuite/lib/g++.exp | 13 | ||||
| -rw-r--r-- | gcc/testsuite/lib/gfortran.exp | 15 |
3 files changed, 27 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c0b972c..1db479c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2004-07-30 Richard Sandiford <rsandifo@redhat.com> + + * lib/g++.exp (g++_link_flags): Check whether LD_LIBRARY_PATH already + contains $ld_library_path. + * lib/gfortran.exp (gfortran_link_flags): Likewise. + 2004-07-29 Richard Henderson <rth@redhat.com> * g++.dg/template/sizeof8.C: Don't assume 32bit pointers. diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp index 161371b..df8e0a4 100644 --- a/gcc/testsuite/lib/g++.exp +++ b/gcc/testsuite/lib/g++.exp @@ -177,9 +177,16 @@ proc g++_link_flags { paths } { # Doing this does cause trouble when testing cross-compilers. if {![is_remote target]} { global env; - if { [info exists env(LD_LIBRARY_PATH)] - && $env(LD_LIBRARY_PATH) != "" } { - append ld_library_path ":$env(LD_LIBRARY_PATH)"; + if [info exists env(LD_LIBRARY_PATH)] { + # If we've already added these directories once, keep the + # existing path. + if {$ld_library_path == $env(LD_LIBRARY_PATH) + || [string first $ld_library_path: \ + $env(LD_LIBRARY_PATH)] == 0} { + set ld_library_path $env(LD_LIBRARY_PATH) + } elseif { $env(LD_LIBRARY_PATH) != "" } { + append ld_library_path ":$env(LD_LIBRARY_PATH)" + } } setenv LD_LIBRARY_PATH $ld_library_path setenv SHLIB_PATH $ld_library_path diff --git a/gcc/testsuite/lib/gfortran.exp b/gcc/testsuite/lib/gfortran.exp index 12236b4..4303871 100644 --- a/gcc/testsuite/lib/gfortran.exp +++ b/gcc/testsuite/lib/gfortran.exp @@ -121,10 +121,17 @@ proc gfortran_link_flags { paths } { # Doing this does cause trouble when testing cross-compilers. if {![is_remote target]} { global env; - if { [info exists env(LD_LIBRARY_PATH)] - && $env(LD_LIBRARY_PATH) != "" } { - append ld_library_path ":$env(LD_LIBRARY_PATH)"; - } + if [info exists env(LD_LIBRARY_PATH)] { + # If we've already added these directories once, keep the + # existing path. + if {$ld_library_path == $env(LD_LIBRARY_PATH) + || [string first $ld_library_path: \ + $env(LD_LIBRARY_PATH)] == 0} { + set ld_library_path $env(LD_LIBRARY_PATH) + } elseif { $env(LD_LIBRARY_PATH) != "" } { + append ld_library_path ":$env(LD_LIBRARY_PATH)" + } + } setenv LD_LIBRARY_PATH $ld_library_path setenv SHLIB_PATH $ld_library_path setenv LD_LIBRARYN32_PATH $ld_library_path |
