Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Targets that spit out the files needed to install a .mllib #6067

Closed
vicuna opened this issue Jul 8, 2013 · 3 comments
Closed

Targets that spit out the files needed to install a .mllib #6067

vicuna opened this issue Jul 8, 2013 · 3 comments

Comments

@vicuna
Copy link

vicuna commented Jul 8, 2013

Original bug ID: 6067
Reporter: @dbuenzli
Status: resolved (set by @damiendoligez on 2017-03-01T15:49:13Z)
Resolution: suspended
Priority: normal
Severity: feature
Category: -for ocamlbuild use https://github.com/ocaml/ocamlbuild/issues
Related to: #5185
Monitored by: @gasche kerneis @hcarty gildor

Bug description

The idea would be to introduce targets corresponding to mllib so that we know which files need to be installed to get a correctly working lib.

Given the mllib: src/vg.mllib with:

Vg
Vgr_pdf
Vgr_svg

Invoking ocamlbuild src/vg.libfiles would create the following text file _build/src/vg.libfiles:

vgr_pdf.mli
vgr_pdf.cmi
vgr_pdf.cmx
vgr_svg.mli
vgr_svg.cmi
vgr_svg.cmx
vg.mli
vg.cmi
vg.cmx
vg.cma
vg.a
vg.cmxa
vg.cmxs

Alternatively we could have two targets src/vg.libbytefiles and src/vg.libnativefiles, the disadvantage is that the intersection would not be empty.

Alternatively we could have a target src/vg.libbyte and src/vg.libnative that actually builds all the needed targets and spits out/adds to the above src/vg.libfile according to what was invoked (but I guess that adding to a file must not be easy).

@vicuna
Copy link
Author

vicuna commented Nov 2, 2013

Comment author: @hhugo

I like better the two target 'src/vg.libbytefiles' and 'src/vg.libnativefiles'.
Maybe a 3rd one for native plugin ?

Theses rules could depend on *cma *cmxa *cmxs so then one can check what has been build from a precomputed (from *.mllib) set of possible targets (Vg.cmx or vg.cmx, lib##.ext_lib, dll##.ext_dll, ...)

@vicuna
Copy link
Author

vicuna commented Nov 2, 2013

Comment author: gildor

Have you ever open the file setup.log generate by OASIS after a build ? Look at the extract at end of the comment.

We do exactly that in OASIS and you can know precisely what to install and what has been generated looking at setup.log.

It also covers the documentation generated and the binary created (byte or native depending on what you can do).

Sylvain

"is_built_lib_oUnitAdvanced" "true"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAdvanced.cma"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAdvanced.cmxa"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAdvanced.a"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAdvanced.cmxs"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitUtils.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitPropList.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitPlugin.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitChooser.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitResultSummary.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerStd.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerHTML.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerHTMLData.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerJUnit.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAssert.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitBracket.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitTest.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitState.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitRunner.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitRunnerProcesses.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCore.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLogger.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitConf.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitShared.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCache.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitTestData.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCheckEnv.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitDiff.cmi"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitUtils.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitPropList.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitPlugin.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitChooser.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitResultSummary.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerStd.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerHTML.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerHTMLData.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLoggerJUnit.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitAssert.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitBracket.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitTest.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitState.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitRunner.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitRunnerProcesses.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCore.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitLogger.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitConf.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitShared.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCache.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitTestData.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitCheckEnv.cmx"
"built_lib_oUnitAdvanced" "/home/gildor/programmation/ounit/_build/src/oUnitDiff.cmx"
"is_built_lib_oUnit" "true"
"built_lib_oUnit" "/home/gildor/programmation/ounit/_build/src/oUnit.cma"
"built_lib_oUnit" "/home/gildor/programmation/ounit/_build/src/oUnit.cmxa"
"built_lib_oUnit" "/home/gildor/programmation/ounit/_build/src/oUnit.a"
"built_lib_oUnit" "/home/gildor/programmation/ounit/_build/src/oUnit.cmxs"
"built_lib_oUnit" "/home/gildor/programmation/ounit/_build/src/oUnit.cmi"
....

@vicuna
Copy link
Author

vicuna commented Mar 1, 2017

Comment author: @damiendoligez

ocamlbuild is now a separate project that lives on GitHub.
PR transferred to ocaml/ocamlbuild#196

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant