-
Notifications
You must be signed in to change notification settings - Fork 33
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
[WIP] Change build system #157
Conversation
This should be reviewable. The build system now uses |
It seems that the branch still has conflicts with next |
What was the rational for not moving to ocp-build but to dune? The |
Note that originally, I tried ocp-build, but later switched to dune. This was for the following reason:
About the prefix/libdir/sharedir: it is sort of necessary (at least part of it) because these values are used in |
The goal is not to remove these variables but that dune support them out of the box, so that How do you want to support plugins? For Frama-C, I'm defining plugins as an usual public library stanza just with the convention that they start with the same prefix |
It would be great if dune was in charge of generating the config.ml file, however, I could not find how to do that in the current dune docs: there seems to be some support for substitution variables/watermaks (such as Currently, as far as I understand, plugins in alt-ergo are simply seen as an archive file (either .cma or .cmxs), rather than a proper ocaml lib. Thus for now, they're are built as private libraries, and I added an install stanza to install the relevant .cma/.cmxs file, but using findlib.dynload would probably be much cleaner (cc @OCamlPro-Iguernlala ?). |
I was not clear, it is not yet done, ocaml/dune#1579, but should be soon or at least the use cases supported in another way. It would also allow to ask the final binary to be relocatable.
The advantage is to allow other people to easily create plugins. |
I'm not expert of dune and/or findlib. But if using findlib.dynload would be cleaner, why not ! |
2532ebc
to
f5bf798
Compare
Rebased and ready to be reviewed. |
All comments fixed, ^^ |
Rebased (correctly this time). |
echo "==============================================================================================="; | ||
./main_script.sh "-inequalities-plugin `pwd`/../sources/fm-simplex-plugin.cmxs" | ||
echo "==============================================================================================="; | ||
./main_script.sh "-inequalities-plugin `pwd`/../sources/_build/install/default/share/plugins/fm-simplex-plugin.cmxs" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have/need a link for plugins in sources/ ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are plugins sufficiently frequently used to need symlinks ?
|
|
Typo fixed. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
almost OK.
- remove
-annot
flag - make sure that every commit compiles (to easy, for instance, git bisect)
Hop ! big change ! |
Change build system
Switch to manual makefiles to ocp-build, and use ocp-autoconf. At the same time, perform a big cleanup of Makefiles (effectively, all the makefiles of
next
have been removed, and a new makefile written).Remaining TODOS:
Still WIP, not ready to be merged.