Updated and extended for PPL 0.10.

This commit is contained in:
Roberto Bagnara 2008-11-04 13:11:56 +00:00
parent 96cfd37195
commit 018be6cad8
8 changed files with 184 additions and 466 deletions

View File

@ -1 +1 @@
ppl-0.9.tar.gz
ppl-0.10.tar.gz

View File

@ -1,28 +0,0 @@
diff -ur ppl-0.9/configure ppl-0.9-patched/configure
--- ppl-0.9/configure 2006-03-12 09:11:32.000000000 +0100
+++ ppl-0.9-patched/configure 2007-06-07 15:19:05.000000000 +0200
@@ -2389,8 +2389,8 @@
fi
-CFLAGS="$COMP_FLAGS $OPT_FLAGS"
-CXXFLAGS="$COMP_FLAGS $OPT_FLAGS"
+CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
+CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
enableval=mpz
echo "$as_me:$LINENO: checking the type of integral values to use as coefficients" >&5
diff -ur ppl-0.9/Watchdog/configure ppl-0.9-patched/Watchdog/configure
--- ppl-0.9/Watchdog/configure 2006-03-12 09:11:24.000000000 +0100
+++ ppl-0.9-patched/Watchdog/configure 2007-06-07 16:07:50.000000000 +0200
@@ -5112,8 +5112,8 @@
;;
esac
-CFLAGS="$COMP_FLAGS $OPT_FLAGS"
-CXXFLAGS="$COMP_FLAGS $OPT_FLAGS"
+CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
+CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
# Allow additions to C and C++ compilation flags

View File

@ -1,11 +0,0 @@
diff -ur ppl-0.9/utils/timings.cc ppl-0.9-patched/utils/timings.cc
--- ppl-0.9/utils/timings.cc 2006-01-01 09:27:38.000000000 +0100
+++ ppl-0.9-patched/utils/timings.cc 2008-02-13 19:15:10.000000000 +0100
@@ -29,6 +29,7 @@
#include <iomanip>
#include <cstring>
#include <cerrno>
+#include <cstdlib>
#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>

View File

