Compare commits

...

6 Commits
rawhide ... f7

Author SHA1 Message Date
Fedora Release Engineering 44e531fd01 dist-git conversion 2010-07-29 09:42:36 +00:00
Bill Nottingham efa0a3fb4b Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:43:55 +00:00
Roberto Bagnara 94630a11a9 Bug 246815 had been fixed: YAP support enabled again. 2007-07-06 09:11:18 +00:00
Roberto Bagnara f8d82a3683 The `gprolog' package is not available on ppc64: the GNU Prolog interface
must thus be disabled for that architecture. Disable YAP support until
    bug 246815 is fixed. Bug 243084 has been fixed: `ppl-swiprolog'
    dependency on `readline-devel' removed.
2007-07-05 14:34:52 +00:00
Roberto Bagnara c464528993 Initial checkin. 2007-07-04 19:38:08 +00:00
Kevin Fenzi ee8cb0e55d Initialize branch F-7 for ppl 2007-07-04 18:21:04 +00:00
8 changed files with 783 additions and 21 deletions

View File

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
ppl-0.9.tar.gz

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: ppl
# $Id$
NAME := ppl
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

28
ppl-0.9-configure.patch Normal file
View File

@ -0,0 +1,28 @@
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

248
ppl-0.9-docfiles.patch Normal file
View File

@ -0,0 +1,248 @@
*** 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

48
ppl-0.9-makefiles.patch Normal file
View File

@ -0,0 +1,48 @@
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)

457
ppl.spec Normal file
View File

@ -0,0 +1,457 @@
Name: ppl
Version: 0.9
Release: 13%{?dist}
Summary: The Parma Polyhedra Library: a library of numerical abstractions
Group: Development/Libraries
License: GPL
URL: http://www.cs.unipr.it/ppl/
Source: ftp://ftp.cs.unipr.it/pub/ppl/releases/%{version}/%{name}-%{version}.tar.gz
Patch0: ppl-0.9-docfiles.patch
Patch1: ppl-0.9-configure.patch
Patch2: ppl-0.9-makefiles.patch
#Icon:
#Requires:
BuildRequires: gmp-devel >= 4.1.3
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
#Prefix: /usr
%description
The Parma Polyhedra Library (PPL) is a library for the manipulation of
(not necessarily closed) convex polyhedra and other numerical
abstractions. The applications of convex polyhedra include program
analysis, optimized compilation, integer and combinatorial
optimization and statistical data-editing. The Parma Polyhedra
Library comes with several user friendly interfaces, is fully dynamic
(available virtual memory is the only limitation to the dimension of
anything), written in accordance to all the applicable standards,
exception-safe, rather efficient, thoroughly documented, and free
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
%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.
%package static
Summary: Static archives for the Parma Polyhedra Library C and C++ interfaces
Group: Development/Libraries
Requires: ppl-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
%description utils
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
%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.
%endif
%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}
%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 >= 5.6.0
Requires: ppl = %{version}-%{release}, ppl-pwl = %{version}-%{release}, pl >= 5.6.0, readline-devel
%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.
%package swiprolog-static
Summary: The static archive for the SWI-Prolog interface of the Parma Polyhedra Library
Group: Development/Libraries
BuildRequires: pl >= 5.6.0
Requires: ppl-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
%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
of the Parma Polyhedra Library.
%package docs
Summary: Documentation for the Parma Polyhedra Library
Group: Documentation
Requires: ppl = %{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
%description pwl
The Parma Watchdog Library (PWL) provides support for multiple,
concurrent watchdog timers on systems providing setitimer(2). This
package provides all what is necessary to run applications using the
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}
%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}
%description pwl-static
This package contains the static archive for the Parma Watchdog Library.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
CPPFLAGS="-I%{_includedir}/glpk"
%ifnarch ppc64
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"
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
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} INSTALL="%{__install} -p" install
rm -f %{buildroot}%{_libdir}/*.la %{buildroot}%{_libdir}/%{name}/*.la
%files
%defattr(-,root,root,-)
%doc %{_datadir}/doc/%{name}/BUGS
%doc %{_datadir}/doc/%{name}/COPYING
%doc %{_datadir}/doc/%{name}/CREDITS
%doc %{_datadir}/doc/%{name}/ChangeLog
%doc %{_datadir}/doc/%{name}/NEWS
%doc %{_datadir}/doc/%{name}/README
%doc %{_datadir}/doc/%{name}/TODO
%doc %{_datadir}/doc/%{name}/gpl.*
%{_libdir}/libppl.so.*
%{_libdir}/libppl_c.so.*
%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
%{_datadir}/aclocal/ppl.m4
%files static
%defattr(-,root,root,-)
%{_libdir}/libppl.a
%{_libdir}/libppl_c.a
%files utils
%defattr(-,root,root,-)
%{_bindir}/ppl_lcdd
%{_bindir}/ppl_lpsol
%{_mandir}/man1/ppl_lcdd.1.gz
%{_mandir}/man1/ppl_lpsol.1.gz
%ifnarch ppc64
%files gprolog
%defattr(-,root,root,-)
%doc interfaces/Prolog/GNU/README.gprolog
%{_bindir}/ppl_gprolog
%{_libdir}/%{name}/ppl_gprolog.pl
%{_libdir}/%{name}/libppl_gprolog.so
%endif
%ifnarch ppc64
%files gprolog-static
%defattr(-,root,root,-)
%{_libdir}/%{name}/libppl_gprolog.a
%endif
%files swiprolog
%defattr(-,root,root,-)
%doc interfaces/Prolog/SWI/README.swiprolog
%{_bindir}/ppl_pl
%{_libdir}/%{name}/libppl_swiprolog.so
%{_libdir}/%{name}/ppl_swiprolog.pl
%files swiprolog-static
%defattr(-,root,root,-)
%{_libdir}/%{name}/libppl_swiprolog.a
%files yap
%defattr(-,root,root,-)
%doc interfaces/Prolog/YAP/README.yap
%{_libdir}/%{name}/ppl_yap.pl
%{_libdir}/%{name}/ppl_yap.so
%files yap-static
%defattr(-,root,root,-)
%{_libdir}/%{name}/ppl_yap.a
%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
%files pwl
%defattr(-,root,root,-)
%doc Watchdog/BUGS Watchdog/COPYING Watchdog/CREDITS Watchdog/ChangeLog Watchdog/NEWS Watchdog/README
%{_libdir}/libpwl.so.*
%files pwl-devel
%defattr(-,root,root,-)
%doc Watchdog/README.doc
%{_includedir}/pwl.hh
%{_libdir}/libpwl.so
%files pwl-static
%defattr(-,root,root,-)
%{_libdir}/libpwl.a
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post pwl -p /sbin/ldconfig
%postun pwl -p /sbin/ldconfig
%clean
rm -rf %{buildroot}
%changelog
* Fri Jul 06 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-13
- Bug 246815 had been fixed: YAP support enabled again.
* Thu Jul 05 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-12
- Disable YAP support until bug 246815 is fixed.
- Bug 243084 has been fixed: `ppl-swiprolog' dependency on `readline-devel'
removed.
* Thu Jul 05 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-11
- The `gprolog' package is not available on the ppc64 architecture:
so do `ppl-gprolog' and `ppl-gprolog-static'.
* Tue Jul 03 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-10
- Use `%%{buildroot}' consistently, instead of `$RPM_BUILD_ROOT'.
* Mon Jul 02 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-9
- Patch NEWS, TODO and doc/definitions.dox so as to use the
UTF-8 encoding instead of ISO-8859.
* Tue Jun 12 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-8
- Patch the `libtool' script after `%%configure' so as to fix
the rpath issue.
- Revised the description of the `devel' package.
- Include also the `TODO' file in the documentation of the main package.
* Thu Jun 07 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-7
- `%%install' commands revised.
* Thu Jun 07 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-6
- All the static archives are now in `*-static' packages.
- Packages `ppl-gprolog-devel', `ppl-swiprolog-devel' and `ppl-yap-devel'
renamed `ppl-gprolog', `ppl-swiprolog' and `ppl-yap',
respectively.
- As a workaround for a bug in the `pl' package (Bugzilla Bug 243084),
`ppl-swiprolog' is now dependent on `readline-devel'.
- Added `%%dir %%{_datadir}/doc/%%{name}'.
- The `ppl-user-0.9-html' documentation directory is now properly listed.
- Remove installed *.la files.
- Added a `ppl-0.9-configure.patch' to avoid overriding CFLAGS and CXXFLAGS.
* Wed Jun 06 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-5
- Use `%%{_includedir}' and `%%{_libdir}' instead of `/usr/include'
and `/usr/lib', respectively.
- Use `%%{_datadir}/doc/%%{name}' instead of `/usr/share/doc/ppl'.
- Replaced `%%defattr(-,root,root)' with `%%defattr(-,root,root,-)'.
* Fri Feb 23 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-4
- The user manual (in various formats) is now in the `docs' package.
* Thu Feb 22 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-3
- Dependencies for YAP fixed.
- Make sure the header files of GNU Prolog and YAP are found.
* Wed Feb 21 2007 Roberto Bagnara <bagnara@cs.unipr.it>
- Added missing dependencies.
* Sun Feb 18 2007 Roberto Bagnara <bagnara@cs.unipr.it>
- `%%doc' tags corrected for the Prolog interfaces.
- Tabs used consistently instead of spaces.
* Sat Feb 17 2007 Roberto Bagnara <bagnara@cs.unipr.it>
- Make `swiprolog-devel' depend on `pl' (at leat 5.6); documentation added.
- The `yap' package has been renamed `yap-devel' and completed.
- The `gprolog' package has been renamed `gprolog-devel' and completed.
- The `ppl_lcdd' and `ppl_lpsol' programs are now in a new `utils' package.
- The `ppl-config' program is now in the `devel' package.
- Modified the configuration command so that the `glpk-devel' include files
are found.
* Sun Feb 11 2007 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-2
- The `%%_libdir/ppl' is no longer orphaned.
- Use `make %%{?_smp_mflags}' for building.
- The `swi' package has been renamed `swiprolog-devel'.
* Sat Feb 10 2007 Roberto Bagnara <bagnara@cs.unipr.it>
- Added the `%%changelog' section.
- `Release' set to 2.
- `Packager' and `Vendor' tags removed.
- `Summary' fields are no longer ended with a dot.
- The value of the `License' tag is now `GPL'.
- Removed unused definition of `builddir'.
- The `Name', `Version' and `Release' tags are now directly defined.
- Commented out the efinitions of the `Require' and `Prefix' tags.
- Set the `BuildRequires' tag to `gmp-devel'.
- Exploit the features of `%%setup', `%%configure', `%%install',
`%%post' and `%%postun'.
- Mixed use of spaces and tabs avoided.
- Do configure with the --disable-rpath option so as to avoid
hardcoding the path to search libraries.
- Do not include libtool archive files.
- Packages reorganized.
* Mon Jan 16 2006 Roberto Bagnara <bagnara@cs.unipr.it> 0.9-1
- Install gzipped man pages.
- The `Copyright' tag is no longer supported: use `License' instead.
* Wed Jan 11 2006 Roberto Bagnara <bagnara@cs.unipr.it>
- Include `ppl-config' in `%%{_bindir}' and the man pages in
`%%{_mandir}/man1'.
* Tue Jan 10 2006 Roberto Bagnara <bagnara@cs.unipr.it>
- Require gcc-c++ to be at least 4.0.2.
- Distribute also `ppl_lpsol'.
* Tue Mar 01 2005 Roberto Bagnara <bagnara@cs.unipr.it>
- Wrong dependency fixed.
* Mon Feb 28 2005 Roberto Bagnara <bagnara@cs.unipr.it>
- URL for the source fixed.
* Fri Dec 24 2004 Roberto Bagnara <bagnara@cs.unipr.it>
- Sentence fixed.
* Thu Dec 23 2004 Roberto Bagnara <bagnara@cs.unipr.it>
- The file doc/README has been renamed README.doc so as not to conflict
with the library's main README file.
- Require gcc-c++ to be exactly version 3.4.1.
- `Summary' updated to reflect the fact that the library now provides
numerical abstractions other than convex polyhedra.
* Wed Aug 18 2004 Roberto Bagnara <bagnara@cs.unipr.it>
- Distribute more documentation.
* Mon Aug 16 2004 Roberto Bagnara <bagnara@cs.unipr.it>
- Added the `ppl_lcdd' program to the main package.
- Require gcc-c++ to be exactly version 3.4.1.
- We require gmp at least 4.1.3.
* Wed Jul 30 2003 Roberto Bagnara <bagnara@cs.unipr.it>
- Build an RPM package also for the PWL.
- The Prolog interfaces depend on the PWL.
* Tue Mar 04 2003 Roberto Bagnara <bagnara@cs.unipr.it>
- We require gmp at least 4.1.2.
* Fri Oct 04 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- Require gcc-c++ 3.2 or later version.
- Require gmp 4.1 or later version.
* Sun Jun 30 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- Mention not necessarily closed convex polyhedra in the main `%%description'.
* Tue Jun 25 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- `%%files' section for gprolog package fixed.
* Mon Jun 24 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- `%%files' section fixed for the yap package.
- The `%%files' sections of each package are now complete.
* Wed Jun 12 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- Added file list for package gprolog.
- Updated file list for package swi.
* Thu Jun 06 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- The `swi' package has now its `%%files' section.
* Wed Jun 05 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- We will build several RPM packages out of our source tree.
* Mon Mar 04 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- Require gcc-c++ 3.0.4 or later version.
- Require gmp 4.0.1 or later version.
* Sun Jan 27 2002 Roberto Bagnara <bagnara@cs.unipr.it>
- The move to libtool is complete: we can now build and distribute
(with, e.g., RPM) static and dynamic versions of the library.
* Tue Oct 16 2001 Roberto Bagnara <bagnara@cs.unipr.it>
- Changed `Summary'.
- Changed `Packager' in view of PGP signatures.
- Changed `Group' to `Development/Libraries'.
- Require gcc-c++ 2.96-85 or later version.
* Mon Oct 15 2001 Roberto Bagnara <bagnara@cs.unipr.it>
- Now we build a relocatable package.
* Mon Oct 15 2001 Roberto Bagnara <bagnara@cs.unipr.it>
- A first cut at a working RPM spec file.

View File

@ -0,0 +1 @@
4096c2927b36fbf7c5329a53b035bc33 ppl-0.9.tar.gz