From 49d1caa63f1d9432dd943353a8589c0bf792128c Mon Sep 17 00:00:00 2001 From: Chris Casinghino Date: Wed, 24 Apr 2024 20:59:40 -0400 Subject: [PATCH] Fix make depend for jane street stdlib modules --- ocaml/.depend | 15 +++++++-------- ocaml/boot/ocamlc | Bin 4346690 -> 4348287 bytes ocaml/driver/makedepend.ml | 28 ++++++++++++++++++++++++++-- ocaml/ocamldoc/.depend | 10 ++++------ ocaml/stdlib/.depend | 6 ++++++ 5 files changed, 43 insertions(+), 16 deletions(-) diff --git a/ocaml/.depend b/ocaml/.depend index 370ae0af6ee..21ebb7f164b 100644 --- a/ocaml/.depend +++ b/ocaml/.depend @@ -690,6 +690,7 @@ typing/annot.cmi : \ typing/btype.cmo : \ typing/types.cmi \ typing/path.cmi \ + parsing/parsetree.cmi \ utils/local_store.cmi \ typing/ident.cmi \ parsing/asttypes.cmi \ @@ -697,6 +698,7 @@ typing/btype.cmo : \ typing/btype.cmx : \ typing/types.cmx \ typing/path.cmx \ + parsing/parsetree.cmi \ utils/local_store.cmx \ typing/ident.cmx \ parsing/asttypes.cmi \ @@ -704,6 +706,7 @@ typing/btype.cmx : \ typing/btype.cmi : \ typing/types.cmi \ typing/path.cmi \ + parsing/parsetree.cmi \ typing/jkind.cmi \ parsing/asttypes.cmi typing/cmt2annot.cmo : \ @@ -1449,8 +1452,7 @@ typing/printtyp.cmi : \ parsing/location.cmi \ typing/ident.cmi \ typing/errortrace.cmi \ - typing/env.cmi \ - parsing/asttypes.cmi + typing/env.cmi typing/printtyped.cmo : \ utils/zero_alloc_utils.cmi \ typing/types.cmi \ @@ -1756,7 +1758,6 @@ typing/typecore.cmo : \ typing/typedtree.cmi \ typing/typedecl.cmi \ typing/subst.cmi \ - typing/solver.cmi \ typing/shape.cmi \ typing/rec_check.cmi \ typing/printtyp.cmi \ @@ -1799,7 +1800,6 @@ typing/typecore.cmx : \ typing/typedtree.cmx \ typing/typedecl.cmx \ typing/subst.cmx \ - typing/solver.cmx \ typing/shape.cmx \ typing/rec_check.cmx \ typing/printtyp.cmx \ @@ -1932,6 +1932,7 @@ typing/typedecl.cmi : \ parsing/parsetree.cmi \ parsing/longident.cmi \ parsing/location.cmi \ + utils/language_extension.cmi \ typing/jkind.cmi \ typing/includecore.cmi \ typing/ident.cmi \ @@ -7055,6 +7056,7 @@ toplevel/genprintval.cmo : \ typing/env.cmi \ typing/datarepr.cmi \ typing/ctype.cmi \ + utils/clflags.cmi \ typing/btype.cmi \ parsing/asttypes.cmi \ toplevel/genprintval.cmi @@ -7076,6 +7078,7 @@ toplevel/genprintval.cmx : \ typing/env.cmx \ typing/datarepr.cmx \ typing/ctype.cmx \ + utils/clflags.cmx \ typing/btype.cmx \ parsing/asttypes.cmi \ toplevel/genprintval.cmi @@ -7264,7 +7267,6 @@ toplevel/topprinters.cmo : \ typing/mode.cmi \ typing/ident.cmi \ typing/ctype.cmi \ - parsing/asttypes.cmi \ toplevel/topprinters.cmi toplevel/topprinters.cmx : \ typing/types.cmx \ @@ -7273,7 +7275,6 @@ toplevel/topprinters.cmx : \ typing/mode.cmx \ typing/ident.cmx \ typing/ctype.cmx \ - parsing/asttypes.cmi \ toplevel/topprinters.cmi toplevel/topprinters.cmi : \ typing/types.cmi @@ -7412,7 +7413,6 @@ toplevel/byte/trace.cmo : \ bytecomp/meta.cmi \ parsing/longident.cmi \ typing/ctype.cmi \ - parsing/asttypes.cmi \ toplevel/byte/trace.cmi toplevel/byte/trace.cmx : \ typing/types.cmx \ @@ -7425,7 +7425,6 @@ toplevel/byte/trace.cmx : \ bytecomp/meta.cmx \ parsing/longident.cmx \ typing/ctype.cmx \ - parsing/asttypes.cmi \ toplevel/byte/trace.cmi toplevel/byte/trace.cmi : \ typing/types.cmi \ diff --git a/ocaml/boot/ocamlc b/ocaml/boot/ocamlc index 48628093ca9c319d3c2e78809a26f2b50c7deaa6..5d8eab1c5df23e196f8054c7370f476693988e5a 100755 GIT binary patch delta 52723 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 bA2~KX6_f8&5HgQJIWr5AoKEK$N3!yNSUapo diff --git a/ocaml/driver/makedepend.ml b/ocaml/driver/makedepend.ml index be9eecd41ea..5c378161691 100644 --- a/ocaml/driver/makedepend.ml +++ b/ocaml/driver/makedepend.ml @@ -100,14 +100,38 @@ let add_to_synonym_list synonyms suffix = (* Find file 'name' (capitalized) in search path *) let find_module_in_load_path name = let names = List.map (fun ext -> name ^ ext) (!mli_synonyms @ !ml_synonyms) in + let uname = String.uncapitalize_ascii name in let unames = - let uname = String.uncapitalize_ascii name in List.map (fun ext -> uname ^ ext) (!mli_synonyms @ !ml_synonyms) in + let stdlib_unames = + (* Jane Street: This is a hack to deal with the fact that we refer to our + custom stdlib modules with names like [Stdlib__Int32_u] from within the + stdlib. + + Dependencies are calculated by looking at all modules mentioned by the + code in question and checking to see if there is a corresponding ml file. + But in our case there is no corresponding ml file, because the references + look like `Stdlib__Int32_u.foo` and the ml file's name is just + `int32_u.ml`. This is unlike normal stdlib modules, which are exposed + with names that match their ml files. So, the code here just teaches + make depend to optionally ignore a `Stdlib__` prefix for the purposes of + checking for a matching ml file. *) + let stdlib_prefix = "stdlib__" in + if String.starts_with ~prefix:stdlib_prefix uname then + let plen = String.length stdlib_prefix in + let uname = + String.sub name plen (String.length name - plen) + in + let uname = String.uncapitalize_ascii uname in + List.map (fun ext -> uname ^ ext) (!mli_synonyms @ !ml_synonyms) + else + [] + in let rec find_in_array a pos = if pos >= Array.length a then None else begin let s = a.(pos) in - if List.mem s names || List.mem s unames then + if List.mem s names || List.mem s unames || List.mem s stdlib_unames then Some s else find_in_array a (pos + 1) diff --git a/ocaml/ocamldoc/.depend b/ocaml/ocamldoc/.depend index ec90819a4d4..7b19b1cdf10 100644 --- a/ocaml/ocamldoc/.depend +++ b/ocaml/ocamldoc/.depend @@ -480,8 +480,7 @@ odoc_info.cmi : \ odoc_extension.cmi \ odoc_exception.cmi \ odoc_class.cmi \ - ../parsing/location.cmi \ - ../parsing/asttypes.cmi + ../parsing/location.cmi odoc_latex.cmo : \ odoc_to_text.cmi \ odoc_messages.cmi \ @@ -594,8 +593,7 @@ odoc_misc.cmx : \ odoc_misc.cmi : \ ../typing/types.cmi \ odoc_types.cmi \ - ../parsing/longident.cmi \ - ../parsing/asttypes.cmi + ../parsing/longident.cmi odoc_module.cmo : \ ../typing/types.cmi \ odoc_value.cmi \ @@ -743,6 +741,7 @@ odoc_see_lexer.cmx : \ odoc_see_lexer.cmi : \ odoc_parser.cmi odoc_sig.cmo : \ + ../typing/typetexp.cmi \ ../typing/types.cmi \ ../typing/typedtree.cmi \ ../parsing/parsetree.cmi \ @@ -769,6 +768,7 @@ odoc_sig.cmo : \ ../parsing/asttypes.cmi \ odoc_sig.cmi odoc_sig.cmx : \ + ../typing/typetexp.cmx \ ../typing/types.cmx \ ../typing/typedtree.cmx \ ../parsing/parsetree.cmi \ @@ -950,7 +950,6 @@ odoc_value.cmo : \ odoc_parameter.cmi \ odoc_name.cmi \ odoc_misc.cmi \ - ../parsing/asttypes.cmi \ odoc_value.cmi odoc_value.cmx : \ ../typing/types.cmx \ @@ -958,7 +957,6 @@ odoc_value.cmx : \ odoc_parameter.cmx \ odoc_name.cmx \ odoc_misc.cmx \ - ../parsing/asttypes.cmi \ odoc_value.cmi odoc_value.cmi : \ ../typing/types.cmi \ diff --git a/ocaml/stdlib/.depend b/ocaml/stdlib/.depend index da69bd133a4..5d1fd7f4266 100644 --- a/ocaml/stdlib/.depend +++ b/ocaml/stdlib/.depend @@ -541,10 +541,14 @@ stdlib__Int64.cmx : int64.ml \ stdlib__Int64.cmi : int64.mli \ stdlib.cmi stdlib__Int64_u.cmo : int64_u.ml \ + stdlib__Nativeint_u.cmi \ + stdlib__Int32_u.cmi \ stdlib.cmi \ stdlib__Int64.cmi \ stdlib__Int64_u.cmi stdlib__Int64_u.cmx : int64_u.ml \ + stdlib__Nativeint_u.cmx \ + stdlib__Int32_u.cmx \ stdlib.cmx \ stdlib__Int64.cmx \ stdlib__Int64_u.cmi @@ -666,10 +670,12 @@ stdlib__Nativeint.cmx : nativeint.ml \ stdlib__Nativeint.cmi : nativeint.mli \ stdlib.cmi stdlib__Nativeint_u.cmo : nativeint_u.ml \ + stdlib__Int32_u.cmi \ stdlib.cmi \ stdlib__Nativeint.cmi \ stdlib__Nativeint_u.cmi stdlib__Nativeint_u.cmx : nativeint_u.ml \ + stdlib__Int32_u.cmx \ stdlib.cmx \ stdlib__Nativeint.cmx \ stdlib__Nativeint_u.cmi