Generate select rules explicitely in gen_rules
This commit is contained in:
parent
75269117cd
commit
950a37b1ad
|
@ -610,6 +610,7 @@ module Gen(P : Install_rules.Params) = struct
|
|||
Lib.DB.get_compile_info (Scope.libs scope) lib.name
|
||||
~allow_overlaps:lib.buildable.allow_overlapping_dependencies
|
||||
in
|
||||
SC.Libs.gen_select_rules sctx compile_info ~dir;
|
||||
let requires =
|
||||
SC.Libs.requires sctx compile_info
|
||||
~dir ~has_dot_merlin:true
|
||||
|
@ -881,6 +882,7 @@ module Gen(P : Install_rules.Params) = struct
|
|||
~pps:(Jbuild.Preprocess_map.pps exes.buildable.preprocess)
|
||||
~allow_overlaps:exes.buildable.allow_overlapping_dependencies
|
||||
in
|
||||
SC.Libs.gen_select_rules sctx compile_info ~dir;
|
||||
let requires =
|
||||
SC.Libs.requires sctx ~dir
|
||||
~has_dot_merlin:true
|
||||
|
|
|
@ -255,8 +255,8 @@ let source_files t ~src_path =
|
|||
module Libs = struct
|
||||
open Build.O
|
||||
|
||||
let add_select_rules t ~dir resolved_selects =
|
||||
List.iter resolved_selects ~f:(fun rs ->
|
||||
let gen_select_rules t ~dir compile_info =
|
||||
List.iter (Lib.Compile.resolved_selects compile_info) ~f:(fun rs ->
|
||||
let { Lib.Compile.Resolved_select.dst_fn; src_fn } = rs in
|
||||
let dst = Path.relative dir dst_fn in
|
||||
add_rule t
|
||||
|
@ -271,7 +271,6 @@ module Libs = struct
|
|||
}))
|
||||
|
||||
let requires t ~dir ~has_dot_merlin compile_info =
|
||||
add_select_rules t ~dir (Lib.Compile.resolved_selects compile_info);
|
||||
let requires =
|
||||
Build.of_result_map (Lib.Compile.requires compile_info)
|
||||
~f:Build.return
|
||||
|
|
|
@ -139,6 +139,9 @@ module Libs : sig
|
|||
-> Lib.Compile.t
|
||||
-> (unit, Lib.L.t) Build.t
|
||||
|
||||
(** Generate the rules for the [(select ...)] forms in library dependencies *)
|
||||
val gen_select_rules : t -> dir:Path.t -> Lib.Compile.t -> unit
|
||||
|
||||
(** [file_deps ~ext] is an arrow that record dependencies on all the
|
||||
files with extension [ext] of the libraries given as input. *)
|
||||
val file_deps : t -> ext:string -> (Lib.t list, Lib.t list) Build.t
|
||||
|
|
Loading…
Reference in New Issue