@@ -34,13 +34,20 @@ let check_js_file fname =
3434
3535let default_flags = []
3636
37- let interesting_runtimes = [ [ " effects" , `S " jspi" ]; [ " effects" , `S " cps" ] ]
37+ let interesting_runtimes =
38+ [ [ " effects" , `S " jspi" ; " wasi" , `B false ]
39+ ; [ " effects" , `S " cps" ; " wasi" , `B false ]
40+ ; [ " effects" , `S " disabled" ; " wasi" , `B true ]
41+ ; [ " effects" , `S " cps" ; " wasi" , `B true ]
42+ ]
43+
44+ let defaults = [ " effects" , " disabled" ]
3845
3946let name_runtime standard l =
4047 let flags =
4148 List. filter_map l ~f: (fun (k , v ) ->
4249 match v with
43- | `S s -> Some s
50+ | `S s -> if List. mem (k, s) ~set: defaults then None else Some s
4451 | `B b -> if b then Some k else None )
4552 in
4653 String. concat ~sep: " -" (" runtime" :: (if standard then [ " standard" ] else flags))
@@ -67,25 +74,31 @@ let print_flags f flags =
6774
6875let () =
6976 let () = set_binary_mode_out stdout true in
70- let js_runtime , deps, wat_files, runtimes =
77+ let js_launcher , deps, js_wasi_launcher, wasi_deps, wasi_libc , wat_files, runtimes =
7178 match Array. to_list Sys. argv with
72- | _ :: js_runtime :: deps :: rest ->
73- assert (Filename. check_suffix js_runtime " .js" );
79+ | _ :: js_launcher :: deps :: js_wasi_launcher :: wasi_deps :: wasi_libc :: rest ->
80+ assert (Filename. check_suffix js_launcher " .js" );
81+ assert (Filename. check_suffix js_wasi_launcher " .js" );
7482 assert (Filename. check_suffix deps " .json" );
83+ assert (Filename. check_suffix wasi_deps " .json" );
7584 let wat_files, rest =
7685 List. partition rest ~f: (fun f -> Filename. check_suffix f " .wat" )
7786 in
7887 let wasm_files, rest =
7988 List. partition rest ~f: (fun f -> Filename. check_suffix f " .wasm" )
8089 in
8190 assert (List. is_empty rest);
82- js_runtime , deps, wat_files, wasm_files
91+ js_launcher , deps, js_wasi_launcher, wasi_deps, wasi_libc , wat_files, wasm_files
8392 | _ -> assert false
8493 in
85- check_js_file js_runtime;
94+ check_js_file js_launcher;
95+ check_js_file js_wasi_launcher;
8696 Format. printf " open Wasm_of_ocaml_compiler@." ;
87- Format. printf " let js_runtime = {|\n %s\n |}@." (Fs. read_file js_runtime );
97+ Format. printf " let js_launcher = {|\n %s\n |}@." (Fs. read_file js_launcher );
8898 Format. printf " let dependencies = {|\n %s\n |}@." (Fs. read_file deps);
99+ Format. printf " let js_wasi_launcher = {|\n %s\n |}@." (Fs. read_file js_wasi_launcher);
100+ Format. printf " let wasi_dependencies = {|\n %s\n |}@." (Fs. read_file wasi_deps);
101+ Format. printf " let wasi_libc = %S@." (String. escaped (Fs. read_file wasi_libc));
89102 Format. printf
90103 " let wat_files = [%a]@."
91104 (Format. pp_print_list (fun f file ->
0 commit comments