From fcb013864b11e541adbf9456e57be40eb9dcf664 Mon Sep 17 00:00:00 2001 From: tromey Date: Sat, 31 Jul 1999 23:52:52 +0000 Subject: 1999-07-31 Alexandre Oliva * lib/libjava.exp (bytecompile_file): Use `env(SUN_JAVAC)', that defaults to javac, as Sun-javac compiler or compatible. (libjava_init): Get GCJ from environment if neither GCJ_UNDER_TEST nor TOOL_EXECUTABLE are set. Set `original_ld_library_path' from environment. (libjava_arguments): Prepend `.' and `$srcdir/$subdir' to CLASSPATH, for `support' sources. Search for libgcj.spec in `$objdir/..', by adding -B to GCJ_UNDER_TEST. Append original_ld_library_path to ld_library_path. * libjava.mauve/mauve.exp (test_mauve): Set `env(GCJ)' from GCJ_UNDER_TEST, calculated just like in libjava.exp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28364 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/testsuite/lib/libjava.exp | 53 +++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 8 deletions(-) (limited to 'libjava/testsuite/lib/libjava.exp') diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp index 3abb648a8b9..3412b132bd9 100644 --- a/libjava/testsuite/lib/libjava.exp +++ b/libjava/testsuite/lib/libjava.exp @@ -38,13 +38,30 @@ proc find_jvscan {} { proc bytecompile_file { file objdir {classpath {}} } { global env + global SUN_JAVAC set dirname [file dirname $file]; + # If JDK doesn't run on your platform but some other + # JDK-compatible javac does, you may set SUN_JAVAC to point to it. + # One of the most important properties of a SUN_JAVAC is that it + # must create class-files even for classes that have not been + # specified in the command line, but that were needed to compile + # those that have. For example, Pizza won't do it, but you can + # use `kaffe sun.tools.javac.Main', if you have Sun's classes.zip + # in the kaffe's default search path. + if ![info exists SUN_JAVAC] { + if [info exists env(SUN_JAVAC)] { + set SUN_JAVAC $env(SUN_JAVAC) + } else { + set SUN_JAVAC "javac" + } + } + catch {unset env(CLASSPATH)} if {$classpath != ""} then { set env(CLASSPATH) $classpath } - if {[catch {system "cd $dirname; javac $file -d $objdir"} msg]} then { + if {[catch {system "cd $dirname; $SUN_JAVAC $file -d $objdir"} msg]} then { verbose "couldn't compile $file: $msg" set r 0 } else { @@ -64,6 +81,8 @@ proc libjava_init { args } { global libjava_initialized global GCJ_UNDER_TEST global TOOL_EXECUTABLE + global original_ld_library_path + global env if { $libjava_initialized == 1 } { return; } @@ -71,7 +90,21 @@ proc libjava_init { args } { if [info exists TOOL_EXECUTABLE] { set GCJ_UNDER_TEST $TOOL_EXECUTABLE; } else { - set GCJ_UNDER_TEST "[find_gcj]" + if [info exists env(GCJ)] { + set GCJ_UNDER_TEST $env(GCJ) + } else { + set GCJ_UNDER_TEST "[find_gcj]" + } + } + } + + if [info exists env(LD_LIBRARY_PATH)] { + set original_ld_library_path $env(LD_LIBRARY_PATH) + } else { + if [info exists env(SHLIB_PATH)] { + set original_ld_library_path $env(SHLIB_PATH) + } else { + set original_ld_library_path "" } } @@ -129,6 +162,7 @@ proc libjava_arguments {{mode compile}} { global GCJ_UNDER_TEST global tmpdir global runtests + global env if [info exists LIBJAVA] { set libjava $LIBJAVA; @@ -184,13 +218,14 @@ proc libjava_arguments {{mode compile}} { # then we'd have to do a lot more work. # Set variables the dynamic linker looks at. - setenv LD_LIBRARY_PATH $ld_library_path - setenv SHLIB_PATH $ld_library_path + 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" # Set the CLASSPATH environment variable - verbose "CLASSPATH is $objdir/.." + verbose "CLASSPATH is .:$srcdir/$subdir:$objdir/..:$objdir/../libgcj.zip" global env - set env(CLASSPATH) "$objdir/.." + set env(CLASSPATH) ".:$srcdir/$subdir:$objdir/..:$objdir/../libgcj.zip" global wrapper_file wrap_compile_flags; lappend args "additional_flags=$wrap_compile_flags"; @@ -217,13 +252,15 @@ proc libjava_arguments {{mode compile}} { if {[file exists $d/$x/libtool]} then { # We have to run silently to avoid DejaGNU lossage. lappend args \ - "compiler=$d/$x/libtool --silent --mode=$mode $GCJ_UNDER_TEST" + "compiler=$d/$x/libtool --silent --mode=$mode $GCJ_UNDER_TEST -B$objdir/../" set found_compiler 1 break } } if {! $found_compiler} { - lappend args "compiler=$GCJ_UNDER_TEST" + # Append -B$objdir/../ so that we find libgcj.spec before it + # is installed. + lappend args "compiler=$GCJ_UNDER_TEST -B$objdir/../" } return $args -- cgit v1.2.3