#!/bin/sh

cat <<'EOF' | "${R_HOME}/bin${R_ARCH_BIN}/Rscript" -

source("tools/cargo_run.R")

setwd("src/rust")
if ( ! dir.exists("vendor") ) untar("vendor.tar.xz", tar="internal")

triple <- target()

con <- file("../../inst/cargo.log", "w")
okay <- run('build', '--offline', '--release', '--target', triple, '--jobs', '2', minimum_version='../..', leave_no_trace=TRUE, verbose=con) == 0
close(con)

if ( okay ) {

    file.copy(paste0("target/",triple,"/release/librust.a"), "..", overwrite=TRUE)
    message("Built Rust static library.")

} else {

    message("No suitable version of Cargo was found.\n")
    message(paste0(readLines("../../INSTALL"), collapse="\n"))

}

EOF
