41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
|
source "site.exp"
|
||
|
|
||
|
if { ! [isnative] } {
|
||
|
verbose "skipping cygload because it's not native \"$target_triplet\" != \"$build_triplet\""
|
||
|
return
|
||
|
}
|
||
|
|
||
|
proc ws_spawn {cmd args} {
|
||
|
global rv
|
||
|
verbose "running $cmd\n"
|
||
|
set rv {}
|
||
|
# First item in rv is the return code, second item is the message
|
||
|
lappend rv [catch "exec $cmd" message] $message
|
||
|
verbose send "catchCode = $rv\n"
|
||
|
}
|
||
|
|
||
|
ws_spawn "gcc -mno-cygwin $srcdir/$subdir/cygload.cpp -o mingw-cygload.exe -lstdc++ -Wl,-e,_cygloadCRTStartup@0"
|
||
|
|
||
|
if { $rv != {0 {}} } {
|
||
|
verbose -log "$rv"
|
||
|
fail "cygload (compile)"
|
||
|
} else {
|
||
|
if { $verbose } {
|
||
|
set redirect_output "./mingw-cygwin.log"
|
||
|
} else {
|
||
|
set redirect_output /dev/null
|
||
|
}
|
||
|
set windows_runtime_root [exec cygpath -m $runtime_root]
|
||
|
ws_spawn "./mingw-cygload.exe -cygwin $windows_runtime_root/cygwin0.dll > $redirect_output"
|
||
|
if { $rv != {0 {}} } {
|
||
|
verbose -log "cygload: $rv"
|
||
|
fail "cygload (execute)"
|
||
|
} else {
|
||
|
pass "cygload"
|
||
|
}
|
||
|
catch { file delete "mingw-cygload.exe" } err
|
||
|
if { $err != "" } {
|
||
|
note "error deleting mingw-cygload.exe: $err"
|
||
|
}
|
||
|
}
|