[PPL-devel] configuration

Enea Zaffanella zaffanella at cs.unipr.it
Mon Aug 27 19:01:35 CEST 2007


Hello Basile.

I guess that the "specific README file" you are looking for is the
    README.configure
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
   --enable-instantiations
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.

Cheers,
Enea Zaffanella.


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?
> 
> Regards.



More information about the PPL-devel mailing list