···11+22+- Support for large package builds. On build generate a `pkg.itarget`
33+ at the root with the files to build and invoke `ocamlbuild` with
44+ `pkg.otarget` rather than the explicit list of files. The
55+ `pkg.itarget` file can be ignored by your VCS as it is generated on
66+ the fly on each build. As a side effect, improves error reporting on
77+ build failures.
88+19v1.1.0 2025-07-23 Zagreb
210------------------------
311
+3-1
vendor/opam/topkg/src/topkg_build.ml
···4343let nop = fun _ -> Ok ()
44444545let cmd c os files =
4646- Topkg_os.Cmd.run @@ Topkg_cmd.(build_cmd c os %% of_list files)
4646+ let targets = String.concat "\n" files in
4747+ Topkg_os.File.write "pkg.itarget" targets >>= fun () ->
4848+ Topkg_os.Cmd.run @@ Topkg_cmd.(build_cmd c os % "pkg.otarget")
47494850let clean os ~build_dir =
4951 Topkg_os.Cmd.run @@ clean_cmd os ~build_dir
+1
vendor/opam/topkg/src/topkg_pkg.ml
···306306 let file = install_file p in
307307 let build_dir = build_dir p in
308308 Topkg_os.File.delete file
309309+ >>= fun () -> Topkg_os.File.delete "pkg.itarget"
309310 >>= fun () -> (Topkg_build.clean p.build) os ~build_dir
310311 >>= fun () -> Ok 0
311312