re PR libffi/17465 (Testsuite in libffi overrides LD_LIBRARY_PATH)
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 14 Sep 2004 21:16:29 +0000 (21:16 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 14 Sep 2004 21:16:29 +0000 (14:16 -0700)
2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>

PR libgcj/17465
* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
DYLD_LIBRARY_PATH.

From-SVN: r87511

libffi/ChangeLog
libffi/testsuite/lib/libffi-dg.exp

index 82cbd8c..a172ea1 100644 (file)
@@ -1,3 +1,11 @@
+2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libgcj/17465
+       * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
+       Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
+       LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
+       DYLD_LIBRARY_PATH.
+
 2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
 
        * testsuite/libffi.call/many_win32.c: Remove whitespaces.
index f7dd5fd..abeb476 100644 (file)
@@ -73,7 +73,7 @@ proc libffi-init { args } {
     global blddirffi
     global blddircxx
     global TOOL_OPTIONS
-    global ld_library_path
+    global tool
     global libffi_include
     global libffi_link_flags
     global tool_root_dir
@@ -133,13 +133,21 @@ proc libffi-init { args } {
     # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
     # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
     # (SHLIB_PATH).
-    setenv  LD_LIBRARY_PATH     $ld_library_path
-    setenv  SHLIB_PATH          $ld_library_path
-    setenv  LD_LIBRARYN32_PATH  $ld_library_path
-    setenv  LD_LIBRARY64_PATH   $ld_library_path
-    setenv  LD_LIBRARY_PATH_32  $ld_library_path
-    setenv  LD_LIBRARY_PATH_64  $ld_library_path
-    setenv  DYLD_LIBRARY_PATH   $ld_library_path
+    if {![is_remote target]} {
+       set ld_path "LD_LIBRARY_PATH SHLIB_PATH LD_LIBRARYN32_PATH LD_LIBRARY64_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 DYLD_LIBRARY_PATH"
+       foreach path $ld_path {
+           if [info exists env($path)] {
+               # If we've already added these directories once, keep
+               # the existing path.
+               if {$ld_library_path != $env($path)
+                   && [string first $ld_library_path: $env($path)] != 0} {
+                   setenv $path "$ld_library_path:$env($path)"
+               }
+           } else {
+               setenv $path "$ld_library_path"
+           }
+       }
+    }
 }
 
 proc libffi_target_compile { source dest type options } {
@@ -147,7 +155,6 @@ proc libffi_target_compile { source dest type options } {
     global srcdir
     global blddirffi
     global TOOL_OPTIONS
-    global ld_library_path
     global libffi_link_flags
     global libffi_include
     global target_triplet