Change .merlin generation to not use PKG
We know the build directory of exteranl packages, hence we should simply use it as the build and source dir (B and S respectively).
This commit is contained in:
parent
2f25401c74
commit
2b442c6019
|
@ -48,18 +48,18 @@ let dot_merlin sctx ~dir ~scope ({ requires; flags; _ } as t) =
|
||||||
requires &&& flags
|
requires &&& flags
|
||||||
>>^ (fun (libs, flags) ->
|
>>^ (fun (libs, flags) ->
|
||||||
let ppx_flags = ppx_flags sctx ~dir ~scope ~src_dir:remaindir t in
|
let ppx_flags = ppx_flags sctx ~dir ~scope ~src_dir:remaindir t in
|
||||||
let internals, externals =
|
let libs =
|
||||||
List.fold_left libs ~init:([], []) ~f:(fun (internals, externals) ->
|
List.fold_left libs ~init:[] ~f:(fun acc ->
|
||||||
|
let serialize_path = Path.reach ~from:remaindir in
|
||||||
function
|
function
|
||||||
| Lib.Internal (path, lib) ->
|
| Lib.Internal (path, lib) ->
|
||||||
let spath =
|
let spath =
|
||||||
Path.drop_optional_build_context path
|
serialize_path (Path.drop_optional_build_context path) in
|
||||||
|> Path.reach ~from:remaindir
|
let bpath = serialize_path (Lib.lib_obj_dir path lib) in
|
||||||
in
|
("S " ^ spath) :: ("B " ^ bpath) :: acc
|
||||||
let bpath = Path.reach (Lib.lib_obj_dir path lib) ~from:remaindir in
|
|
||||||
("S " ^ spath) :: ("B " ^ bpath) :: internals, externals
|
|
||||||
| Lib.External pkg ->
|
| Lib.External pkg ->
|
||||||
internals, ("PKG " ^ Findlib.Package.name pkg) :: externals
|
let external_dir = serialize_path (Findlib.Package.dir pkg) in
|
||||||
|
("S " ^ external_dir) :: ("B " ^ external_dir) :: acc
|
||||||
)
|
)
|
||||||
in
|
in
|
||||||
let source_dirs =
|
let source_dirs =
|
||||||
|
@ -85,8 +85,7 @@ let dot_merlin sctx ~dir ~scope ({ requires; flags; _ } as t) =
|
||||||
List.concat
|
List.concat
|
||||||
[ source_dirs
|
[ source_dirs
|
||||||
; objs_dirs
|
; objs_dirs
|
||||||
; internals
|
; libs
|
||||||
; externals
|
|
||||||
; flags
|
; flags
|
||||||
; ppx_flags
|
; ppx_flags
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue