Portability

Maximum portability is one of the objectives of the Parma Polyhedra Library. For this reason, the library is written following international standards (C++, C, Prolog and so forth), using sophisticate configuration tools (Autoconf, Automake, Libtool), based on widely available components (such as the GMP library), and with the help of an extensive test-suite we use for regression testing.

Nonetheless, the development of the PPL mostly takes place on systems that are based on the IA-32 and x86_64 architectures and run variants of the GNU/Linux operating system. Thus, while we make every possible effort to ensure portability at release time, we cannot guarantee this for the Git master's head revision.

Here is a list of platforms where, at some stage, we have seen the head revision of the library to pass `make check'. If you want to use the PPL on other architectures and/or other operating systems we will be glad to work with you in order to fix the problems that may arise.

  • IA-32, x86-64, 32-bit and 64-bit PowerPC, 32-bit and 64-bit Sparc, IA-64, HP PA-RISC, DEC Alpha, old-ABI and EABI ARM, running GNU/Linux, all reasonably recent versions of the major distributions (Fedora, Debian, Mandriva, OpenSuse, Ubuntu, Gentoo, CentOS and so forth);
  • PowerPC, IA-32 and x86-64 running Mac OS X;
  • IA-32 running FreeBSD;
  • IA-32 running Cygwin;
  • IA-32 running Windows, via MinGW;
  • SPARC running SunOS 5.8 (Solaris, last tested on March 2002);
  • MIPS running IRIX64 6.5 (last tested on February 2003);
  • DEC Alpha running DEC OSF/1 V4.0 (last tested on February 2003).

Please, help us keep this list as up-to-date as possible: if you have tried to build and install PPL on a system not listed here, do send us a note regarding your experience, be it positive or negative.