zaffanella at cs.unipr.it
Mon Aug 27 19:01:35 CEST 2007
I guess that the "specific README file" you are looking for is the
that can be found in the distribution of the library.
Unfortunately, this does not describe (yet) the use of configuration
options allowing for the activation (and population) of foreign language
interfaces. The main reason is that the support for on-demand generation
of foreign language interfaces is new to version 0.10, which is still
under development. This is also the reason why this info is missing from
the web site, which describes the latest release (0.9).
Anyway, you are right that this info should be present in CVS (even
though "configure --help" mentions options --enable-interfaces and
--enable-instantiations, it fails to explain how to properly use them)
and we would like to thank you for reporting the problem.
(Any further hint on ways to improve the library or its documentation
will be appreciated.)
So, let me have a try at a brief explanation ...
As far as option "--enable-interfaces" is concerned, you basically got
it right. As a side note, listing "cxx" is not needed, since C++ is the
native language of the library.
You might also want to use option
to require the generation of foreign language interfaces (for the
languages specified in the other option) for a specific set of abstract
domains. For instance,
--enable-instantiations=Polyhedron at Grid
will generate the interfaces for the domains of polyhedra (both closed
and NNC) and grids. Currently, the default is to build the domain of
polyhedra and the domain BD_Shape<int8_t> (as you might guess, this
default was merely chosen for development/debugging purposes).
Regarding the installation problem you report, it seems to be a bug in
the current makefiles: if things were correct, ppl_c.h should have been
installed in the proper place. We will fix this problem asap.
I should better check, but I guess that you should be able to find in
the includes subdir of the installation directory a file named
"ppl_c_version.h". Maybe you can check for this in order to see if the C
language interface was installed. Let me also mention that, after the
library is successfully built, you should be able to run program
`ppl-config', providing a lot of info regarding the configuration of the
library (see the help). I guess that, when things will become stable,
this will be the proper way to query the library capabilities.
Basile STARYNKEVITCH wrote:
> Hello All,
> I am still missing a specific README file or an HTML page explaining all
> the details of PPL
> configuration and compilation (ie all the traps possible at build time).
> I feel that PPL is more configurable than most plain GNU stuff, hence that
> some basic documentation about PPL configuration and compilation is
> useful, in particular to newscomers.
> May I suggest to (at least) add something like:
> PPL is usable from programs written in C, C++, Ocaml, Prolog.
> You'll need to pass the appropriate --enable-interfaces flag to its
> configure script.
> to the "General Information on the PPL" page
> http://www.cs.unipr.it/ppl/Documentation/user/ in the Main Features section.
> or perhaps to add a "Building PPL" [sub-] section
> (I had a hardware crash and I did lost my previous PPL configuration
> -but not much else than configuration files- and I had to try several
> times to find the right configuration to me)
> with the ppl-0.10pre7 snapshot (or pre-release?) configured thru
> ./configure '--enable-interfaces=c,cxx,ocaml' '--sysconfdir=/etc/local'
> a make install does not install any ppl_c.h file, as I would expect. Is
> it normal or did I misunderstood something (probable)?
> Actually, I need to test in a autconf file (gcc/configure.ac) the
> availability of the C interface to PPL.
> Any ideas?
More information about the PPL-devel