@@ -19,62 +19,16 @@ use std::{env, fs};
1919
2020use cargo_metadata:: { MetadataCommand , Package } ;
2121
22- fn ensure_toolchain ( ) -> PathBuf {
23- let out_dir = env:: var ( "OUT_DIR" ) . unwrap ( ) ;
24- let out_dir = PathBuf :: from ( out_dir) ;
25- let toolchain_dir = env:: var ( "HYPERLIGHT_GUEST_TOOLCHAIN_ROOT" )
26- . map ( PathBuf :: from)
27- . unwrap_or_else ( |_| out_dir. join ( "toolchain" ) ) ;
28-
29- if toolchain_dir. join ( "clang" ) . exists ( ) {
30- return toolchain_dir;
31- }
32-
33- let cargo_bin = env:: var_os ( "CARGO" ) . unwrap ( ) ;
34- let mut cargo_cmd = std:: process:: Command :: new ( & cargo_bin) ;
35-
36- let profile = env:: var_os ( "PROFILE" ) . unwrap ( ) ;
37- let profile = if profile == "debug" { "dev" } else { "release" } ;
38-
39- // Clear the variables that control Cargo's behaviour (as listed
40- // at https://doc.rust-lang.org/cargo/reference/environment-variables.html):
41- // otherwise the nested build will build the wrong thing
42- let mut env_vars = env:: vars ( ) . collect :: < Vec < _ > > ( ) ;
43- env_vars. retain ( |( key, _) | !key. starts_with ( "CARGO_" ) ) ;
44-
45- // we need to build hyperlight-guest-bin dependency of wasm_runtime, before wasm_runtime
46- let cmd = cargo_cmd
47- . arg ( "build" )
48- . arg ( "--profile" )
49- . arg ( profile)
50- . arg ( "--package" )
51- . arg ( "hyperlight-guest-bin" )
52- . arg ( "-v" )
53- . arg ( "--target-dir" )
54- . arg ( out_dir. join ( "toolchain-build" ) )
55- . env_clear ( )
56- . envs ( env_vars)
57- . env ( "HYPERLIGHT_GUEST_TOOLCHAIN_ROOT" , & toolchain_dir) ;
58-
59- let status = cmd
60- . status ( )
61- . unwrap_or_else ( |e| panic ! ( "could not run build hyperlight toolchain: {}" , e) ) ;
62-
63- if !status. success ( ) {
64- panic ! ( "could not compile wasm_runtime" ) ;
65- }
22+ fn main ( ) {
23+ let toolchain_dir = env:: var_os ( "HYPERLIGHT_GUEST_TOOLCHAIN_ROOT" ) . unwrap ( ) ;
24+ let toolchain_dir = PathBuf :: from ( toolchain_dir) ;
25+ let clang_path = toolchain_dir. join ( "clang" ) ;
6626
6727 assert ! (
68- toolchain_dir . join ( "clang" ) . exists( ) ,
69- "could not find toolchain at {toolchain_dir :?} after building hyperlight-guest-bin" ,
28+ clang_path . exists( ) ,
29+ "could not find clang at {clang_path :?}"
7030 ) ;
7131
72- toolchain_dir
73- }
74-
75- fn main ( ) {
76- let toolchain_dir = ensure_toolchain ( ) ;
77-
7832 println ! ( "cargo:rerun-if-changed=." ) ;
7933 let mut cfg = cc:: Build :: new ( ) ;
8034
@@ -109,7 +63,7 @@ fn main() {
10963
11064 cfg. include ( "src/include" ) ;
11165 cfg. file ( "src/platform.c" ) ;
112- cfg. compiler ( toolchain_dir . join ( "clang" ) ) ;
66+ cfg. compiler ( clang_path ) ;
11367 if cfg ! ( windows) {
11468 env:: set_var ( "AR_x86_64_unknown_none" , "llvm-ar" ) ;
11569 }
0 commit comments