@@ -90,7 +90,7 @@ module External = struct
9090 | Ocaml Cmi , Public , _ -> public_cmi_ocaml_dir t
9191 | Melange Cmi , Public , _ -> public_cmi_melange_dir t
9292 | Melange Cmj , _ , _ -> t.melange_dir
93- | Ocaml (Cmo | Cmx ), _ , _ -> t.public_dir
93+ | Ocaml (Cmo | Cmx | Cmt | Cmti ), _ , _ -> t.public_dir
9494 ;;
9595
9696 let encode
@@ -165,7 +165,7 @@ module External = struct
165165 let cm_public_dir t (cm_kind : Lib_mode.Cm_kind.t ) =
166166 match cm_kind with
167167 | Ocaml Cmx -> native_dir t
168- | Ocaml Cmo -> byte_dir t
168+ | Ocaml ( Cmo | Cmt | Cmti ) -> byte_dir t
169169 | Ocaml Cmi -> public_cmi_ocaml_dir t
170170 | Melange Cmj -> melange_dir t
171171 | Melange Cmi -> public_cmi_melange_dir t
@@ -321,14 +321,14 @@ module Local = struct
321321 let cm_dir t (cm_kind : Lib_mode.Cm_kind.t ) _ =
322322 match cm_kind with
323323 | Ocaml Cmx -> native_dir t
324- | Ocaml (Cmo | Cmi ) -> byte_dir t
324+ | Ocaml (Cmo | Cmi | Cmt | Cmti ) -> byte_dir t
325325 | Melange (Cmj | Cmi ) -> melange_dir t
326326 ;;
327327
328328 let cm_public_dir t (cm_kind : Lib_mode.Cm_kind.t ) =
329329 match cm_kind with
330330 | Ocaml Cmx -> native_dir t
331- | Ocaml Cmo -> byte_dir t
331+ | Ocaml ( Cmo | Cmt | Cmti ) -> byte_dir t
332332 | Ocaml Cmi -> public_cmi_ocaml_dir t
333333 | Melange Cmj -> melange_dir t
334334 | Melange Cmi -> public_cmi_melange_dir t
@@ -513,7 +513,8 @@ module Module = struct
513513
514514 let has_impl_if_needed m ~(kind : Lib_mode.Cm_kind.t ) =
515515 match kind with
516- | Ocaml (Cmo | Cmx ) | Melange Cmj -> Module. has m ~ml_kind: Impl
516+ | Ocaml (Cmo | Cmx | Cmt ) | Melange Cmj -> Module. has m ~ml_kind: Impl
517+ | Ocaml Cmti -> Module. has m ~ml_kind: Intf
517518 | Ocaml Cmi | Melange Cmi -> true
518519 ;;
519520
@@ -575,17 +576,20 @@ module Module = struct
575576
576577 let cmt_file t m ~(ml_kind : Ml_kind.t ) ~cm_kind =
577578 let file = Module. file m ~ml_kind in
578- let ext = Ml_kind. cmt_ext ml_kind in
579+ let ext =
580+ match ml_kind with
581+ | Impl -> Cm_kind. ext Cmt
582+ | Intf -> Cm_kind. ext Cmti
583+ in
579584 let cmi_kind = Lib_mode.Cm_kind. cmi cm_kind in
580585 Option. map file ~f: (fun _ -> obj_file t m ~kind: cmi_kind ~ext )
581586 ;;
582587
583588 let cmti_file t m ~cm_kind =
584589 let ext =
585- Ml_kind. cmt_ext
586- (match Module. file m ~ml_kind: Intf with
587- | None -> Impl
588- | Some _ -> Intf )
590+ match Module. file m ~ml_kind: Intf with
591+ | None -> Cm_kind. ext Cmt
592+ | Some _ -> Cm_kind. ext Cmti
589593 in
590594 let cmi_kind = Lib_mode.Cm_kind. cmi cm_kind in
591595 obj_file t m ~kind: cmi_kind ~ext
0 commit comments