1
1
2
2
rule optc
3
- command = ocamlopt.opt -I +compiler-libs -I stubs -I ext -I common -I syntax -I depends -I core -I bsb -I super_errors -I outcome_printer -I main -g -w +6-40-30-23 -warn-error +a-40-30-23 -absname -c $in
3
+ command = ocamlopt.opt -I +compiler-libs -I stubs -I ext -I common -I syntax -I depends -I core -I super_errors -I outcome_printer -I bsb -I main -g -w +6-40-30-23 -warn-error +a-40-30-23 -absname -c $in
4
4
rule archive
5
5
command = ocamlopt.opt -a $in -o $out
6
6
rule link
7
- command = ocamlopt.opt -g -I +compiler-libs $libs $in -o $out
7
+ command = ocamlopt.opt -g -I +compiler-libs $flags $libs $in -o $out
8
+ rule mk_bsversion
9
+ command = node $in
10
+ generator = true
11
+ rule gcc
12
+ command = ocamlopt.opt -ccopt -O2 -ccopt -o -ccopt $out -c $in
13
+ build stubs/ext_basic_hash_stubs.o : gcc stubs/ext_basic_hash_stubs.c
14
+ rule ocamlmklib
15
+ command = ocamlmklib $in -o $name
16
+ build stubs/libbs_hash.a stubs/dllbs_hash.so : ocamlmklib stubs/ext_basic_hash_stubs.o
17
+ name = stubs/bs_hash
18
+ rule stubslib
19
+ command = ocamlopt.opt -a $ml -o $out -cclib $clib
20
+ build stubs/stubs.cmxa : stubslib stubs/bs_hash_stubs.cmx stubs/libbs_hash.a
21
+ ml = stubs/bs_hash_stubs.cmx
22
+ clib = stubs/libbs_hash.a
23
+
24
+ rule p4of
25
+ command = camlp4of $flags -impl $in -printer o -o $out
26
+ generator = true
27
+ build core/js_fold.ml : p4of core/js_fold.mlp | core/j.ml
28
+ flags = -I core -filter map -filter trash
29
+ build core/js_map.ml : p4of core/js_map.mlp | core/j.ml
30
+ flags = -I core -filter Camlp4FoldGenerator -filter trash
31
+
32
+ build common/bs_version.ml : mk_bsversion build_version.js ../package.json
33
+
8
34
build ../lib/bsc.exe : link stubs/stubs.cmxa ext/ext.cmxa common/common.cmxa syntax/syntax.cmxa depends/depends.cmxa super_errors/super_errors.cmxa outcome_printer/outcome_printer.cmxa core/core.cmxa main/js_main.cmx
9
35
libs = ocamlcommon.cmxa
10
36
build ../lib/bsb.exe : link stubs/stubs.cmxa ext/ext.cmxa common/common.cmxa bsb/bsb.cmxa main/bsb_main.cmx
11
37
libs = ocamlcommon.cmxa unix.cmxa str.cmxa
12
38
build ../lib/bsb_helper.exe : link stubs/stubs.cmxa ext/ext.cmxa common/common.cmxa bsb/bsb.cmxa main/bsb_helper_main.cmx
13
39
libs = ocamlcommon.cmxa unix.cmxa str.cmxa
40
+
41
+ OCAML_SRC_UTILS = ../vendor/ocaml/utils
42
+ OCAML_SRC_PARSING = ../vendor/ocaml/parsing
43
+ OCAML_SRC_TYPING = ../vendor/ocaml/typing
44
+ OCAML_SRC_BYTECOMP = ../vendor/ocaml/bytecomp
45
+ OCAML_SRC_DRIVER = ../vendor/ocaml/driver
46
+ OCAML_SRC_TOOLS = ../vendor/ocaml/tools
47
+ build ./bin/bspack.exe : link ./stubs/ext_basic_hash_stubs.c ./bin/bspack.mli ./bin/bspack.ml
48
+ libs = unix.cmxa
49
+ flags = -I ./bin -w -40-30
50
+ rule bspack
51
+ command = ./bin/bspack.exe $flags -bs-main $main -o $out
52
+ depfile = $out .d
53
+
54
+ build snapshot : phony ../lib/whole_compiler.ml ../lib/bsppx.ml ../lib/bsdep.ml ../lib/bsb_helper.ml ../lib/bsb.ml ../lib/bspp.ml bin/all_ounit_tests.ml
55
+
56
+ build ../lib/whole_compiler.ml : bspack | ./bin/bspack.exe
57
+ flags = -D BS_RELEASE_BUILD=true -bs-MD -module-alias Config=Config_whole_compiler -bs-exclude-I config -I $OCAML_SRC_UTILS -I $OCAML_SRC_PARSING -I $OCAML_SRC_TYPING -I $OCAML_SRC_BYTECOMP -I $OCAML_SRC_DRIVER -I stubs -I ext -I common -I syntax -I depends -I core -I super_errors -I outcome_printer -I bsb -I main
58
+ main = Js_main
59
+
60
+
61
+ build ../lib/bsppx.ml : bspack | ./bin/bspack.exe
62
+ flags = -D BS_RELEASE_BUILD=true -bs-MD -module-alias Config=Config_whole_compiler -I $OCAML_SRC_UTILS -I $OCAML_SRC_PARSING -I stubs -I common -I ext -I syntax -I core -I main
63
+ main = Bsppx_main
64
+
65
+
66
+ build ../lib/bsdep.ml : bspack | ./bin/bspack.exe
67
+ flags = -D BS_OCAMLDEP=true -D BS_RELEASE_BUILD=true -bs-MD -module-alias Config=Config_whole_compiler -I $OCAML_SRC_UTILS -I $OCAML_SRC_PARSING -I $OCAML_SRC_DRIVER -I $OCAML_SRC_TOOLS -I common -I ext -I syntax -I depends -I core -I stubs -I main
68
+ main = Ocamldep
69
+
70
+ build ../lib/bsb_helper.ml : bspack | ./bin/bspack.exe
71
+ flags = -bs-MD -D BS_RELEASE_BUILD=true -I stubs -I common -I ext -I syntax -I depends -I bsb -I main
72
+ main = Bsb_helper_main
73
+
74
+ build ../lib/bsb.ml : bspack | ./bin/bspack.exe
75
+ flags = -D BS_MIN_LEX_DEPS=true -bs-MD -D BS_RELEASE_BUILD=true -I $OCAML_SRC_UTILS -I $OCAML_SRC_PARSING -I stubs -I common -I ext -I syntax -I depends -I bsb -I ext -I main
76
+ main = Bsb_main
77
+
78
+ build ../lib/bspp.ml : bspack | ./bin/bspack.exe
79
+ flags = -D BS_MIN_LEX_DEPS=true -D BS_RELEASE_BUILD=true -bs-MD -module-alias Config=Config_whole_compiler -I $OCAML_SRC_UTILS -I $OCAML_SRC_PARSING ?parser -I common -I ext -I syntax -I depends -I bspp -I core -I main
80
+ main = Bspp_main
81
+
82
+ build bin/all_ounit_tests.ml : bspack | ./bin/bspack.exe
83
+ flags = -bs-MD -I ounit -I ounit_tests -I stubs -I bsb -I common -I ext -I syntax -I depends -I bspp -I core
84
+ main = Ounit_tests_main
85
+ build stubs/bs_hash_stubs.cmx stubs/bs_hash_stubs.cmi : optc stubs/bs_hash_stubs.ml |
14
86
build ext/ext_array.cmx : optc ext/ext_array.ml | ext/ext_array.cmi
15
87
build ext/ext_array.cmi : optc ext/ext_array.mli |
16
88
build ext/ext_bytes.cmx : optc ext/ext_bytes.ml | ext/ext_bytes.cmi
@@ -83,28 +155,28 @@ build ext/ext_util.cmi : optc ext/ext_util.mli |
83
155
build ext/hash_set.cmx : optc ext/hash_set.ml | ext/hash_set_gen.cmx ext/hash_set.cmi
84
156
build ext/hash_set.cmi : optc ext/hash_set.mli | ext/hash_set_gen.cmx
85
157
build ext/hash_set_gen.cmx ext/hash_set_gen.cmi : optc ext/hash_set_gen.ml | ext/ext_util.cmx ext/ext_array.cmx
86
- build ext/hash_set_ident_mask.cmx : optc ext/hash_set_ident_mask.ml | ext/ext_util.cmx ext/ext_ident.cmx ext/hash_set_ident_mask.cmi
158
+ build ext/hash_set_ident_mask.cmx : optc ext/hash_set_ident_mask.ml | ext/ext_util.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx ext/hash_set_ident_mask.cmi
87
159
build ext/hash_set_ident_mask.cmi : optc ext/hash_set_ident_mask.mli |
88
160
build ext/hash_set_poly.cmx : optc ext/hash_set_poly.ml | ext/hash_set_gen.cmx ext/hash_set_poly.cmi
89
161
build ext/hash_set_poly.cmi : optc ext/hash_set_poly.mli |
90
162
build ext/hashtbl_gen.cmx ext/hashtbl_gen.cmi : optc ext/hashtbl_gen.ml | ext/ext_util.cmx ext/ext_array.cmx
91
163
build ext/hashtbl_make.cmx : optc ext/hashtbl_make.ml | ext/hashtbl_gen.cmx ext/hashtbl_make.cmi
92
164
build ext/hashtbl_make.cmi : optc ext/hashtbl_make.mli | ext/hashtbl_gen.cmx
93
- build ext/ident_hash_set.cmx : optc ext/ident_hash_set.ml | ext/hash_set_gen.cmx ext/ext_ident.cmx ext/ident_hash_set.cmi
165
+ build ext/ident_hash_set.cmx : optc ext/ident_hash_set.ml | ext/hash_set_gen.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx ext/ident_hash_set.cmi
94
166
build ext/ident_hash_set.cmi : optc ext/ident_hash_set.mli | ext/hash_set_gen.cmx
95
- build ext/ident_hashtbl.cmx : optc ext/ident_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_ident.cmx ext/ident_hashtbl.cmi
167
+ build ext/ident_hashtbl.cmx : optc ext/ident_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx ext/ident_hashtbl.cmi
96
168
build ext/ident_hashtbl.cmi : optc ext/ident_hashtbl.mli | ext/hashtbl_gen.cmx
97
169
build ext/ident_map.cmx : optc ext/ident_map.ml | ext/map_gen.cmx ext/ext_ident.cmx ext/ident_map.cmi
98
170
build ext/ident_map.cmi : optc ext/ident_map.mli | ext/map_gen.cmx
99
171
build ext/ident_set.cmx : optc ext/ident_set.ml | ext/set_gen.cmx ext/ident_set.cmi
100
172
build ext/ident_set.cmi : optc ext/ident_set.mli | ext/set_gen.cmx
101
- build ext/int_hash_set.cmx : optc ext/int_hash_set.ml | ext/hash_set_gen.cmx ext/ext_int.cmx ext/int_hash_set.cmi
173
+ build ext/int_hash_set.cmx : optc ext/int_hash_set.ml | ext/hash_set_gen.cmx ext/ext_int.cmx stubs/bs_hash_stubs.cmx ext/int_hash_set.cmi
102
174
build ext/int_hash_set.cmi : optc ext/int_hash_set.mli | ext/hash_set_gen.cmx
103
- build ext/int_hashtbl.cmx : optc ext/int_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_int.cmx ext/int_hashtbl.cmi
175
+ build ext/int_hashtbl.cmx : optc ext/int_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_int.cmx stubs/bs_hash_stubs.cmx ext/int_hashtbl.cmi
104
176
build ext/int_hashtbl.cmi : optc ext/int_hashtbl.mli | ext/hashtbl_gen.cmx
105
177
build ext/int_map.cmx : optc ext/int_map.ml | ext/map_gen.cmx ext/ext_int.cmx ext/int_map.cmi
106
178
build ext/int_map.cmi : optc ext/int_map.mli | ext/map_gen.cmx
107
- build ext/int_vec.cmx : optc ext/int_vec.ml | ext/ext_array.cmx ext/int_vec.cmi
179
+ build ext/int_vec.cmx : optc ext/int_vec.ml | ext/ext_array.cmx stubs/bs_hash_stubs.cmx ext/int_vec.cmi
108
180
build ext/int_vec.cmi : optc ext/int_vec.mli | ext/vec_gen.cmx
109
181
build ext/int_vec_util.cmx : optc ext/int_vec_util.ml | ext/int_vec.cmx ext/int_vec_util.cmi
110
182
build ext/int_vec_util.cmi : optc ext/int_vec_util.mli | ext/int_vec.cmi
@@ -114,22 +186,22 @@ build ext/literals.cmx : optc ext/literals.ml | ext/literals.cmi
114
186
build ext/literals.cmi : optc ext/literals.mli |
115
187
build ext/map_gen.cmx ext/map_gen.cmi : optc ext/map_gen.ml |
116
188
build ext/ordered_hash_map_gen.cmx ext/ordered_hash_map_gen.cmi : optc ext/ordered_hash_map_gen.ml | ext/ext_util.cmx ext/ext_array.cmx
117
- build ext/ordered_hash_map_local_ident.cmx : optc ext/ordered_hash_map_local_ident.ml | ext/ordered_hash_map_gen.cmx ext/ext_ident.cmx ext/ordered_hash_map_local_ident.cmi
189
+ build ext/ordered_hash_map_local_ident.cmx : optc ext/ordered_hash_map_local_ident.ml | ext/ordered_hash_map_gen.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx ext/ordered_hash_map_local_ident.cmi
118
190
build ext/ordered_hash_map_local_ident.cmi : optc ext/ordered_hash_map_local_ident.mli | ext/ordered_hash_map_gen.cmx
119
191
build ext/ordered_hash_set_gen.cmx ext/ordered_hash_set_gen.cmi : optc ext/ordered_hash_set_gen.ml | ext/ext_util.cmx ext/ext_array.cmx
120
- build ext/ordered_hash_set_ident.cmx : optc ext/ordered_hash_set_ident.ml | ext/ordered_hash_set_gen.cmx ext/ext_util.cmx ext/ext_ident.cmx ext/ordered_hash_set_ident.cmi
192
+ build ext/ordered_hash_set_ident.cmx : optc ext/ordered_hash_set_ident.ml | ext/ordered_hash_set_gen.cmx ext/ext_util.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx ext/ordered_hash_set_ident.cmi
121
193
build ext/ordered_hash_set_ident.cmi : optc ext/ordered_hash_set_ident.mli | ext/ordered_hash_set_gen.cmx
122
194
build ext/ordered_hash_set_make.cmx ext/ordered_hash_set_make.cmi : optc ext/ordered_hash_set_make.ml | ext/ordered_hash_set_gen.cmx ext/ext_util.cmx
123
- build ext/ordered_hash_set_string.cmx : optc ext/ordered_hash_set_string.ml | ext/ordered_hash_set_gen.cmx ext/ext_util.cmx ext/ext_string.cmx ext/ordered_hash_set_string.cmi
195
+ build ext/ordered_hash_set_string.cmx : optc ext/ordered_hash_set_string.ml | ext/ordered_hash_set_gen.cmx ext/ext_util.cmx ext/ext_string.cmx stubs/bs_hash_stubs.cmx ext/ordered_hash_set_string.cmi
124
196
build ext/ordered_hash_set_string.cmi : optc ext/ordered_hash_set_string.mli | ext/ordered_hash_set_gen.cmx
125
197
build ext/resize_array.cmx : optc ext/resize_array.ml | ext/vec_gen.cmx ext/ext_array.cmx ext/resize_array.cmi
126
198
build ext/resize_array.cmi : optc ext/resize_array.mli | ext/vec_gen.cmx
127
199
build ext/set_gen.cmx ext/set_gen.cmi : optc ext/set_gen.ml |
128
200
build ext/set_int.cmx : optc ext/set_int.ml | ext/set_gen.cmx ext/ext_int.cmx ext/set_int.cmi
129
201
build ext/set_int.cmi : optc ext/set_int.mli | ext/set_gen.cmx
130
- build ext/string_hash_set.cmx : optc ext/string_hash_set.ml | ext/hash_set_gen.cmx ext/ext_string.cmx ext/string_hash_set.cmi
202
+ build ext/string_hash_set.cmx : optc ext/string_hash_set.ml | ext/hash_set_gen.cmx ext/ext_string.cmx stubs/bs_hash_stubs.cmx ext/string_hash_set.cmi
131
203
build ext/string_hash_set.cmi : optc ext/string_hash_set.mli | ext/hash_set_gen.cmx
132
- build ext/string_hashtbl.cmx : optc ext/string_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_string.cmx ext/string_hashtbl.cmi
204
+ build ext/string_hashtbl.cmx : optc ext/string_hashtbl.ml | ext/hashtbl_gen.cmx ext/ext_string.cmx stubs/bs_hash_stubs.cmx ext/string_hashtbl.cmi
133
205
build ext/string_hashtbl.cmi : optc ext/string_hashtbl.mli | ext/hashtbl_gen.cmx
134
206
build ext/string_map.cmx : optc ext/string_map.ml | ext/map_gen.cmx ext/ext_string.cmx ext/string_map.cmi
135
207
build ext/string_map.cmi : optc ext/string_map.mli | ext/map_gen.cmx
@@ -400,7 +472,7 @@ build core/lam_inline_util.cmx : optc core/lam_inline_util.ml | core/lam.cmx cor
400
472
build core/lam_inline_util.cmi : optc core/lam_inline_util.mli | core/lam.cmi
401
473
build core/lam_iter.cmx : optc core/lam_iter.ml | core/lam_constant.cmx core/lam.cmx ext/ext_option.cmx ext/ext_list.cmx core/lam_iter.cmi
402
474
build core/lam_iter.cmi : optc core/lam_iter.mli | core/lam.cmi
403
- build core/lam_module_ident.cmx : optc core/lam_module_ident.ml | core/js_op.cmx core/j.cmx ext/hashtbl_make.cmx ext/hash_set.cmx ext/ext_ident.cmx core/lam_module_ident.cmi
475
+ build core/lam_module_ident.cmx : optc core/lam_module_ident.ml | core/js_op.cmx core/j.cmx ext/hashtbl_make.cmx ext/hash_set.cmx ext/ext_ident.cmx stubs/bs_hash_stubs.cmx core/lam_module_ident.cmi
404
476
build core/lam_module_ident.cmi : optc core/lam_module_ident.mli | core/js_op.cmx core/j.cmx ext/hashtbl_gen.cmx ext/hash_set_gen.cmx
405
477
build core/lam_pass_alpha_conversion.cmx : optc core/lam_pass_alpha_conversion.ml | core/lam_stats.cmx core/lam_eta_conversion.cmx core/lam_arity_analysis.cmx core/lam_arity.cmx core/lam.cmx ext/ext_option.cmx ext/ext_list.cmx core/lam_pass_alpha_conversion.cmi
406
478
build core/lam_pass_alpha_conversion.cmi : optc core/lam_pass_alpha_conversion.mli | core/lam_stats.cmi core/lam.cmi
0 commit comments