Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey, it's Friday - why have one port when you can have two? This is presently based on #9. Only the last two commits are new.
The addition of the opam file should be non-controversial - it's just the one from opam-repository with the addition of a
version
field. This version gets picked up byjbuilder
and transferred to the generated META file. In general, once released, it's worth bumping the version indbm.opam
(just like we do withVERSION
in OCaml) as that means if you pin the package in opam, it looks like a newer version at once.This port differs from #8 in a few ways:
configure
is called byjbuild
rules. Importantly,configure
can also be called manually which will take precedent (this is done using Dune'sfallback
mode for generated files).Makefile
is preserved - I certainly prefer typingmake
, even in a Dune project. The old targets are maintained. I have ported over the oldinstall
target for completeness - though obviously installation usingopam-installer
(orjbuilder install
) would be preferred.The only future work which would want doing here would be to eliminate the
configure
script and convert it to Configurator, but this is best left until the imminent release of Dune 1.0.0.I haven't tried this on MSVC, because there are limits even to my ability to distract myself from what I should be doing. I would anticipate it would work as long as the
c-flags.sexp
andc-library-flags.sexp
are generated by hand with the correct flags to point cl at the header and import library.