diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-07-30 10:34:12 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-07-30 10:34:12 +0000 |
commit | 3a15f566e953c9811f85641c627fdfcc91bacf0b (patch) | |
tree | 976c205cc864cd6050b8ae212857b22ad0c9cedd | |
parent | e109f49acc2604fdf521e142629378eae5151d29 (diff) | |
download | gcc-3a15f566e953c9811f85641c627fdfcc91bacf0b.zip gcc-3a15f566e953c9811f85641c627fdfcc91bacf0b.tar.gz gcc-3a15f566e953c9811f85641c627fdfcc91bacf0b.tar.bz2 |
g++.exp (g++_link_flags): Check whether LD_LIBRARY_PATH already contains $ld_library_path.
* lib/g++.exp (g++_link_flags): Check whether LD_LIBRARY_PATH already
contains $ld_library_path.
* lib/gfortran.exp (gfortran_link_flags): Likewise.
From-SVN: r85329
-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 |