-# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007 Free Software Foundation
proc load_gcc_lib { filename } {
global srcdir
setenv LC_ALL C
setenv LANG C
+ # Many hosts now default to a non-ASCII C locale, however, so
+ # they can set a charset encoding here if they need.
+ if { [ishost "*-*-cygwin*"] } {
+ setenv LC_ALL C.ASCII
+ setenv LANG C.ASCII
+ }
+
if { $libjava_initialized == 1 } { return; }
if ![info exists GCJ_UNDER_TEST] {
if { [istarget "*-*-darwin*"] } {
set so_extension "dylib"
+ } elseif { [istarget "*-*-cygwin*"] || [istarget "*-*-mingw*"] } {
+ set so_extension "dll"
} else {
set so_extension "so"
}
if {$mode == "link"} {
global wrapper_file wrap_compile_flags
lappend args "additional_flags=$wrap_compile_flags"
+
+ if { [regexp "linux" $target_triplet] } {
+ lappend args "additional_flags=-specs=libgcj-test.spec"
+ }
+
lappend args "libs=$wrapper_file"
lappend args "libs=$libjava"
lappend args debug
# Avoid libtool wrapper scripts when possible.
# but not if libtool warnings results in FAILs
if {$mode == "link"} {
- if {! [istarget "*-*-cygwin*"] && ! [istarget "*-*-mingw*"] } {
+ if {! [istarget "*-*-cygwin*"] && ! [istarget "*-*-mingw*"]
+ && ! [istarget "*-*-darwin*"] } {
lappend args "additional_flags=-no-install"
}
if { [istarget "*-*-darwin*"] } {
lappend args "additional_flags=-bind_at_load"
lappend args "additional_flags=-multiply_defined suppress"
}
+ if { [istarget "*-*-darwin9*"] || [istarget "*-*-darwin1*"] || [istarget "*-*-darwin2*"] } {
+ lappend args "additional_flags=-Wl,-allow_stack_execute"
+ }
+
}
return $args
}
}
-proc exec_gij {jarfile expectFile ld_library_additions} {
+proc exec_gij {jarfile expectFile {ld_library_additions {}} {addl_flags {}}} {
global env
global libjava_ld_library_path
global ld_library_path
set gij [libjava_find_gij]
set classname [file rootname [file tail $jarfile]]
- puts "LD_LIBRARY_PATH=. $gij -cp $jarfile $classname"
+ puts "LD_LIBRARY_PATH=. $gij -cp $jarfile $addl_flags $classname"
- set result [libjava_load $gij "-cp $jarfile $classname"]
+ set result [libjava_load $gij "-cp $jarfile $addl_flags $classname"]
set status [lindex $result 0]
set output [lindex $result 1]
return 1
}
+ send_log "invoke: $executable $args $inpfile\n"
+
set result [libjava_load $executable $args "$inpfile"]
set status [lindex $result 0]
set output [lindex $result 1]