@ -1,248 +0,0 @@
*** ppl-0.9/interfaces/Prolog/GNU/README.gprolog 1970-01-01 01:00:00.000000000 +0100
--- ppl-0.9-patched/interfaces/Prolog/GNU/README.gprolog 2007-02-18 11:37:53.000000000 +0100
***************
*** 0 ****
--- 1,36 ----
+ The GNU Prolog interface to the PPL is available both as a ``PPL
+ enhanced'' GNU Prolog interpreter and as a library that can be linked
+ to GNU Prolog programs. Only GNU Prolog version 1.2.19 and later
+ versions are supported.
+
+ So that it can be used with the GNU Prolog PPL interface (and, for
+ that matter, with any foreign code), the GNU Prolog installation must
+ be configured with the `--disable-regs' option.
+
+
+ The `ppl_gprolog' Executable
+ ----------------------------
+
+ The `ppl_gprolog' executable is simply the GNU Prolog interpreter with
+ the Parma Polyhedra Library linked in. The only thing you should do
+ to use the library is to call `ppl_initialize/0' before any other PPL
+ predicate and to call `ppl_finalize/0' when you are done with the
+ library.
+
+
+ Linking the Library To GNU Prolog Programs
+ ------------------------------------------
+
+ In order to allow linking GNU Prolog programs to the PPL, the
+ following files are installed in the directory `<prefix>/lib/ppl',
+ where <prefix> is the root of your installation (`/usr' or
+ `/usr/local' in most cases): `ppl_gprolog.pl' contains the required
+ foreign declarations; `libppl_gprolog.*' contain the executable code
+ for the GNU Prolog interface in various formats (static library,
+ shared library, libtool library). If your GNU Prolog program is
+ constituted by, say, `source1.pl' and `source2.pl' and you want to
+ create the executable `myprog', your compilation command may look like
+
+ gplc -o myprog <prefix>/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
+ -L '-L<prefix>/lib/ppl -lppl_gprolog -L<prefix>/lib \
+ -lppl -lgmpxx -lgmp -lstdc++'
*** ppl-0.9/interfaces/Prolog/SWI/README.swiprolog 1970-01-01 01:00:00.000000000 +0100
--- ppl-0.9-patched/interfaces/Prolog/SWI/README.swiprolog 2007-02-18 11:38:09.000000000 +0100
***************
*** 0 ****
--- 1,33 ----
+ The SWI-Prolog interface to the PPL is available both as a statically
+ linked module or as a dynamically linked one. Only SWI-Prolog version
+ 5.6.0 and later versions are supported.
+
+
+ The `ppl_pl' Executable
+ -----------------------
+
+ The `ppl_pl' executable is simply the SWI-Prolog shell with the Parma
+ Polyhedra Library statically linked: from within `ppl_pl' all the
+ services of the library are available without further action.
+
+
+ Loading the SWI-Prolog Interface Dynamically
+ --------------------------------------------
+
+ In order to dynamically load the library from SWI-Prolog you should
+ simply load `<prefix>/lib/ppl/ppl_swiprolog.pl', where <prefix> is the
+ root of your installation (`/usr' or `/usr/local' in most cases).
+ This will invoke `ppl_initialize/0' and `ppl_finalize/0'
+ automatically. Alternatively, you can load the library directly with
+
+ :- load_foreign_library('<prefix>/lib/ppl/libppl_swiprolog').
+
+ This will call `ppl_initialize/0' automatically. Analogously,
+
+ :- unload_foreign_library('<prefix>/lib/ppl/libppl_swiprolog').
+
+ will, as part of the unload process, invoke `ppl_finalize/0'.
+
+ Notice that, for dynamic linking to work, you should have configured
+ the library with the `--enable-shared' option (on most platforms this
+ is the default).
*** ppl-0.9/interfaces/Prolog/YAP/README.yap 1970-01-01 01:00:00.000000000 +0100
--- ppl-0.9-patched/interfaces/Prolog/YAP/README.yap 2007-02-18 11:38:21.000000000 +0100
***************
*** 0 ****
--- 1,11 ----
+ The YAP Prolog interface to the PPL is available as a dynamically
+ linked module. Only YAP version 5.1.1 and following are supported.
+
+ In order to dynamically load the library from YAP you should simply
+ load `<prefix>/lib/ppl/ppl_yap.pl', where <prefix> is the root of your
+ installation (`/usr' or `/usr/local' in most cases). This will invoke
+ `ppl_initialize/0' automatically; it is the programmer's
+ responsibility to call `ppl_finalize/0' when the PPL library is no
+ longer needed. Notice that, for dynamic linking to work, you should
+ have configured the library with the `--enable-shared' option (on most
+ platforms this is the default).
*** ppl-0.9/Watchdog/README.doc 1970-01-01 01:00:00.000000000 +0100
--- ppl-0.9-patched/Watchdog/README.doc 2007-02-18 11:37:34.000000000 +0100
***************
*** 0 ****
--- 1,5 ----
+ Use the Source, Luke!
+
+ Seriously, for this release of the Parma Watchdog Library,
+ documentation is only available in the sources, in Doxygen format.
+ Proper manuals will be included in future releases.
diff -ur ppl-0.9/doc/Makefile.in ppl-0.9-patched/doc/Makefile.in
--- ppl-0.9/doc/Makefile.in 2006-03-12 09:11:41.000000000 +0100
+++ ppl-0.9-patched/doc/Makefile.in 2007-06-12 20:41:45.000000000 +0200
@@ -710,7 +710,7 @@
for file in $(srcdir)/*.txt $(srcdir)/README.doc; do \
$(INSTALL_DATA) $$file $(DESTDIR)$(txtdir)/`basename $$file`; \
done
- for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure ; do \
+ for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure TODO ; do \
$(INSTALL_DATA) $(srcdir)/../$$file $(DESTDIR)$(txtdir)/$$file; \
done
@@ -719,7 +719,7 @@
uninstall-txt:
rm -f $(DESTDIR)$(txtdir)/*.txt $(DESTDIR)$(txtdir)/README.doc
- for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure ; do \
+ for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure TODO ; do \
rm -f $(DESTDIR)$(txtdir)/$$file; \
done
diff -ur ppl-0.9/doc/definitions.dox ppl-0.9-patched/doc/definitions.dox
--- ppl-0.9/doc/definitions.dox 2006-02-12 10:13:39.000000000 +0100
+++ ppl-0.9-patched/doc/definitions.dox 2007-07-02 14:22:03.000000000 +0200
@@ -2286,7 +2286,7 @@
\anchor BHRZ03b
R.&nbsp;Bagnara, P.&nbsp;M. Hill, E.&nbsp;Ricci, and E.&nbsp;Zaffanella.
Precise widening operators for convex polyhedra.
- Quaderno 312, Dipartimento di Matematica, Università di Parma,
+ Quaderno 312, Dipartimento di Matematica, Università di Parma,
Italy, 2003.
Available at <A HREF="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</A>.
@@ -2299,7 +2299,7 @@
R.&nbsp;Bagnara, P.&nbsp;M. Hill, and E.&nbsp;Zaffanella.
A new encoding and implementation of not necessarily closed convex
polyhedra.
- Quaderno 305, Dipartimento di Matematica, Università di Parma,
+ Quaderno 305, Dipartimento di Matematica, Università di Parma,
Italy, 2002.
Available at <A HREF="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</A>.
@@ -2315,8 +2315,8 @@
the 1st CoLogNet Workshop on Component-based Software Development and
Implementation Technology for Computational Logic Systems</i>, pages 147-153,
Madrid, Spain, 2002.
- Published as TR Number CLIP4/02.0, Universidad Politécnica de
- Madrid, Facultad de Informática.
+ Published as TR Number CLIP4/02.0, Universidad Politécnica de
+ Madrid, Facultad de Informática.
</DD>
@@ -2353,7 +2353,7 @@
\anchor BHZ04
R.&nbsp;Bagnara, P.&nbsp;M. Hill, and E.&nbsp;Zaffanella.
Widening operators for powerset domains.
- Quaderno 349, Dipartimento di Matematica, Università di Parma,
+ Quaderno 349, Dipartimento di Matematica, Università di Parma,
Italy, 2004.
Available at <A HREF="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</A>.
@@ -2365,7 +2365,7 @@
\anchor BJT99
F.&nbsp;Besson, T.&nbsp;P. Jensen, and J.-P. Talpin.
Polyhedral analysis for synchronous languages.
- In A.&nbsp;Cortesi and G.&nbsp;Filé, editors, <i>Static Analysis:
+ In A.&nbsp;Cortesi and G.&nbsp;Filé, editors, <i>Static Analysis:
Proceedings of the 6th International Symposium</i>, volume 1694 of <i>Lecture
Notes in Computer Science</i>, pages 51-68, Venice, Italy, 1999.
Springer-Verlag, Berlin.
@@ -2393,7 +2393,7 @@
R.&nbsp;Bagnara, E.&nbsp;Ricci, E.&nbsp;Zaffanella, and P.&nbsp;M. Hill.
Possibly not closed convex polyhedra and the Parma Polyhedra
Library.
- Quaderno 286, Dipartimento di Matematica, Università di Parma,
+ Quaderno 286, Dipartimento di Matematica, Università di Parma,
Italy, 2002.
See also \ref BRZH02c "[BRZH02c]". Available at
<A HREF="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</A>.
@@ -2541,7 +2541,7 @@
E.&nbsp;Gawrilow and M.&nbsp;Joswig.
<tt>polymake</tt>: a framework for analyzing convex polytopes.
In G.&nbsp;Kalai and G.&nbsp;M. Ziegler, editors, <i>Polytopes -
- Combinatorics and Computation</i>, pages 43-74. Birkhäuser, 2000.
+ Combinatorics and Computation</i>, pages 43-74. Birkhäuser, 2000.
</DD>
@@ -2562,10 +2562,10 @@
<DD>
\anchor Hal79
N.&nbsp;Halbwachs.
- <i>Détermination Automatique de Relations Linéaires
- Vérifiées par les Variables d'un Programme</i>.
- Thèse de 3ème cycle d'informatique,
- Université scientifique et médicale de Grenoble, Grenoble, France, March
+ <i>Détermination Automatique de Relations Linéaires
+ Vérifiées par les Variables d'un Programme</i>.
+ Thèse de 3ème cycle d'informatique,
+ Université scientifique et médicale de Grenoble, Grenoble, France, March
1979.
</DD>
@@ -2725,7 +2725,7 @@
F.&nbsp;Masdupuy.
<i>Array Indices Relational Semantic Analysis Using Rational Cosets
and Trapezoids</i>.
- Thèse d'informatique, École Polytechnique, Palaiseau, France,
+ Thèse d'informatique, École Polytechnique, Palaiseau, France,
December 1993.
</DD>
diff -ur ppl-0.9/NEWS ppl-0.9-patched/NEWS
--- ppl-0.9/NEWS 2006-03-05 18:31:24.000000000 +0100
+++ ppl-0.9-patched/NEWS 2007-07-02 14:22:29.000000000 +0200
@@ -1006,10 +1006,10 @@
of the widenings introduced in
N. Halbwachs.
- Détermination Automatique de Relations Linéaires
- Vérifiées par les Variables d'un Programme.
- Thèse de 3ème cicle d'informatique,
- Université scientifique et médicale de Grenoble,
+ Détermination Automatique de Relations Linéaires
+ Vérifiées par les Variables d'un Programme.
+ Thèse de 3ème cicle d'informatique,
+ Université scientifique et médicale de Grenoble,
Grenoble, France, March 1979.
and described in
diff -ur ppl-0.9/TODO ppl-0.9-patched/TODO
--- ppl-0.9/TODO 2006-03-05 22:50:55.000000000 +0100
+++ ppl-0.9-patched/TODO 2007-07-02 14:22:40.000000000 +0200
@@ -37,7 +37,7 @@
- Reimplement the ask-and-tell generic construction.
- Suppose we are only interested in integral solutions (as is the
case, e.g., in most termination analyses). Then cutting-plane methods
- (Gomory, Chvátal, ...) allow to shrink polyhedra still not losing any
+ (Gomory, Chvátal, ...) allow to shrink polyhedra still not losing any
integral solution.
See http://www.cs.unipr.it/ppl/Documentation/bibliography#NemhauserW88

View File

@ -1,48 +0,0 @@
diff -ur ppl-0.9/interfaces/Prolog/GNU/Makefile.in ppl-0.9-patched/interfaces/Prolog/GNU/Makefile.in
--- ppl-0.9/interfaces/Prolog/GNU/Makefile.in 2006-03-12 09:11:43.000000000 +0100
+++ ppl-0.9-patched/interfaces/Prolog/GNU/Makefile.in 2007-06-07 21:58:12.000000000 +0200
@@ -700,7 +700,7 @@
@BUILD_GNU_PROLOG_INTERFACE_TRUE@ppl_gprolog$(EXEEXT): libppl_gprolog.la ppl_gprolog.pl
@BUILD_GNU_PROLOG_INTERFACE_TRUE@ gplc --c-compiler $(CXX) -o $@ \
@BUILD_GNU_PROLOG_INTERFACE_TRUE@ $(srcdir)/ppl_gprolog.pl $(LIBPPL_GPROLOG) \
-@BUILD_GNU_PROLOG_INTERFACE_TRUE@ -L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -L$(top_builddir)/Watchdog/src/.libs -lpwl -lgmpxx -lgmp'
+@BUILD_GNU_PROLOG_INTERFACE_TRUE@ -L '$(AM_CXXFLAGS) $(CXXFLAGS) -Wl,-rpath -Wl,$(pkglibdir) -L$(top_builddir)/src/.libs -lppl -L$(top_builddir)/Watchdog/src/.libs -lpwl -lgmpxx -lgmp'
@BUILD_GNU_PROLOG_INTERFACE_TRUE@gp_clpq: libppl_gprolog.la ppl_gprolog.pl gp_clpq.pl ../tests/clpq.pl
@BUILD_GNU_PROLOG_INTERFACE_TRUE@ gplc --c-compiler $(CXX) -o $@ \
diff -ur ppl-0.9/interfaces/C/Makefile.in ppl-0.9-patched/interfaces/C/Makefile.in
--- ppl-0.9/interfaces/C/Makefile.in 2006-03-12 09:11:41.000000000 +0100
+++ ppl-0.9-patched/interfaces/C/Makefile.in 2007-06-08 19:25:19.000000000 +0200
@@ -90,7 +90,8 @@
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
-libppl_c_la_LIBADD =
+@BUILD_C_INTERFACE_TRUE@libppl_c_la_DEPENDENCIES = \
+@BUILD_C_INTERFACE_TRUE@ $(top_builddir)/src/libppl.la
am__libppl_c_la_SOURCES_DIST = ppl_c.cc
@BUILD_C_INTERFACE_TRUE@am_libppl_c_la_OBJECTS = ppl_c.lo
libppl_c_la_OBJECTS = $(am_libppl_c_la_OBJECTS)
@@ -342,6 +343,10 @@
@BUILD_C_INTERFACE_TRUE@lib_LTLIBRARIES = libppl_c.la
@BUILD_C_INTERFACE_TRUE@libppl_c_la_SOURCES = ppl_c.cc
+@BUILD_C_INTERFACE_TRUE@libppl_c_la_LIBADD = \
+@BUILD_C_INTERFACE_TRUE@$(top_builddir)/src/libppl.la \
+@BUILD_C_INTERFACE_TRUE@@extra_libraries@
+
@BUILD_C_INTERFACE_TRUE@libppl_c_la_LDFLAGS = \
@BUILD_C_INTERFACE_TRUE@-version-info $(LIBPPL_C_LT_CURRENT):$(LIBPPL_C_LT_REVISION):$(LIBPPL_C_LT_AGE)
diff -ur ppl-0.9/src/Makefile.in ppl-0.9-patched/src/Makefile.in
--- ppl-0.9/src/Makefile.in 2006-03-12 09:11:46.000000000 +0100
+++ ppl-0.9-patched/src/Makefile.in 2007-06-08 19:21:17.000000000 +0200
@@ -708,7 +708,7 @@
swapping_sort.icc
@NO_UNDEFINED_TRUE@NO_UNDEFINED_FLAG = -no-undefined
-@NO_UNDEFINED_TRUE@libppl_la_LIBADD = @extra_libraries@
+libppl_la_LIBADD = @extra_libraries@
libppl_la_LDFLAGS = \
$(NO_UNDEFINED_FLAG) \
-version-info $(LIBPPL_LT_CURRENT):$(LIBPPL_LT_REVISION):$(LIBPPL_LT_AGE)

View File

@ -1,42 +0,0 @@
diff -ur ppl-0.9/configure ppl-0.9-patched/configure
--- ppl-0.9/configure 2006-03-12 09:11:32.000000000 +0100
+++ ppl-0.9-patched/configure 2008-09-08 15:38:34.000000000 +0200
@@ -14929,7 +14929,7 @@
swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";/\1/'`
- SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include"
+ SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
ac_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $SWI_PROLOG_INCLUDE_OPTIONS"
ac_ext=cc
diff -ur ppl-0.9/interfaces/Prolog/SWI/Makefile.in ppl-0.9-patched/interfaces/Prolog/SWI/Makefile.in
--- ppl-0.9/interfaces/Prolog/SWI/Makefile.in 2006-03-12 09:11:44.000000000 +0100
+++ ppl-0.9-patched/interfaces/Prolog/SWI/Makefile.in 2008-09-08 16:16:05.000000000 +0200
@@ -728,7 +728,7 @@
# Notice: we are linking statically until we understand whether
# and if libtool and plld can interoperate.
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ppl_pl$(EXEEXT): ppl_swiprolog.o ppl_pl.o | libppl_swiprolog.la
-@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -v -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " ","` \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -o $@ $+ \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -L$(top_builddir)/src/.libs -lppl \
@@ -736,7 +736,7 @@
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ @extra_libraries@
@BUILD_SWI_PROLOG_INTERFACE_TRUE@pl_clpq$(EXEEXT): ppl_swiprolog.o pl_clpq.o pl_clpq.pl ../tests/clpq.pl | libppl_swiprolog.la
-@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -v -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " ","` \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -o $@ $+ \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -L$(top_builddir)/src/.libs -lppl \
@@ -744,7 +744,7 @@
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ @extra_libraries@
@BUILD_SWI_PROLOG_INTERFACE_TRUE@pl_clpq2$(EXEEXT): ppl_swiprolog.o pl_clpq.o pl_clpq.pl ../tests/clpq2.pl | libppl_swiprolog.la
-@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+@BUILD_SWI_PROLOG_INTERFACE_TRUE@ plld -v -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " ","` \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -o $@ $+ \
@BUILD_SWI_PROLOG_INTERFACE_TRUE@ -L$(top_builddir)/src/.libs -lppl \

269
ppl.spec
View File

@ -1,27 +1,26 @@
Name: ppl
Version: 0.9
Release: 25%{?dist}
#%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
Summary: The Parma Polyhedra Library: a library of numerical abstractions
Group: Development/Libraries
License: GPLv2+
URL: http://www.cs.unipr.it/ppl/
Source0: ftp://ftp.cs.unipr.it/pub/ppl/releases/%{version}/%{name}-%{version}.tar.gz
Source1: ppl.hh
Source2: ppl_c.h
Source3: pwl.hh
Patch0: ppl-0.9-docfiles.patch
Patch1: ppl-0.9-configure.patch
Patch2: ppl-0.9-makefiles.patch
Patch3: ppl-0.9-cstdlib.patch
Patch4: ppl-0.9-swiprolog.patch
Name: ppl
Version: 0.10
Release: 1%{?dist}
Summary: The Parma Polyhedra Library: a library of numerical abstractions
Group: Development/Libraries
License: GPLv3+
URL: http://www.cs.unipr.it/ppl/
Source0: ftp://ftp.cs.unipr.it/pub/ppl/releases/%{version}/%{name}-%{version}.tar.gz
Source1: ppl.hh
Source2: ppl_c.h
Source3: pwl.hh
#Patch0: none
#Patch1: none
#Icon:
#Requires:
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
BuildRequires: gmp-devel >= 4.1.3
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
#Prefix: /usr
BuildRequires: gmp-devel >= 4.1.3
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
#Prefix: /usr
%description
The Parma Polyhedra Library (PPL) is a library for the manipulation of
@ -37,38 +36,38 @@ software. This package provides all what is necessary to run
applications using the PPL through its C and C++ interfaces.
%package devel
Summary: Development tools for the Parma Polyhedra Library C and C++ interfaces
Group: Development/Libraries
Requires: ppl = %{version}-%{release}, gmp-devel >= 4.1.3
Summary: Development tools for the Parma Polyhedra Library C and C++ interfaces
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}, gmp-devel >= 4.1.3
%description devel
The header files, Autoconf macro, documentation, and ppl-config tool
developing applications using the Parma Polyhedra Library through its
C and C++ interfaces.
The header files, Autoconf macro and minimal documentation for
developing applications using the Parma Polyhedra Library through
its C and C++ interfaces.
%package static
Summary: Static archives for the Parma Polyhedra Library C and C++ interfaces
Group: Development/Libraries
Requires: ppl-devel = %{version}-%{release}
Summary: Static archives for the Parma Polyhedra Library C and C++ interfaces
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
The static archives for the Parma Polyhedra Library C and C++ interfaces.
%package utils
Summary: Utilities using the Parma Polyhedra Library
Group: Development/Libraries
Requires: ppl = %{version}-%{release}
BuildRequires: glpk-devel >= 4.13
Summary: Utilities using the Parma Polyhedra Library
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
BuildRequires: glpk-devel >= 4.13
%description utils
This package contains the (mixed integer) linear programming solver ppl_lpsol
This package contains the mixed integer linear programming solver ppl_lpsol
and the program ppl_lcdd for vertex/facet enumeration of convex polyhedra.
%ifnarch ppc64
%package gprolog
# The `gprolog' package is not available on ppc64:
# the GNU Prolog interface must thus be disabled for that architecture.
Summary: The GNU Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: gprolog >= 1.2.19
Requires: ppl = %{version}-%{release}, ppl-pwl = %{version}-%{release}, gprolog >= 1.2.19
Summary: The GNU Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: gprolog >= 1.2.19
Requires: %{name} = %{version}-%{release}, %{name}-pwl = %{version}-%{release}, gprolog >= 1.2.19
%description gprolog
This package adds GNU Prolog support to the Parma Polyhedra Library (PPL).
Install this package if you want to use the library in GNU Prolog programs.
@ -76,62 +75,93 @@ Install this package if you want to use the library in GNU Prolog programs.
%ifnarch ppc64
%package gprolog-static
Summary: The static archive for the GNU Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
Requires: ppl-gprolog = %{version}-%{release}
Summary: The static archive for the GNU Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
Requires: %{name}-gprolog = %{version}-%{release}
%description gprolog-static
This package contains the static archive for the GNU Prolog interface
of the Parma Polyhedra Library.
%endif
%package swiprolog
Summary: The SWI-Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: pl-devel >= 5.6.57-2
Requires: ppl = %{version}-%{release}, ppl-pwl = %{version}-%{release}, pl >= 5.6.57-2
Summary: The SWI-Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: pl-devel >= 5.6.57-2
Requires: %{name} = %{version}-%{release}, %{name}-pwl = %{version}-%{release}, pl >= 5.6.57-2
%description swiprolog
This package adds SWI-Prolog support to the Parma Polyhedra Library.
Install this package if you want to use the library in SWI Prolog programs.
Install this package if you want to use the library in SWI-Prolog programs.
%package swiprolog-static
Summary: The static archive for the SWI-Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: pl-devel >= 5.6.57-2, pl-static >= 5.6.57-2
Requires: ppl-swiprolog = %{version}-%{release}
Summary: The static archive for the SWI-Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: pl-devel >= 5.6.57-2, pl-static >= 5.6.57-2
Requires: %{name}-swiprolog = %{version}-%{release}
%description swiprolog-static
This package contains the static archive for the SWI-Prolog interface
of the Parma Polyhedra Library.
%package yap
Summary: The YAP Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: yap-devel >= 5.1.1
Requires: ppl = %{version}-%{release}, ppl-pwl = %{version}-%{release}, yap >= 5.1.1
Summary: The YAP Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: yap-devel >= 5.1.1
Requires: %{name} = %{version}-%{release}, %{name}-pwl = %{version}-%{release}, yap >= 5.1.1
%description yap
This package adds YAP Prolog support to the Parma Polyhedra Library (PPL).
Install this package if you want to use the library in YAP Prolog programs.
%package yap-static
Summary: The static archive for the YAP Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: yap-devel >= 5.1.1
Requires: ppl-yap = %{version}-%{release}
%description yap-static
This package contains the static archive for the YAP Prolog interface
#%package ocaml
#Summary: The OCaml interface of the Parma Polyhedra Library
#Group: Development/Libraries
#BuildRequires: ocaml >= 3.09
#Requires: %{name} = %{version}-%{release}
#%description ocaml
#This package adds Objective Caml (OCaml) support to the Parma
#Polyhedra Library. Install this package if you want to use the
#library in OCaml programs.
#%package ocaml-devel
#Summary: The OCaml interface of the Parma Polyhedra Library
#Group: Development/Libraries
#Requires: %{name}-ocaml = %{version}-%{release}
#%description ocaml-devel
#This package contains libraries and signature files for developing
#applications using the OCaml interface of the Parma Polyhedra Library.
%package java
Summary: The Java interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jpackage-utils
Requires: java-devel >= 1:1.6.0
Requires: jpackage-utils
Requires: %{name} = %{version}-%{release}
%description java
This package adds Java support to the Parma Polyhedra Library.
Install this package if you want to use the library in Java programs.
%package java-javadoc
Summary: Javadocs for %{name}-java
Group: Documentation
Requires: %{name}-java = %{version}-%{release}
Requires: jpackage-utils
%description java-javadoc
This package contains the API documentation for Java interface
of the Parma Polyhedra Library.
%package docs
Summary: Documentation for the Parma Polyhedra Library
Group: Documentation
Requires: ppl = %{version}-%{release}
Summary: Documentation for the Parma Polyhedra Library
Group: Documentation
Requires: %{name} = %{version}-%{release}
%description docs
This package contains all the documentations required by programmers
using the Parma Polyhedra Library (PPL).
Install this package if you want to program with the PPL.
%package pwl
Summary: The Parma Watchdog Library: a C++ library for watchdog timers
Group: Development/Libraries
Summary: The Parma Watchdog Library: a C++ library for watchdog timers
Group: Development/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description pwl
@ -142,28 +172,34 @@ PWL. The PWL is currently distributed with the Parma Polyhedra
Library, but is totally independent from it.
%package pwl-devel
Summary: Development tools for the Parma Watchdog Library
Group: Development/Libraries
Requires: ppl-pwl = %{version}-%{release}
Summary: Development tools for the Parma Watchdog Library
Group: Development/Libraries
Requires: %{name}-pwl = %{version}-%{release}
%description pwl-devel
The header files, documentation and static libraries for developing
applications using the Parma Watchdog Library.
%package pwl-static
Summary: Static archive for the Parma Watchdog Library
Group: Development/Libraries
Requires: ppl-pwl-devel = %{version}-%{release}
Summary: Static archive for the Parma Watchdog Library
Group: Development/Libraries
Requires: %{name}-pwl-devel = %{version}-%{release}
%description pwl-static
This package contains the static archive for the Parma Watchdog Library.
%package pwl-docs
Summary: Documentation for the Parma Watchdog Library
Group: Documentation
Requires: %{name}-pwl = %{version}-%{release}
%description pwl-docs
This package contains all the documentations required by programmers
using the Parma Watchdog Library (PWL).
Install this package if you want to program with the PWL.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
#%patch0 -p1
#%patch1 -p1
%build
CPPFLAGS="-I%{_includedir}/glpk"
@ -171,9 +207,11 @@ CPPFLAGS="-I%{_includedir}/glpk"
CPPFLAGS="$CPPFLAGS -I%{_libdir}/gprolog-`gprolog --version 2>&1 | head -1 | sed -e "s/.* \([^ ]*\)$/\1/g"`/include"
%endif
CPPFLAGS="$CPPFLAGS -I%{_includedir}/Yap"
%configure --enable-shared --disable-rpath CPPFLAGS="$CPPFLAGS"
%configure --enable-shared --disable-rpath --enable-interfaces="c++ c gnu_prolog swi_prolog yap_prolog java" CPPFLAGS="$CPPFLAGS"
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' Watchdog/libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' Watchdog/libtool
make %{?_smp_mflags}
%install
@ -204,6 +242,12 @@ install -m644 %{SOURCE2} %{buildroot}/%{_includedir}/ppl_c.h
mv %{buildroot}/%{_includedir}/pwl.hh %{buildroot}/%{_includedir}/pwl-${normalized_arch}.hh
install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/pwl.hh
# Install the Javadocs for ppl-java.
mkdir -p %{buildroot}%{_javadocdir}
mv \
%{buildroot}/%{_datadir}/doc/%{name}/ppl-user-java-interface-%{version}-html \
%{buildroot}%{_javadocdir}/%{name}-java
%files
%defattr(-,root,root,-)
%doc %{_datadir}/doc/%{name}/BUGS
@ -212,24 +256,27 @@ install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/pwl.hh
%doc %{_datadir}/doc/%{name}/ChangeLog
%doc %{_datadir}/doc/%{name}/NEWS
%doc %{_datadir}/doc/%{name}/README
%doc %{_datadir}/doc/%{name}/README.configure
%doc %{_datadir}/doc/%{name}/TODO
%doc %{_datadir}/doc/%{name}/gpl.*
%{_libdir}/libppl.so.*
%{_libdir}/libppl_c.so.*
%{_bindir}/ppl-config
%{_mandir}/man1/ppl-config.1.gz
%dir %{_libdir}/%{name}
%dir %{_datadir}/doc/%{name}
%files devel
%defattr(-,root,root,-)
%doc %{_datadir}/doc/%{name}/README.configure
%{_includedir}/ppl*.hh
%{_includedir}/ppl_c*.h
%{_libdir}/libppl.so
%{_libdir}/libppl_c.so
%{_bindir}/ppl-config
%{_mandir}/man1/ppl-config.1.gz
%{_mandir}/man3/libppl.3.gz
%{_mandir}/man3/libppl_c.3.gz
%{_datadir}/aclocal/ppl.m4
%{_datadir}/aclocal/ppl_c.m4
%files static
%defattr(-,root,root,-)
@ -275,26 +322,61 @@ install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/pwl.hh
%{_libdir}/%{name}/ppl_yap.pl
%{_libdir}/%{name}/ppl_yap.so
%files yap-static
#%files ocaml
#%defattr(-,root,root,-)
#%doc interfaces/OCaml/README.ocaml
#%{_libdir}/%{name}/ppl_ocaml.cma
#%{_libdir}/%{name}/ppl_ocaml.cmi
#%{_libdir}/%{name}/ppl_ocaml_globals.cmi
#%files ocaml-devel
#%defattr(-,root,root,-)
#%{_libdir}/%{name}/libppl_ocaml.a
#%{_libdir}/%{name}/ppl_ocaml.mli
%files java
%defattr(-,root,root,-)
%{_libdir}/%{name}/ppl_yap.a
%doc interfaces/Java/README.java
%{_libdir}/%{name}/libppl_java.so
%{_libdir}/%{name}/ppl_java.jar
%files java-javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}-java
%files docs
%defattr(-,root,root,-)
%doc %{_datadir}/doc/%{name}/README.doc
%doc %{_datadir}/doc/%{name}/ppl-user-0.9-html/
%doc %{_datadir}/doc/%{name}/fdl.*
%doc %{_datadir}/doc/%{name}/ppl-user-0.9.pdf
%doc %{_datadir}/doc/%{name}/ppl-user-0.9.ps.gz
%doc %{_datadir}/doc/%{name}/ppl-user-%{version}-html/
%doc %{_datadir}/doc/%{name}/ppl-user-c-interface-%{version}-html/
#%doc %{_datadir}/doc/%{name}/ppl-user-ocaml-interface-%{version}-html/
%doc %{_datadir}/doc/%{name}/ppl-user-prolog-interface-%{version}-html/
%doc %{_datadir}/doc/%{name}/ppl-user-%{version}.pdf
%doc %{_datadir}/doc/%{name}/ppl-user-c-interface-%{version}.pdf
%doc %{_datadir}/doc/%{name}/ppl-user-java-interface-%{version}.pdf
#%doc %{_datadir}/doc/%{name}/ppl-user-ocaml-interface-%{version}.pdf
%doc %{_datadir}/doc/%{name}/ppl-user-prolog-interface-%{version}.pdf
%doc %{_datadir}/doc/%{name}/ppl-user-%{version}.ps.gz
%doc %{_datadir}/doc/%{name}/ppl-user-c-interface-%{version}.ps.gz
%doc %{_datadir}/doc/%{name}/ppl-user-java-interface-%{version}.ps.gz
#%doc %{_datadir}/doc/%{name}/ppl-user-ocaml-interface-%{version}.ps.gz
%doc %{_datadir}/doc/%{name}/ppl-user-prolog-interface-%{version}.ps.gz
%files pwl
%defattr(-,root,root,-)
%doc Watchdog/BUGS Watchdog/COPYING Watchdog/CREDITS Watchdog/ChangeLog Watchdog/NEWS Watchdog/README
%doc %{_datadir}/doc/pwl/BUGS
%doc %{_datadir}/doc/pwl/COPYING
%doc %{_datadir}/doc/pwl/CREDITS
%doc %{_datadir}/doc/pwl/ChangeLog
%doc %{_datadir}/doc/pwl/NEWS
%doc %{_datadir}/doc/pwl/README
%doc %{_datadir}/doc/pwl/gpl.*
%{_libdir}/libpwl.so.*
%files pwl-devel
%defattr(-,root,root,-)
%doc Watchdog/README.doc
%doc Watchdog/doc/README.doc
%{_includedir}/pwl*.hh
%{_libdir}/libpwl.so
@ -302,6 +384,14 @@ install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/pwl.hh
%defattr(-,root,root,-)
%{_libdir}/libpwl.a
%files pwl-docs
%defattr(-,root,root,-)
%doc %{_datadir}/doc/pwl/README.doc
%doc %{_datadir}/doc/pwl/fdl.*
%doc %{_datadir}/doc/pwl/pwl-user-0.5-html/
%doc %{_datadir}/doc/pwl/pwl-user-0.5.pdf
%doc %{_datadir}/doc/pwl/pwl-user-0.5.ps.gz
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post pwl -p /sbin/ldconfig
@ -311,6 +401,11 @@ install -m644 %{SOURCE3} %{buildroot}/%{_includedir}/pwl.hh
rm -rf %{buildroot}
%changelog
* Thu Nov 4 2008 Roberto Bagnara <bagnara@cs.unipr.it> 0.10-1
- Updated and extended for PPL 0.10. In particular, the `ppl-config'
program, being useful also for non-development activities, has been
brought back to the main package.
* Tue Sep 30 2008 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-25
- The `swiprolog' package now requires pl >= 5.6.57-2.

View File

@ -1 +1 @@
4096c2927b36fbf7c5329a53b035bc33 ppl-0.9.tar.gz
610a60c9bda8a36bd41f90b732f906b3 ppl-0.10.tar.gz