[PPL-devel] [GIT] ppl/ppl(master): Perl is no longer a strict requirement.
Roberto Bagnara
bagnara at cs.unipr.it
Thu Apr 8 22:39:53 CEST 2010
Module: ppl/ppl
Branch: master
Commit: be262c561929432c22960e53026853d520396d7b
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=be262c561929432c22960e53026853d520396d7b
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Thu Apr 8 22:34:23 2010 +0200
Perl is no longer a strict requirement.
---
TODO | 3 ---
configure.ac | 26 ++++++++------------------
interfaces/C/Makefile.am | 16 +++++++++++++++-
src/Makefile.am | 16 ++++++++++++++--
4 files changed, 37 insertions(+), 24 deletions(-)
diff --git a/TODO b/TODO
index ddebb7f..b32e567 100644
--- a/TODO
+++ b/TODO
@@ -7,9 +7,6 @@ Enhancements for PPL 0.11
- Make all the *affine*image() methods uniform as far as the
specification is concerned.
- Look carefully at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
-- Lack of perl can cause more problems than explained in the warning
- message given by our configuration procedure. See, e.g.,
- http://www.cs.unipr.it/pipermail/ppl-devel/2009-November/015758.html
- Complete the ppl_pips man page.
diff --git a/configure.ac b/configure.ac
index d56c885..3d0c31c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
# Process this file with Autoconf to produce a configure script.
# Every other copy of the package version number gets its value from here.
-AC_INIT([the Parma Polyhedra Library], [0.11pre18], [ppl-devel at cs.unipr.it], [ppl])
+AC_INIT([the Parma Polyhedra Library], [0.11pre19], [ppl-devel at cs.unipr.it], [ppl])
# Minimum Autoconf version required.
AC_PREREQ(2.61)
@@ -78,6 +78,8 @@ ISODATE=`date +%Y-%m-%d`
AC_SUBST(ISODATE)
AH_TOP([
+/* BEGIN ppl-config.h */
+
/* Unique (nonzero) code for the IEEE 754 Single Precision
floating point format. */
#define PPL_FLOAT_IEEE754_SINGLE 1
@@ -116,6 +118,8 @@ AH_BOTTOM([
#ifdef PPL_HAVE_INTTYPES_H
# include <inttypes.h>
#endif
+
+/* END ppl-config.h */
])
@@ -908,17 +912,13 @@ xall)
;;
esac
-# Perl is needed to build the C++ interface.
-if test x${cxx_interface_enabled} = xyes \
-&& test x"$PERL" != xno
+if test x${cxx_interface_enabled} = xyes
then
build_cxx_interface=yes
fi
AM_CONDITIONAL(BUILD_CXX_INTERFACE, test x$build_cxx_interface = xyes)
-# Perl is needed to build the C interface.
-if test x${c_interface_enabled} = xyes \
-&& test x"$PERL" != xno
+if test x${c_interface_enabled} = xyes
then
build_c_interface=yes
fi
@@ -1592,23 +1592,13 @@ fi
if test x"$PERL" = xno
then
- if test x${c_interface_enabled} = xyes
- then
- AC_MSG_ERROR([PERL UNAVAILABLE:
-*** CANNOT BUILD THE C_INTERFACE.
-*** Perl could not be found on your system, so that the C interface cannot
-*** be built. You should either disable the generation of the C interface
-*** (with the `--enable-interfaces' configure option) or add Perl to your
-*** development environment: see http://www.perl.org/ for more information.])
- else
- AC_MSG_WARN([PERL UNAVAILABLE:
+ AC_MSG_WARN([PERL UNAVAILABLE:
*** CANNOT REBUILD SOME FILES IF SOURCES ARE CHANGED.
*** Perl could not be found on your system. This is OK, if you only plan
*** to build the PPL without modifying the sources and without trying to
*** build a distribution out of a CVS working copy. If this is not the case,
*** then you need to add Perl to your development environment:
*** see http://www.perl.org/ for more information.])
- fi
fi
if test x"$coefficient_kind" = xnative
diff --git a/interfaces/C/Makefile.am b/interfaces/C/Makefile.am
index 33dfc7c..ea27234 100644
--- a/interfaces/C/Makefile.am
+++ b/interfaces/C/Makefile.am
@@ -84,16 +84,30 @@ WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
endif BUILD_WATCHDOG_LIBRARY
+if HAVE_PERL
+
ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
$(top_builddir)/utils/build_header \
-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
+else !HAVE_PERL
+
+ppl_c.h: ppl_c.h.dist
+ cp -f $< $@
+
+endif !HAVE_PERL
+
BUILT_SOURCES = \
ppl_c.h \
ppl_c_implementation_domains.hh \
ppl_c_implementation_domains.cc.stamp
+# ppl_c.h is not distributed.
+# ppl_c.h.dist, which is distributed, is a copy of ppl_c.h.
+dist-hook:
+ mv -f $(distdir)/ppl_c.h $(distdir)/ppl_c.h.dist
+
interface_generator_dependencies = \
$(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
../ppl_interface_generator_common.m4 \
@@ -231,7 +245,7 @@ libppl_c_la_LDFLAGS = \
$(NO_UNDEFINED_FLAG) \
-version-info $(LIBPPL_C_LT_CURRENT):$(LIBPPL_C_LT_REVISION):$(LIBPPL_C_LT_AGE)
-nodist_include_HEADERS = ppl_c.h
+include_HEADERS = ppl_c.h
nodist_noinst_HEADERS = \
ppl_c_domains.h \
diff --git a/src/Makefile.am b/src/Makefile.am
index d76fbfe..5d20cf7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -523,8 +523,20 @@ CREDITS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
else !HAVE_PERL
-ppl.hh: ppl.hh.dist
- cp -f $< $@
+ppl.hh.sed: Makefile
+ @echo "/^\/\* BEGIN ppl-config.h \*\/$$/ {" >$@
+ @echo " r $(top_builddir)/ppl-config.h" >>$@
+ @echo " : loop" >>$@
+ @echo " /\n\/\* END ppl-config.h \*\/$$/ !{" >>$@
+ @echo " N" >>$@
+ @echo " b loop" >>$@
+ @echo " }" >>$@
+ @echo " d" >>$@
+ @echo "}" >>$@
+
+ppl.hh: ppl.hh.dist ppl.hh.sed
+ $(SED) -f ppl.hh.sed $< >$@
+ rm -f ppl.hh.sed
BUGS.cc: BUGS.cc.dist
cp -f $< $@
More information about the PPL-devel
mailing list