diff options
author | Anthony Green <green@redhat.com> | 2000-07-24 04:34:52 +0000 |
---|---|---|
committer | Anthony Green <green@redhat.com> | 2000-07-24 04:34:52 +0000 |
commit | 9d273ca38769d591668a638b246b8221abd3a940 (patch) | |
tree | 43084cf3a264a514b003ba166650024a9b343a87 /gdb/testsuite/lib | |
parent | 8bbd92e0055995a98e17682a9be103dea0a2325c (diff) | |
download | gdb-9d273ca38769d591668a638b246b8221abd3a940.zip gdb-9d273ca38769d591668a638b246b8221abd3a940.tar.gz gdb-9d273ca38769d591668a638b246b8221abd3a940.tar.bz2 |
* configure: Rebuilt.
* configure.in (configdirs): Add gdb.java.
* gdb.java/jmisc.java: New file.
* gdb.java/jmisc.exp: New file.
* gdb.java/Makefile.in: New file.
* gdb.java/configure: Rebuilt.
* gdb.java/configure.in: New file.
* lib/java.exp: New file.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/java.exp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/java.exp b/gdb/testsuite/lib/java.exp new file mode 100644 index 0000000..bcfd27c --- /dev/null +++ b/gdb/testsuite/lib/java.exp @@ -0,0 +1,105 @@ +# Copyright (C) 1998, 1999 Red Hat, Inc. + +load_lib "libgloss.exp" + +# GCJ_UNDER_TEST is the compiler under test. + +global tmpdir + +if ![info exists tmpdir] { + set tmpdir "/tmp" +} + +set java_initialized 0 + +# +# Build the status wrapper library as needed. +# +proc java_init { args } { + global wrapper_file; + global wrap_compile_flags; + global java_initialized + global GCJ_UNDER_TEST + global TOOL_EXECUTABLE + global env + + if { $java_initialized == 1 } { return; } + + if ![info exists GCJ_UNDER_TEST] { + if [info exists TOOL_EXECUTABLE] { + set GCJ_UNDER_TEST $TOOL_EXECUTABLE; + } else { + if [info exists env(GCJ)] { + set GCJ_UNDER_TEST $env(GCJ) + } else { + global tool_root_dir + + if ![is_remote host] { + set file [lookfor_file $tool_root_dir gcj]; + if { $file == "" } { + set file [lookfor_file $tool_root_dir gcc/gcj]; + } + if { $file != "" } { + set CC "$file -B[file dirname $file]/ --specs=$tool_root_dir/$target_alias/libjava/libgcj-test.spec"; + } else { + set CC [transform gcj]; + } + } else { + set CC [transform gcj] + } + set GCJ_UNDER_TEST $CC + } + } + } + + set wrapper_file ""; + set wrap_compile_flags ""; + if [target_info exists needs_status_wrapper] { + set result [build_wrapper "testglue.o"]; + if { $result != "" } { + set wrapper_file [lindex $result 0]; + set wrap_compile_flags [lindex $result 1]; + } else { + warning "Status wrapper failed to build." + } + } + + set java_initialized 1 +} + +# +# Run the test specified by srcfile and resultfile. compile_args and +# exec_args are options telling this proc how to work. +# +proc compile_java_from_source { srcfile binfile compile_args } { + global GCJ_UNDER_TEST + global runtests + global java_initialized + + if { $java_initialized != 1 } { java_init } + + set errname [file rootname [file tail $srcfile]] + if {! [runtest_file_p $runtests $errname]} { + return + } + + set args "compiler=$GCJ_UNDER_TEST" + lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]" + if { $compile_args != "" } { + lappend args "additional_flags=$compile_args" + } + + if { $compile_args != "" } { + set errname "$errname $compile_args" + } + + set x [target_compile $srcfile ${binfile} ${binfile} $args] + if { $x != "" } { + verbose "target_compile failed: $x" 2 + return "$errname compilation from source"; + } +} + +# Local Variables: +# tcl-indent-level:4 +# End: |