On Monday 22 February 2010 21:46:36 Julia Lawall wrote: > On Mon, 22 Feb 2010, Alexander Færøy wrote: > > > On Mon, Feb 22, 2010 at 07:29:20PM +0100, Julia Lawall wrote: > > > Allowing more than one -I path is probably doable. It will be up to the > > > user to figure out what those include paths should be, though. > > > > Hm, an extension to that, which I would find particular useful, would be > > to emulate CC's command-line interface. Perhaps as a small wrapper of > > some sort. > > > > This would allow people to run Coccinelle with their semantical patches > > far more easily with their current build-system. For example: A simple > > Makefile-based build-system, that honours standard Makefile-conventions, > > would use the CC variable to get the C-compiler. This would allow the > > developer, who wants to run Coccinelle on his or hers project, to execute > > the build-system with: make CC="cocci_wrapper" > > CFLAGS="-semantical-patch=foobar.cocci" and you'd get all the > > include-paths and such for free, even if those has to expanded via > > pkg-config or some other of its kind. > > > > Clang's statical analyzer already follows this approach and they've made > > it very painless to work with. Examples are available from their > > website[1]. > > > > If you think this is worth working for, then I'd be happy to give it a > > shot, although my OCaml-skills are rusty. > > I think it would be useful, for some applications anyway. I would imagine > that it would only require adjusting main.ml, which is the file that > interprets the command-line arguments.
You may also take a look at the spp.ml file in the tools directory. It's a wrapper of cpp than launch Coccinelle on the preprocessed code. An example is in demos/spp to use it. -- Nicolas Palix Tel: (+33) 1 44 27 87 25 _______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
