summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac1
-rw-r--r--m4/python.m467
3 files changed, 70 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index d816243..331f49b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+ * configure.ac:
+ m4/python: check for eyeD3 (Todd Zullinger)
+
2006-05-30 Jorg Schuler <jcsjcs at users.sourceforge.net>
* src/itdb_itunesdb.c (itdb_create_directories): applied
diff --git a/configure.ac b/configure.ac
index dbd622e..52e4422 100644
--- a/configure.ac
+++ b/configure.ac
@@ -109,6 +109,7 @@ dnl * optional python bindings
dnl **************************************************
PYTHON_MIN_VERSION=2.1.1
+PYTHON_EYED3_MIN_VERSION=0.6.6
SWIG_MIN_VERSION=1.3.24
LIBGPOD_CHECK_PYTHON($PYTHON_MIN_VERSION)
diff --git a/m4/python.m4 b/m4/python.m4
index 28bdaa3..7625904 100644
--- a/m4/python.m4
+++ b/m4/python.m4
@@ -5,7 +5,7 @@ dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
dnl function also defines PYTHON_INCLUDES
AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
[AC_REQUIRE([AM_PATH_PYTHON])
-AC_MSG_CHECKING(for development headers)
+AC_MSG_CHECKING(for python development headers)
dnl deduce PYTHON_INCLUDES
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
@@ -25,9 +25,64 @@ $2])
CPPFLAGS="$save_CPPFLAGS"
])
+dnl copied and modified from gnome-python
+dnl http://cvs.gnome.org/viewcvs/*checkout*/gnome-python/pygtk/m4/python.m4
+dnl
+dnl AM_CHECK_PYMOD(MODNAME [,VERSION, VERSION_MATCHER [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]])
+dnl Check if a module of a particular version is visible to python.
+AC_DEFUN([AM_CHECK_PYMOD],
+[AC_REQUIRE([AM_PATH_PYTHON])
+py_mod_var=`echo $1`
+AC_MSG_CHECKING(for python module $1 ifelse([$2],[],,[>= $2]))
+AC_CACHE_VAL(py_cv_mod_$py_mod_var, [
+ifelse([$2],[], [prog="
+import sys
+try:
+ import $1
+except ImportError:
+ sys.exit(1)
+except:
+ sys.exit(0)
+sys.exit(0)"], [prog="
+import sys, string, $1
+curverstr = $3
+# use method from AM_PYTHON_CHECK_VERSION
+minver = map(int, string.split('$2', '.')) + [[0, 0, 0]]
+minverhex = 0
+for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]]
+curver = map(int, string.split(curverstr, '.')) + [[0, 0, 0]]
+curverhex = 0
+for i in xrange(0, 4): curverhex = (curverhex << 8) + curver[[i]]
+if (curverhex >= minverhex):
+ sys.exit(0)
+else:
+ sys.exit(1)
+sys.exit(0)"])
+if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
+ then
+ eval "py_cv_mod_$py_mod_var=yes"
+ else
+ eval "py_cv_mod_$py_mod_var=no"
+ fi
+])
+py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"`
+if test "x$py_val" != xno; then
+ AC_MSG_RESULT(yes)
+ ifelse([$4], [],, [$4
+])dnl
+else
+ AC_MSG_RESULT(no)
+ ifelse([$5], [],, [$5
+])dnl
+fi
+])
+
dnl check for python
AC_DEFUN([LIBGPOD_CHECK_PYTHON],
[
+ dnl aclocal-1.7 is missing this when version is used in AM_PATH_PYTHON, fudge it
+ am_display_PYTHON=python
+
AC_ARG_WITH(python,
AC_HELP_STRING([--with-python=PATH],
[build python bindings [[default=yes]]]),
@@ -66,9 +121,14 @@ AC_DEFUN([LIBGPOD_CHECK_PYTHON],
fi
AC_SUBST(PYTHON_LDFLAGS)
+ dnl check for eyeD3 module >= $PYTHON_EYED3_MIN_VERSION
+ AM_CHECK_PYMOD(eyeD3,$PYTHON_EYED3_MIN_VERSION,eyeD3.eyeD3Version,,with_python=no)
+
dnl check for swig
- AC_PROG_SWIG($SWIG_MIN_VERSION)
- with_python="$has_swig"
+ if test "X$with_python" == Xyes; then
+ AC_PROG_SWIG($SWIG_MIN_VERSION)
+ with_python="$has_swig"
+ fi
fi
else
AC_MSG_WARN(python not found. try --with-python=/path/to/python)
@@ -77,3 +137,4 @@ AC_DEFUN([LIBGPOD_CHECK_PYTHON],
fi
AM_CONDITIONAL(HAVE_PYTHON, test x$with_python = xyes)
])dnl
+