Commit 6a4ed6c8 by Tom Tromey Committed by Tom Tromey

jni.exp (gcj_jni_test_one): Find libstdc++ in build tree.

	* libjava.jni/jni.exp (gcj_jni_test_one): Find libstdc++ in build
	tree.
	(gcj_invoke): Added ld_library_additions argument.

From-SVN: r51006
parent c79ca0ac
2002-03-18 Tom Tromey <tromey@redhat.com>
* libjava.jni/jni.exp (gcj_jni_test_one): Find libstdc++ in build
tree.
(gcj_invoke): Added ld_library_additions argument.
2002-03-17 Tom Tromey <tromey@redhat.com> 2002-03-17 Tom Tromey <tromey@redhat.com>
* libjava.jni/jni.exp (gcj_jni_build_header): Use local_exec, not * libjava.jni/jni.exp (gcj_jni_build_header): Use local_exec, not
......
...@@ -43,11 +43,18 @@ proc gcj_jni_build_header {file} { ...@@ -43,11 +43,18 @@ proc gcj_jni_build_header {file} {
} }
# Invoke the program and see what happens. Return 0 on failure. # Invoke the program and see what happens. Return 0 on failure.
proc gcj_invoke {program expectFile} { proc gcj_invoke {program expectFile ld_library_additions} {
global env global env
set lib_path $env(LD_LIBRARY_PATH) set lib_path $env(LD_LIBRARY_PATH)
setenv LD_LIBRARY_PATH .:$lib_path
setenv SHLIB_PATH .:$lib_path set newval .
if {[llength $ld_library_additions] > 0} {
append newval :[join $ld_library_additions :]
}
append newval :$lib_path
setenv LD_LIBRARY_PATH $newval
setenv SHLIB_PATH $newval
verbose "LD_LIBRARY_PATH=$env(LD_LIBRARY_PATH)" verbose "LD_LIBRARY_PATH=$env(LD_LIBRARY_PATH)"
...@@ -106,10 +113,27 @@ proc gcj_jni_test_one {file} { ...@@ -106,10 +113,27 @@ proc gcj_jni_test_one {file} {
set cfile [file rootname $file].c set cfile [file rootname $file].c
set cxxflags "" set cxxflags ""
set cxxldlibflags {}
# If there is no `.c' file, assume there is a `.cc' file. # If there is no `.c' file, assume there is a `.cc' file.
if {! [file exists $cfile]} { if {! [file exists $cfile]} {
set cfile [file rootname $file].cc set cfile [file rootname $file].cc
set cxxflags "-lstdc++"
set cxxflaglist {}
foreach arg [split [libjava_find_lib libstdc++-v3/src stdc++] " "] {
switch -glob -- $arg {
"-L*" {
set arg [string range $arg 2 end]
lappend cxxldlibflags $arg
# Strip the `.libs' directory; we link with libtool which
# doesn't need it.
set arg "-L[file dirname $arg]"
}
}
lappend cxxflaglist $arg
}
lappend cxxflaglist "-lstdc++"
set cxxflags [join $cxxflaglist]
} }
if {! [gcj_jni_compile_c_to_so $cfile]} { if {! [gcj_jni_compile_c_to_so $cfile]} {
...@@ -125,7 +149,7 @@ proc gcj_jni_test_one {file} { ...@@ -125,7 +149,7 @@ proc gcj_jni_test_one {file} {
return 0 return 0
} }
if {! [gcj_invoke $main [file rootname $file].out]} { if {! [gcj_invoke $main [file rootname $file].out $cxxldlibflags]} {
# FIXME # FIXME
return 0 return 0
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment