Run the jni tests using the interpreter.
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Append options_cxx to shared lib compile command. (gcj_jni_test_one): Pass cxxflags to gcj_jni_compile_c_to_so, so they are used to link the shared lib, not the main binary. Use libjava_invoke to run gij. From-SVN: r81574
This commit is contained in:
parent
8ae6595c0b
commit
579f964023
2 changed files with 29 additions and 3 deletions
|
@ -1,3 +1,12 @@
|
|||
2004-05-06 Bryce McKinlay <mckinlay@redhat.com>
|
||||
|
||||
Run the jni tests using the interpreter.
|
||||
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Append
|
||||
options_cxx to shared lib compile command.
|
||||
(gcj_jni_test_one): Pass cxxflags to gcj_jni_compile_c_to_so, so
|
||||
they are used to link the shared lib, not the main binary.
|
||||
Use libjava_invoke to run gij.
|
||||
|
||||
2004-05-06 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/util/logging/Level.java
|
||||
|
|
|
@ -39,6 +39,9 @@ proc gcj_jni_compile_c_to_so {file {options {}}} {
|
|||
# Find jni.h.
|
||||
lappend options "additional_flags=-I$srcdir/../include"
|
||||
|
||||
# Append C++ options
|
||||
lappend options "additional_flags=$options_cxx"
|
||||
|
||||
set x [libjava_prune_warnings \
|
||||
[target_compile $file $soname executable $options]]
|
||||
if {$x != ""} {
|
||||
|
@ -71,6 +74,7 @@ proc gcj_jni_build_header {file} {
|
|||
proc gcj_jni_test_one {file} {
|
||||
global runtests
|
||||
global host_triplet
|
||||
global INTERPRETER
|
||||
|
||||
# apple uses a different extension for shared/dynamic libraries
|
||||
# so we check against powerpc-apple-darwin and set them to
|
||||
|
@ -128,23 +132,36 @@ proc gcj_jni_test_one {file} {
|
|||
set cxxflags [join $cxxflaglist]
|
||||
}
|
||||
|
||||
if {! [gcj_jni_compile_c_to_so $cfile]} {
|
||||
if {! [gcj_jni_compile_c_to_so $cfile $cxxflags]} {
|
||||
# FIXME
|
||||
return 0
|
||||
}
|
||||
|
||||
# We use -l$main because the .so is named the same as the main
|
||||
# program.
|
||||
set args [list "additional_flags=-fjni -L. -l$main $cxxflags"]
|
||||
set args [list "additional_flags=-fjni -L. -l$main"]
|
||||
if {! [gcj_link $main $main $file $args]} {
|
||||
# FIXME
|
||||
return 0
|
||||
}
|
||||
|
||||
if {! [gcj_invoke $main [file rootname $file].out $cxxldlibflags]} {
|
||||
set resultfile [file rootname $file].out
|
||||
|
||||
if {! [gcj_invoke $main $resultfile $cxxldlibflags]} {
|
||||
# FIXME
|
||||
return 0
|
||||
}
|
||||
|
||||
# We purposely ignore errors here; we still want to run the other
|
||||
# appropriate tests.
|
||||
set errname [file rootname [file tail $file]]
|
||||
set gij [libjava_find_gij]
|
||||
# libjava_find_gij will return `gij' if it couldn't find the
|
||||
# program; in this case we want to skip the test.
|
||||
if {$INTERPRETER == "yes" && $gij != "gij"} {
|
||||
libjava_invoke $errname "gij test" opts $gij \
|
||||
"" $resultfile $main
|
||||
}
|
||||
|
||||
# When we succeed we remove all our clutter.
|
||||
eval gcj_cleanup [glob -nocomplain -- ${main}.*] [list $main lib${main}.${so_extension}]
|
||||
|
|
Loading…
Add table
Reference in a new issue