fi
AM_CONDITIONAL(WITH_PYTHON26, [test "x$use_python26" = "xYes"])
+dnl -----------------------------------
+dnl INCLUDES and LIBS for PYTHON27
+
+AC_ARG_ENABLE(python27,
+ [AS_HELP_STRING([--enable-python27=no],[python27 language bindings])],
+ [], [enable_python27=no])
+
+if test "x$enable_python27" != "xyes"; then
+ use_python27="No (disabled by default - for multiversion installs)"
+else
+ if test "x$use_swig" != "xYes"; then
+ use_python27="No (swig not available)"
+ else
+ if test `$SWIG -help 2>&1 | $GREP -c '\-python *- Generate'` = 0; then
+ use_python27="No (swig does not support -python option)"
+ else
+ AC_CHECK_PROG(PYTHON27,python2.7,python2.7)
+ if test "x$PYTHON27" = "x"; then
+ use_python27="No (python27 not available)"
+ else
+ PYTHON27_VERSION=`$PYTHON27 -V 2>&1 | $GREP Python | cut -d ' ' -f 2`
+ if test "x$PYTHON27_VERSION" = "x"; then
+ PYTHON27=
+ else
+ PYTHON27_VERSION_MAJOR=`echo $PYTHON27_VERSION | cut -d '.' -f 1`
+ PYTHON27_VERSION_MINOR=`echo $PYTHON27_VERSION | cut -d '.' -f 2`
+ PYTHON27_VERSION_SHORT=$PYTHON27_VERSION_MAJOR.$PYTHON27_VERSION_MINOR
+ if test $PYTHON27_VERSION_MAJOR -lt 3; then
+ if test $PYTHON27_VERSION_MAJOR -lt 2; then
+ PYTHON27=
+ else
+ if test $PYTHON27_VERSION_MINOR -lt 5; then
+ PYTHON27=
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test "x$PYTHON27" = "x"; then
+ use_python27="No (python2.7 is too old)"
+ else
+ PYTHON27_PREFIX=`$PYTHON27 -c "import sys; print sys.prefix"`
+ PYTHON27_INCLUDES=-I$PYTHON27_PREFIX/include/python$PYTHON27_VERSION_SHORT
+ PYTHON24_LIBS="-lpython$PYTHON_VERSION_SHORT"
+ PYTHON27_INSTALL_DIR="`$PYTHON27 $srcdir/config/config_python.py archsitelib`"
+ save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $PYTHON27_INCLUDES"
+ AC_CHECK_HEADER(Python.h,,[
+ use_python27="No (missing header)"
+ PYTHON27=
+ ])
+ CPPFLAGS=$save_CPPFLAGS
+ if test "x$PYTHON27" != "x"; then
+ use_python27="Yes"
+ AC_SUBST(PYTHON27_INSTALL_DIR)
+ AC_SUBST(PYTHON27_INCLUDES)
+ AC_SUBST(PYTHON27_LIBS)
+ fi
+ fi
+ fi
+ fi
+fi
+AM_CONDITIONAL(WITH_PYTHON27, [test "x$use_python27" = "xYes"])
+
dnl -----------------------------------
dnl INCLUDES and LIBS for R
echo " gv_python24: $use_python24"
echo " gv_python25: $use_python25"
echo " gv_python26: $use_python26"
+echo " gv_python27: $use_python27"
echo " gv_R: $use_r"
echo " gv_ruby: $use_ruby"
echo " gv_tcl: $use_gv_tcl"
pkgpython23dir = $(pkglibdir)/python23
pkgpython24dir = $(pkglibdir)/python24
pkgpython25dir = $(pkglibdir)/python25
+pkgpython26dir = $(pkglibdir)/python26
+pkgpython27dir = $(pkglibdir)/python27
pkgRdir = $(pkglibdir)/R
pkgrubydir = $(pkglibdir)/ruby
pkgtcldir = $(pkglibdir)/tcl
echo "Skipping system installation of python25 binding."; \
fi
endif
+if WITH_PYTHON26
+ -mkdir -p $(DESTDIR)@PYTHON26_INSTALL_DIR@;
+ if test -w $(DESTDIR)@PYTHON26_INSTALL_DIR@; then \
+ (cd $(DESTDIR)@PYTHON26_INSTALL_DIR@; \
+ $(LN_S) -f $(pkgpython26dir)/libgv_python26.so _gv.so; \
+ $(LN_S) -f $(pkgpython26dir)/gv.py gv.py;) \
+ else \
+ echo "Warning: @PYTHON26_INSTALL_DIR@ is not writable."; \
+ echo "Skipping system installation of python26 binding."; \
+ fi
+endif
+if WITH_PYTHON27
+ -mkdir -p $(DESTDIR)@PYTHON27_INSTALL_DIR@;
+ if test -w $(DESTDIR)@PYTHON27_INSTALL_DIR@; then \
+ (cd $(DESTDIR)@PYTHON27_INSTALL_DIR@; \
+ $(LN_S) -f $(pkgpython27dir)/libgv_python27.so _gv.so; \
+ $(LN_S) -f $(pkgpython27dir)/gv.py gv.py;) \
+ else \
+ echo "Warning: @PYTHON27_INSTALL_DIR@ is not writable."; \
+ echo "Skipping system installation of python27 binding."; \
+ fi
+endif
if WITH_RUBY
-mkdir -p $(DESTDIR)@RUBY_INSTALL_DIR@;
if test -w $(DESTDIR)@RUBY_INSTALL_DIR@; then \
-rm -rf $(DESTDIR)@PYTHON24_INSTALL_DIR@/_gv.so $(DESTDIR)@PYTHON_INSTALL_DIR@/gv.py;
rm -rf $(DESTDIR)$(pkgpython25dir);
-rm -rf $(DESTDIR)@PYTHON25_INSTALL_DIR@/_gv.so $(DESTDIR)@PYTHON_INSTALL_DIR@/gv.py;
+ rm -rf $(DESTDIR)$(pkgpython26dir);
+ -rm -rf $(DESTDIR)@PYTHON26_INSTALL_DIR@/_gv.so $(DESTDIR)@PYTHON_INSTALL_DIR@/gv.py;
+ rm -rf $(DESTDIR)$(pkgpython27dir);
+ -rm -rf $(DESTDIR)@PYTHON27_INSTALL_DIR@/_gv.so $(DESTDIR)@PYTHON_INSTALL_DIR@/gv.py;
rm -rf $(DESTDIR)$(pkgRdir);
rm -rf $(DESTDIR)$(pkgrubydir);
-rm -rf $(DESTDIR)@RUBY_INSTALL_DIR@/gv.so;
gv_python26.cpp: gv.i
$(SWIG) -c++ -python -o gv_python26.cpp $(srcdir)/gv.i
+pkgpython27dir = $(pkglibdir)/python27
+PYTHON27_data = gv.py
+nodist_libgv_python27_la_SOURCES = gv_python27.cpp $(PYTHON27_data)
+libgv_python27_la_SOURCES = $(BASESOURCES) gv_dummy_init.c
+libgv_python27_la_LIBADD = $(BASELIBS) $(PYTHON27_LIBS)
+libgv_python27_la_LDFLAGS = -module -avoid-version
+libgv_python27_la_CPPFLAGS = $(BASECPPFLAGS) $(PYTHON27_INCLUDES)
+# $(PYTHON_data): gv_python.cpp
+gv_python27.cpp: gv.i
+ $(SWIG) -c++ -python -o gv_python27.cpp $(srcdir)/gv.i
+
pkgRdir = $(pkglibdir)/R
R_data =
nodist_libgv_R_la_SOURCES = gv_R.cpp $(R_data)
endif
if WITH_PYTHON
pkgpython_DATA = $(PYTHON_data)
-gv_3python_man = gv.3python
-gv_3python_pdf = gv.3python.pdf
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
pkgpython_LTLIBRARIES = libgv_python.la
DEVTSTS += test_python
endif
if WITH_PYTHON23
pkgpython23_DATA = $(PYTHON23_data)
-gv_3python_man = gv.3python
-gv_3python_pdf = gv.3python.pdf
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
pkgpython23_LTLIBRARIES = libgv_python23.la
#DEVTSTS += test_python23
endif
if WITH_PYTHON24
pkgpython24_DATA = $(PYTHON24_data)
-gv_3python_man = gv.3python
-gv_3python_pdf = gv.3python.pdf
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
pkgpython24_LTLIBRARIES = libgv_python24.la
#DEVTSTS += test_python24
endif
if WITH_PYTHON25
pkgpython25_DATA = $(PYTHON25_data)
-gv_3python_man = gv.3python
-gv_3python_pdf = gv.3python.pdf
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
pkgpython25_LTLIBRARIES = libgv_python25.la
#DEVTSTS += test_python25
endif
if WITH_PYTHON26
pkgpython26_DATA = $(PYTHON26_data)
-gv_3python_man = gv.3python
-gv_3python_pdf = gv.3python.pdf
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
pkgpython26_LTLIBRARIES = libgv_python26.la
#DEVTSTS += test_python26
endif
-man_MANS += $(gv_3python_man)
-pdf_DATA += $(gv_3python_pdf)
+if WITH_PYTHON27
+pkgpython27_DATA = $(PYTHON27_data)
+py_mans ?= gv.3python
+py_data ?= gv.3python.pdf
+pkgpython27_LTLIBRARIES = libgv_python27.la
+#DEVTSTS += test_python27
+endif
+man_MANS += $(py_mans)
+pdf_DATA += $(py_data)
if WITH_R
pkgR_DATA = $(R_data)
man_MANS += gv.3r
pkgtcl_LTLIBRARIES = libgv_tcl.la
DEVTSTS += test_tcl
+man_MANS += $(py_mans)
+pdf_DATA += $(py_data)
+
all-local: pkgIndex.tcl
pkgIndex.tcl: libgv_tcl.la
if WITH_PYTHON26
(cd $(DESTDIR)$(pkgpython26dir); rm -f _gv.so; $(LN_S) libgv_python26.so _gv.so;)
endif
+if WITH_PYTHON27
+ (cd $(DESTDIR)$(pkgpython27dir); rm -f _gv.so; $(LN_S) libgv_python27.so _gv.so;)
+endif
if WITH_R
(cd $(DESTDIR)$(pkgRdir); rm -f gv.so; $(LN_S) libgv_R.so gv.so;)
endif
rm -rf $(DESTDIR)$(pkgpython24dir);
rm -rf $(DESTDIR)$(pkgpython25dir);
rm -rf $(DESTDIR)$(pkgpython26dir);
+ rm -rf $(DESTDIR)$(pkgpython27dir);
rm -rf $(DESTDIR)$(pkgRdir);
rm -rf $(DESTDIR)$(pkgrubydir);
rm -rf $(DESTDIR)$(pkgtcldir);
gv_python24.cpp $(PYTHON24_data) gv.pyc \
gv_python25.cpp $(PYTHON25_data) gv.pyc \
gv_python26.cpp $(PYTHON26_data) gv.pyc \
+ gv_python27.cpp $(PYTHON27_data) gv.pyc \
gv_R.cpp $(R_data) \
gv_ruby.cpp $(RUBY_data) \
gv_tcl.cpp $(TCL_data) pkgIndex.tcl