mauve.exp (test_mauve): Pass `link' to libjava_arguments when linking.
* libjava.mauve/mauve.exp (test_mauve): Pass `link' to libjava_arguments when linking. (test_mauve_sim): Likewise. * lib/libjava.exp (libjava_arguments): Run `libtool' to link. Don't use `-static'. Added `mode' argument. Use -nodefaultlibs when linking. (test_libjava_from_source): Mention why target_compile failed. Pass `link' to libjava_arguments when linking. Only do `xfails' for tests we would actually have run. (test_libjava_from_javac): Likewise. (libjava_find_lib): Return name of `.la' file. From-SVN: r26748
This commit is contained in:
parent
234af03211
commit
e04aa64ded
@ -1,3 +1,17 @@
|
|||||||
|
1999-05-03 Tom Tromey <tromey@cygnus.com>
|
||||||
|
|
||||||
|
* libjava.mauve/mauve.exp (test_mauve): Pass `link' to
|
||||||
|
libjava_arguments when linking.
|
||||||
|
(test_mauve_sim): Likewise.
|
||||||
|
* lib/libjava.exp (libjava_arguments): Run `libtool' to link.
|
||||||
|
Don't use `-static'. Added `mode' argument. Use -nodefaultlibs
|
||||||
|
when linking.
|
||||||
|
(test_libjava_from_source): Mention why target_compile failed.
|
||||||
|
Pass `link' to libjava_arguments when linking. Only do `xfails'
|
||||||
|
for tests we would actually have run.
|
||||||
|
(test_libjava_from_javac): Likewise.
|
||||||
|
(libjava_find_lib): Return name of `.la' file.
|
||||||
|
|
||||||
1999-04-26 Tom Tromey <tromey@cygnus.com>
|
1999-04-26 Tom Tromey <tromey@cygnus.com>
|
||||||
|
|
||||||
* lib/libjava.exp (libjava_find_lib): New proc.
|
* lib/libjava.exp (libjava_find_lib): New proc.
|
||||||
|
@ -87,11 +87,11 @@ proc libjava_find_lib {dir name} {
|
|||||||
foreach sub {.libs _libs} {
|
foreach sub {.libs _libs} {
|
||||||
if {$gp != ""} {
|
if {$gp != ""} {
|
||||||
if {[file exists $gp/$dir/$sub/lib${name}.a]} then {
|
if {[file exists $gp/$dir/$sub/lib${name}.a]} then {
|
||||||
return "-L$gp/$dir/$sub -l$name"
|
return "$gp/$dir/lib${name}.la"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
set lib [findfile $base_dir/../../$dir/$sub/lib${name}.a \
|
set lib [findfile $base_dir/../../$dir/$sub/lib${name}.a \
|
||||||
"-L$base_dir/../../$dir/$sub -l$name" ""]
|
"$base_dir/../../$dir/lib${name}.la" ""]
|
||||||
if {$lib != ""} {
|
if {$lib != ""} {
|
||||||
return $lib
|
return $lib
|
||||||
}
|
}
|
||||||
@ -99,8 +99,9 @@ proc libjava_find_lib {dir name} {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
# Compute arguments needed for compiler.
|
# Compute arguments needed for compiler. MODE is a libtool mode:
|
||||||
proc libjava_arguments {} {
|
# either compile or link.
|
||||||
|
proc libjava_arguments {{mode compile}} {
|
||||||
global base_dir
|
global base_dir
|
||||||
global LIBJAVA
|
global LIBJAVA
|
||||||
global LIBGC
|
global LIBGC
|
||||||
@ -167,7 +168,6 @@ proc libjava_arguments {} {
|
|||||||
|
|
||||||
global wrapper_file wrap_compile_flags;
|
global wrapper_file wrap_compile_flags;
|
||||||
lappend args "additional_flags=$wrap_compile_flags";
|
lappend args "additional_flags=$wrap_compile_flags";
|
||||||
lappend args "additional_flags=-static"
|
|
||||||
lappend args "libs=$wrapper_file";
|
lappend args "libs=$wrapper_file";
|
||||||
lappend args "libs=$libjava";
|
lappend args "libs=$libjava";
|
||||||
lappend args "libs=$libgc";
|
lappend args "libs=$libgc";
|
||||||
@ -182,7 +182,21 @@ proc libjava_arguments {} {
|
|||||||
if [info exists TOOL_OPTIONS] {
|
if [info exists TOOL_OPTIONS] {
|
||||||
lappend args "additional_flags=$TOOL_OPTIONS"
|
lappend args "additional_flags=$TOOL_OPTIONS"
|
||||||
}
|
}
|
||||||
lappend args "compiler=$GCJ_UNDER_TEST"
|
|
||||||
|
# Search for libtool. We need it to link.
|
||||||
|
set d [absolute $objdir]
|
||||||
|
foreach x {. .. ../.. ../../..} {
|
||||||
|
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"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if {$mode == "link"} {
|
||||||
|
lappend args "additional_flags=-nodefaultlibs -lm -lgcc -lc -lgcc"
|
||||||
|
}
|
||||||
|
|
||||||
return $args
|
return $args
|
||||||
}
|
}
|
||||||
@ -208,7 +222,7 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
set args [libjava_arguments]
|
set args [libjava_arguments link]
|
||||||
# Add the --main flag
|
# Add the --main flag
|
||||||
lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]"
|
lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]"
|
||||||
if { $compile_args != "" } {
|
if { $compile_args != "" } {
|
||||||
@ -221,12 +235,16 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
|
|||||||
set errname "$errname $compile_args"
|
set errname "$errname $compile_args"
|
||||||
}
|
}
|
||||||
|
|
||||||
if { [target_compile $srcfile "$executable" executable $args] != "" } {
|
set x [target_compile $srcfile "$executable" executable $args]
|
||||||
|
if { $x != "" } {
|
||||||
|
verbose "target_compile failed: $x" 2
|
||||||
fail "$errname compilation from source"
|
fail "$errname compilation from source"
|
||||||
setup_xfail "*-*-*"
|
if {$exec_args != "no-exec"} {
|
||||||
fail "$errname execution from source compiled test"
|
setup_xfail "*-*-*"
|
||||||
setup_xfail "*-*-*"
|
fail "$errname execution from source compiled test"
|
||||||
fail "$errname output from source compiled test"
|
setup_xfail "*-*-*"
|
||||||
|
fail "$errname output from source compiled test"
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pass "$errname compilation from source"
|
pass "$errname compilation from source"
|
||||||
@ -306,10 +324,12 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
|
|||||||
fail "$errname byte compilation"
|
fail "$errname byte compilation"
|
||||||
setup_xfail "*-*-*"
|
setup_xfail "*-*-*"
|
||||||
fail "$errname compilation from bytecode"
|
fail "$errname compilation from bytecode"
|
||||||
setup_xfail "*-*-*"
|
if {$exec_args != "no-exec"} {
|
||||||
fail "$errname execution from bytecode->native test"
|
setup_xfail "*-*-*"
|
||||||
setup_xfail "*-*-*"
|
fail "$errname execution from bytecode->native test"
|
||||||
fail "$errname output from bytecode->native test"
|
setup_xfail "*-*-*"
|
||||||
|
fail "$errname output from bytecode->native test"
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
pass "$errname byte compilation"
|
pass "$errname byte compilation"
|
||||||
@ -335,11 +355,9 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
|
|||||||
set class_files [join [split [string trim $class_out]] ".class "].class
|
set class_files [join [split [string trim $class_out]] ".class "].class
|
||||||
}
|
}
|
||||||
|
|
||||||
# Initial arguments.
|
|
||||||
set args [libjava_arguments]
|
|
||||||
|
|
||||||
# Usually it is an error for a test program not to have a `main'
|
# Usually it is an error for a test program not to have a `main'
|
||||||
# method. However, for no-exec tests it is ok.
|
# method. However, for no-exec tests it is ok.
|
||||||
|
set largs {}
|
||||||
if {$main_name == ""} {
|
if {$main_name == ""} {
|
||||||
if {$exec_args != "no-exec"} {
|
if {$exec_args != "no-exec"} {
|
||||||
perror "No `main' given in program $errname"
|
perror "No `main' given in program $errname"
|
||||||
@ -347,13 +365,19 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
|
|||||||
} else {
|
} else {
|
||||||
set type object
|
set type object
|
||||||
set executable [file rootname [file tail $srcfile]].o
|
set executable [file rootname [file tail $srcfile]].o
|
||||||
|
set mode compile
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
set type executable
|
set type executable
|
||||||
lappend args "additional_flags=--main=$main_name"
|
lappend largs "additional_flags=--main=$main_name"
|
||||||
set executable "${objdir}/$main_name"
|
set executable "${objdir}/$main_name"
|
||||||
|
set mode link
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Initial arguments.
|
||||||
|
set args [libjava_arguments $mode]
|
||||||
|
eval lappend args $largs
|
||||||
|
|
||||||
if { $compile_args != "" } {
|
if { $compile_args != "" } {
|
||||||
lappend args "additional_flags=$compile_args"
|
lappend args "additional_flags=$compile_args"
|
||||||
}
|
}
|
||||||
@ -362,7 +386,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
|
|||||||
set errname "$errname $compile_args"
|
set errname "$errname $compile_args"
|
||||||
}
|
}
|
||||||
|
|
||||||
if { [target_compile $class_files "$executable" $type $args] != "" } {
|
verbose "compilation command = $args" 2
|
||||||
|
set x [target_compile $class_files "$executable" $type $args]
|
||||||
|
if { $x != "" } {
|
||||||
|
verbose "target_compile failed: $x" 2
|
||||||
fail "$errname compilation from bytecode"
|
fail "$errname compilation from bytecode"
|
||||||
setup_xfail "*-*-*"
|
setup_xfail "*-*-*"
|
||||||
if {$exec_args != "no-exec"} {
|
if {$exec_args != "no-exec"} {
|
||||||
|
@ -99,7 +99,7 @@ proc test_mauve {} {
|
|||||||
|
|
||||||
# Compute flags to use to do the build.
|
# Compute flags to use to do the build.
|
||||||
set compile_args [libjava_arguments]
|
set compile_args [libjava_arguments]
|
||||||
set link_args [concat $compile_args \
|
set link_args [concat [libjava_arguments link] \
|
||||||
[list "additional_flags=--main=DejaGNUTestHarness"]]
|
[list "additional_flags=--main=DejaGNUTestHarness"]]
|
||||||
|
|
||||||
set ok 1
|
set ok 1
|
||||||
@ -229,7 +229,7 @@ proc test_mauve_sim {} {
|
|||||||
|
|
||||||
# Compute flags to use to do the build.
|
# Compute flags to use to do the build.
|
||||||
set compile_args [libjava_arguments]
|
set compile_args [libjava_arguments]
|
||||||
set link_args [concat $compile_args \
|
set link_args [concat [libjava_arguments link] \
|
||||||
[list "additional_flags=--main=DejaGNUTestHarness"]]
|
[list "additional_flags=--main=DejaGNUTestHarness"]]
|
||||||
|
|
||||||
set ok 1
|
set ok 1
|
||||||
|
Loading…
Reference in New Issue
Block a user