@@ -925,7 +925,8 @@ impl Step for Enzyme {
925925 }
926926 let target = self . target ;
927927
928- let LlvmResult { host_llvm_config, .. } = builder. ensure ( Llvm { target : self . target } ) ;
928+ let LlvmResult { host_llvm_config, llvm_cmake_dir } =
929+ builder. ensure ( Llvm { target : self . target } ) ;
929930
930931 static STAMP_HASH_MEMO : OnceLock < String > = OnceLock :: new ( ) ;
931932 let smart_stamp_hash = STAMP_HASH_MEMO . get_or_init ( || {
@@ -955,15 +956,20 @@ impl Step for Enzyme {
955956 return out_dir;
956957 }
957958
959+ if !builder. config . dry_run ( ) && !llvm_cmake_dir. is_dir ( ) {
960+ builder. info ( & format ! (
961+ "WARNING: {} does not exist, Enzyme build will likely fail" ,
962+ llvm_cmake_dir. display( )
963+ ) ) ;
964+ }
965+
958966 trace ! ( ?target, "(re)building enzyme artifacts" ) ;
959967 builder. info ( & format ! ( "Building Enzyme for {target}" ) ) ;
960968 t ! ( stamp. remove( ) ) ;
961969 let _time = helpers:: timeit ( builder) ;
962970 t ! ( fs:: create_dir_all( & out_dir) ) ;
963971
964- builder
965- . config
966- . update_submodule ( Path :: new ( "src" ) . join ( "tools" ) . join ( "enzyme" ) . to_str ( ) . unwrap ( ) ) ;
972+ builder. config . update_submodule ( "src/tools/enzyme" ) ;
967973 let mut cfg = cmake:: Config :: new ( builder. src . join ( "src/tools/enzyme/enzyme/" ) ) ;
968974 configure_cmake ( builder, target, & mut cfg, true , LdFlags :: default ( ) , & [ ] ) ;
969975
@@ -983,7 +989,7 @@ impl Step for Enzyme {
983989 . define ( "LLVM_ENABLE_ASSERTIONS" , "ON" )
984990 . define ( "ENZYME_EXTERNAL_SHARED_LIB" , "ON" )
985991 . define ( "ENZYME_BC_LOADER" , "OFF" )
986- . define ( "LLVM_DIR" , builder . llvm_out ( target ) ) ;
992+ . define ( "LLVM_DIR" , llvm_cmake_dir ) ;
987993
988994 cfg. build ( ) ;
989995
0 commit comments