Skip to content

Commit 5dea11b

Browse files
committed
windows support
1 parent dd99b0e commit 5dea11b

File tree

15 files changed

+549
-53
lines changed

15 files changed

+549
-53
lines changed

jscomp/bin/bsb.ml

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7346,7 +7346,7 @@ end = struct
73467346

73477347

73487348
let config_file_bak = "bsconfig.json.bak"
7349-
let ninja = "ninja"
7349+
73507350
let bsdeps = ".bsdeps"
73517351

73527352

@@ -7397,11 +7397,10 @@ let revise_merlin new_content =
73977397
close_out ochan
73987398
(*TODO: it is a little mess that [cwd] and [project dir] are shared*)
73997399
(** *)
7400-
let write_ninja_file cwd =
7400+
let write_ninja_file bsc_dir cwd =
74017401
let builddir = Bsb_config.lib_bs in
74027402
let () = Bsb_build_util.mkp builddir in
7403-
let bsc_dir = Bsb_build_util.get_bsc_dir cwd in
7404-
let bsc, bsdep, bsppx =
7403+
let bsc, bsdep, bsppx =
74057404
bsc_dir // "bsc.exe",
74067405
bsc_dir // "bsb_helper.exe",
74077406
bsc_dir // "bsppx.exe" in
@@ -7574,7 +7573,7 @@ let bsb_main_flags =
75747573
" Also run the JS files passsed" ;*)
75757574
]
75767575

7577-
let regenerate_ninja cwd forced =
7576+
let regenerate_ninja cwd bsc_dir forced =
75787577
let output_deps = Bsb_config.lib_bs // bsdeps in
75797578
let reason =
75807579
if forced then "Regenerating ninja (triggered by command line -regen)"
@@ -7584,7 +7583,7 @@ let regenerate_ninja cwd forced =
75847583
begin
75857584
print_endline reason ;
75867585
print_endline "Regenrating build spec";
7587-
let globbed_dirs = write_ninja_file cwd in
7586+
let globbed_dirs = write_ninja_file bsc_dir cwd in
75887587
Literals.bsconfig_json :: globbed_dirs
75897588
|> List.map
75907589
(fun x ->
@@ -7596,6 +7595,23 @@ let regenerate_ninja cwd forced =
75967595

75977596
end
75987597

7598+
7599+
let ninja_command ninja ninja_args =
7600+
let ninja_args_len = Array.length ninja_args in
7601+
if ninja_args_len = 0 then
7602+
Unix.execvp ninja [|"ninja"; "-C"; Bsb_config.lib_bs ; "-d"; "keepdepfile" |]
7603+
else
7604+
let fixed_args_length = 5 in
7605+
Unix.execvp ninja
7606+
(Array.init (fixed_args_length + ninja_args_len)
7607+
(fun i -> match i with
7608+
| 0 -> "ninja"
7609+
| 1 -> "-C"
7610+
| 2 -> Bsb_config.lib_bs
7611+
| 3 -> "-d"
7612+
| 4 -> "keepdepfile"
7613+
| _ -> Array.unsafe_get ninja_args (i - fixed_args_length) ))
7614+
75997615
(**
76007616
Cache files generated:
76017617
- .bsdircache in project root dir
@@ -7611,12 +7627,20 @@ let usage = "Usage : bsb.exe <bsb-options> <files> -- <ninja_options>\n\
76117627
Bsb options are:"
76127628

76137629
let () =
7630+
let bsc_dir = Bsb_build_util.get_bsc_dir cwd in
7631+
let ninja =
7632+
if Sys.win32 then
7633+
bsc_dir // "ninja.exe"
7634+
else
7635+
"ninja"
7636+
in
76147637
try
76157638
(* see discussion #929 *)
76167639
if Array.length Sys.argv <= 1 then
76177640
begin
7618-
regenerate_ninja cwd false;
7619-
Unix.execvp ninja [|ninja; "-C"; Bsb_config.lib_bs ; "-d"; "keepdepfile" |]
7641+
regenerate_ninja cwd bsc_dir false;
7642+
ninja_command ninja [||]
7643+
(* Unix.execvp ninja [|ninja; "-C"; Bsb_config.lib_bs ; "-d"; "keepdepfile" |]*)
76207644
end
76217645
else
76227646
begin
@@ -7625,7 +7649,7 @@ let () =
76257649
->
76267650
begin
76277651
Arg.parse bsb_main_flags annoymous usage;
7628-
regenerate_ninja cwd !force_regenerate;
7652+
regenerate_ninja cwd bsc_dir !force_regenerate;
76297653
(* String_vec.iter (fun s -> print_endline s) targets; *)
76307654
(* ninja is not triggered in this case *)
76317655
end
@@ -7634,12 +7658,13 @@ let () =
76347658
begin
76357659
Arg.parse_argv bsb_args bsb_main_flags annoymous usage ;
76367660
(* String_vec.iter (fun s -> print_endline s) targets; *)
7637-
regenerate_ninja cwd !force_regenerate;
7638-
Unix.execvp ninja
7661+
regenerate_ninja cwd bsc_dir !force_regenerate;
7662+
ninja_command ninja ninja_args
7663+
(*Unix.execvp ninja
76397664
(Array.append
76407665
[|ninja ; "-C"; Bsb_config.lib_bs; "-d"; "keepdepfile"|]
76417666
ninja_args
7642-
)
7667+
)*)
76437668

76447669
end
76457670
end

jscomp/bin/bsb.win

2.41 MB
Binary file not shown.

jscomp/bin/bsb_helper.win

1.82 MB
Binary file not shown.

jscomp/bin/bsb_watcher.js

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -114,20 +114,3 @@ function getWatchFiles(file) {
114114
watchers.push({watcher : fs.watch(bsconfig,on_change) , dir : bsconfig});
115115
build();
116116

117-
/* var watch_dirs = ['src', 'bsconfig.json'];
118-
watch_build(watch_dirs)
119-
*/
120-
/*
121-
fs.watch('src',(eventType,fileName)=>{
122-
123-
console.log(eventType);
124-
console.log(">>>> Start compiling");
125-
try{
126-
child_process.execSync(bsb,{stdio:[0,1,2]})
127-
}catch(e){
128-
129-
}
130-
console.log(">>>> Finish compiling")
131-
132-
})
133-
*/

jscomp/bin/bsc.win

6.27 MB
Binary file not shown.

jscomp/bin/bsdep.win

3.16 MB
Binary file not shown.

jscomp/bin/bspack.win

1.96 MB
Binary file not shown.

jscomp/bin/bspp.win

1.46 MB
Binary file not shown.

jscomp/bin/bsppx.win

2.22 MB
Binary file not shown.

jscomp/bin/ninja.win

391 KB
Binary file not shown.

0 commit comments

Comments
 (0)