[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