There is a small problem with Makefile.ocaml and camlp4 in the
current CIL svn. There should be a vpath entry on line 308:
vpath %.p4 $(SOURCEDIRS)
otherwise ocamldep breaks when building dependencies for .p4 files.
Also, there was a bug in my diff for camlp4 support, line 340
(current CIL svn) should be deleted, there's no need to move the .ml
file because it's generated in the correct position in the first place.
If you delete that line it all works ok. Sorry about that, I didn't
notice it in the diff I submitted to the list.
Another thing, in src/ext/pta/uref.ml, if you're using the union-find
refs with recursive types, where the function argument f of
"Uref.unify" might itself call Uref.unify, then you might not terminate.
Here's a patch (diff against current svn) for uref.ml that fixes the
link before evaluating f, so recursive unify terminates. This might
not be what you want for all uses of Uref.
diff cil/src/ext/pta/uref.ml ../locksmith/cil/src/ext/pta/uref.ml
< let x = f(px,qx) in
> let x () = f(px,qx) in
< p' := Ecr(x,pr)
> p' := Ecr(x (),pr)
< (q' := Ecr(x,qr+1); p' := Link q')
> (p' := Link q'; q' := Ecr(x (),qr+1))
< (q' := Ecr(x,qr); p' := Link q')
> (p' := Link q'; q' := Ecr(x (),qr))
< (p' := Ecr(x,pr); q' := Link p')
> (q' := Link p'; p' := Ecr(x (),pr))