10.17. PPL-0.12.1 64 Bit

The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems. CLooG-PPL requires this library.

10.17.1. Installation of PPL

Prepare PPL for compilation:

CPPFLAGS=-fexceptions CC="gcc -isystem /usr/include ${BUILD64}" \
CXX="g++ -isystem /usr/include ${BUILD64}" \
LDFLAGS="-Wl,-rpath-link,/usr/lib64:/lib64 ${BUILD64}" \
  ./configure --prefix=/usr --libdir=/usr/lib64 \
    --enable-shared --disable-optimization

Compile the package:

make
[Important]

Important

The test suite for PPL is considered critical. Do not skip it under any circumstance.

Test the results:

make check

Install the package:

make install

Prepare ppl-config to be wrapped by the multiarch wrapper and then wrap it:

mv -v /usr/bin/ppl-config{,-64}
ln -svf multiarch_wrapper /usr/bin/ppl-config

Create the 64bit header file:

mv -v /usr/include/ppl{,-64}.hh

Finally, create a stub header in the place of the originals:

cat > /usr/include/ppl.hh << "EOF"
/* ppl.hh - Stub Header  */
#ifndef __STUB__PPL_HH__
#define __STUB__PPL_HH__

#if defined(__x86_64__) || \
    defined(__sparc64__) || \
    defined(__arch64__) || \
    defined(__powerpc64__) || \
    defined (__s390x__)
# include "ppl-64.h"
#else
# include "ppl-32.h"
#endif

#endif /* __STUB__PPL_HH__ */
EOF

10.17.2. Contents of PPL

Installed programs: ppl-config, ppl_lcdd, ppl_pips
Installed libraries: libppl.[a,so], libppl_c.[a,so]
Installed directories: /usr/share/doc/ppl

Short Descriptions

ppl-config

Outputs information about the PPL installation

ppl_lcdd

Reads an H-representation of a polyhedron and generates a V-representation of the same polyhedron

ppl_pips

A PPL-based parametric integer programming problem solver

libppl

The Parma Polyhedra Library (PPL).

libppl_c

The Parma Polyhedra Library bindings for C.

libpwl

The Parma Watchdog Library