|
19 | 19 | // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
20 | 20 | // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE |
21 | 21 | // USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 22 | + |
22 | 23 | use std::{ |
23 | 24 | env, |
24 | 25 | fs, |
@@ -95,6 +96,39 @@ fn main() { |
95 | 96 | std::io::stderr().write_all(&c.stderr).unwrap(); |
96 | 97 | assert!(c.status.success()); |
97 | 98 |
|
| 99 | + let m = Command::new("cmake") |
| 100 | + .arg("--build") |
| 101 | + .arg(".") |
| 102 | + .arg("--config") |
| 103 | + .arg("Release") |
| 104 | + .output() |
| 105 | + .expect("failed to execute Make"); |
| 106 | + println!("status: {}", m.status); |
| 107 | + std::io::stdout().write_all(&m.stdout).unwrap(); |
| 108 | + std::io::stderr().write_all(&m.stderr).unwrap(); |
| 109 | + assert!(m.status.success()); |
| 110 | + } else if target.contains("riscv64gc-unknown-linux-gnu") { |
| 111 | + let c = Command::new("cmake") |
| 112 | + .arg("-D") |
| 113 | + .arg("ARCH=rv64gc") |
| 114 | + .arg("-D") |
| 115 | + .arg("ARCH_ID=riscv64") |
| 116 | + .arg("-D") |
| 117 | + .arg("CMAKE_CROSSCOMPILING=true") |
| 118 | + .arg("-D") |
| 119 | + .arg("CMAKE_SYSTEM_PROCESSOR=riscv64") |
| 120 | + .arg("-D") |
| 121 | + .arg("CMAKE_C_COMPILER=/usr/bin/riscv64-linux-gnu-gcc") |
| 122 | + .arg("-D") |
| 123 | + .arg("CMAKE_CXX_COMPILER=/usr/bin/riscv64-linux-gnu-g++") |
| 124 | + .arg(repo_dir.to_str().unwrap()) |
| 125 | + .output() |
| 126 | + .expect("failed to execute CMake"); |
| 127 | + println!("status: {}", c.status); |
| 128 | + std::io::stdout().write_all(&c.stdout).unwrap(); |
| 129 | + std::io::stderr().write_all(&c.stderr).unwrap(); |
| 130 | + assert!(c.status.success()); |
| 131 | + |
98 | 132 | let m = Command::new("cmake") |
99 | 133 | .arg("--build") |
100 | 134 | .arg(".") |
|
0 commit comments