diff options
author | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2006-04-05 14:10:38 +0000 |
---|---|---|
committer | Jorg Schuler <jcsjcs@users.sourceforge.net> | 2006-04-05 14:10:38 +0000 |
commit | 73b1f5b12994628721e96076ff7cfdeb7dd64912 (patch) | |
tree | 10b41469d88eb359c88c26d348699cbbea803c30 /m4 | |
parent | 6a7a240f7f700d2d85001f137f0edc1087967808 (diff) | |
download | libgpod-73b1f5b12994628721e96076ff7cfdeb7dd64912.tar.gz libgpod-73b1f5b12994628721e96076ff7cfdeb7dd64912.tar.xz libgpod-73b1f5b12994628721e96076ff7cfdeb7dd64912.zip |
2006-04-03 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: flag1 -> has_artwork
* itdb_track.c: (itdb_track_set_thumbnails,
itdb_remove_thumbnails) set has_artwork flag correctly.
2006-04-01 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itdb.h: unk178 -> mark_unplayed
* itdb_itunesdb.c: reset the mark_unplayed flag when playcount is
detected.
2006-03-31 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/es.po: replaced with version from Alejandro Lamas who
maintains the gtkpod translation as well.
2006-03-29 Jorg Schuler <jcsjcs at users.sourceforge.net>
* itunesdb.c: set filetype identifier when transfering track to
the iPod.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1227 f01d2545-417e-4e96-918e-98f8d0dbbcb6
Diffstat (limited to 'm4')
-rw-r--r-- | m4/Makefile.am | 1 | ||||
-rw-r--r-- | m4/python.m4 | 79 | ||||
-rw-r--r-- | m4/swig.m4 | 156 |
3 files changed, 236 insertions, 0 deletions
diff --git a/m4/Makefile.am b/m4/Makefile.am new file mode 100644 index 0000000..9b23752 --- /dev/null +++ b/m4/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = python.m4 swig.m4 diff --git a/m4/python.m4 b/m4/python.m4 new file mode 100644 index 0000000..032334b --- /dev/null +++ b/m4/python.m4 @@ -0,0 +1,79 @@ +dnl copied from pygtk +dnl +dnl a macro to check for ability to create python extensions +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) +dnl deduce PYTHON_INCLUDES +py_prefix=`$PYTHON -c "import sys; print sys.prefix"` +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" +if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +fi +AC_SUBST(PYTHON_INCLUDES) +dnl check if the headers exist: +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +AC_TRY_CPP([#include <Python.h>],dnl +[AC_MSG_RESULT(found) +$1],dnl +[AC_MSG_RESULT(not found) +$2]) +CPPFLAGS="$save_CPPFLAGS" +]) + +dnl check for python +AC_DEFUN([LIBGPOD_CHECK_PYTHON], +[ + AC_ARG_WITH(python, + AC_HELP_STRING([--with-python=PATH], + [build python bindings [[default=no]]]), + [with_python=$withval],[with_python=no]) + + AC_MSG_CHECKING(whether to build python bindings) + if test "X$with_python" != Xno; then + if test "X$with_python" != Xyes; then + PYTHON=$with_python + fi + with_python=yes + fi + AC_MSG_RESULT($with_python) + + if test "X$with_python" == Xyes; then + if test -z "$PYTHON"; then + AC_PATH_PROG(PYTHON, python) + fi + + if test -n "$PYTHON"; then + AM_PATH_PYTHON($PYTHON_MIN_VERSION) + AM_CHECK_PYTHON_HEADERS(with_python="yes",with_python="no") + + if test "X$with_python" == Xyes; then + dnl test for python ldflags + dnl copied from the Redland RDF bindings, http://librdf.org/ + if test `uname` = Darwin; then + PYTHON_LDFLAGS="-Wl,-F. -Wl,-F. -bundle" + if $PYTHON -c 'import sys, string; sys.exit(string.find(sys.prefix,"Framework")+1)'; then + : + else + PYTHON_LDFLAGS="$PYTHON_LDFLAGS -framework Python" + fi + else + PYTHON_LDFLAGS="-shared" + fi + AC_SUBST(PYTHON_LDFLAGS) + + dnl check for swig + AC_PROG_SWIG($SWIG_MIN_VERSION) + with_python="$has_swig" + fi + else + AC_MSG_WARN(python not found. try --with-python=/path/to/python) + with_python="no" + fi + fi + AM_CONDITIONAL(HAVE_PYTHON, test x$with_python = xyes) +])dnl diff --git a/m4/swig.m4 b/m4/swig.m4 new file mode 100644 index 0000000..589f479 --- /dev/null +++ b/m4/swig.m4 @@ -0,0 +1,156 @@ +dnl @synopsis AC_PROG_SWIG([major.minor.micro]) +dnl +dnl This macro searches for a SWIG installation on your system. If +dnl found you should call SWIG via $(SWIG). You can use the optional +dnl first argument to check if the version of the available SWIG is +dnl greater than or equal to the value of the argument. It should have +dnl the format: N[.N[.N]] (N is a number between 0 and 999. Only the +dnl first N is mandatory.) +dnl +dnl If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks +dnl that the swig package is this version number or higher. +dnl +dnl In configure.in, use as: +dnl +dnl AC_PROG_SWIG(1.3.17) +dnl SWIG_ENABLE_CXX +dnl SWIG_MULTI_MODULE_SUPPORT +dnl SWIG_PYTHON +dnl +dnl @category InstalledPackages +dnl @author Sebastian Huber <sebastian-huber@web.de> +dnl @author Alan W. Irwin <irwin@beluga.phys.uvic.ca> +dnl @author Rafael Laboissiere <rafael@laboissiere.net> +dnl @author Andrew Collier <abcollier@yahoo.com> +dnl @version 2004-09-20 +dnl @license GPLWithACException + +AC_DEFUN([AC_PROG_SWIG],[ + AC_PATH_PROG([SWIG],[swig]) + if test -z "$SWIG" ; then + AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org]) + SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false' + elif test -n "$1" ; then + AC_MSG_CHECKING([for SWIG version]) + [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`] + AC_MSG_RESULT([$swig_version]) + if test -n "$swig_version" ; then + # Calculate the required version number components + [required=$1] + [required_major=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_major" ; then + [required_major=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_minor=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_minor" ; then + [required_minor=0] + fi + [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] + [required_patch=`echo $required | sed 's/[^0-9].*//'`] + if test -z "$required_patch" ; then + [required_patch=0] + fi + # Calculate the available version number components + [available=$swig_version] + [available_major=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_major" ; then + [available_major=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_minor=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_minor" ; then + [available_minor=0] + fi + [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] + [available_patch=`echo $available | sed 's/[^0-9].*//'`] + if test -z "$available_patch" ; then + [available_patch=0] + fi + if test $available_major -ne $required_major \ + -o $available_minor -ne $required_minor \ + -o $available_patch -lt $required_patch ; then + AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) + SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' + has_swig="no" + else + SWIG_LIB=`$SWIG -swiglib` + has_swig="yes" + fi + else + AC_MSG_WARN([cannot determine SWIG version]) + SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false' + has_swig="no" + fi + fi + AC_SUBST([SWIG_LIB]) +]) + +# SWIG_ENABLE_CXX() +# +# Enable SWIG C++ support. This affects all invocations of $(SWIG). +AC_DEFUN([SWIG_ENABLE_CXX],[ + AC_REQUIRE([AC_PROG_SWIG]) + AC_REQUIRE([AC_PROG_CXX]) + SWIG="$SWIG -c++" +]) + +# SWIG_MULTI_MODULE_SUPPORT() +# +# Enable support for multiple modules. This effects all invocations +# of $(SWIG). You have to link all generated modules against the +# appropriate SWIG runtime library. If you want to build Python +# modules for example, use the SWIG_PYTHON() macro and link the +# modules against $(SWIG_PYTHON_LIBS). +# +AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[ + AC_REQUIRE([AC_PROG_SWIG]) + SWIG="$SWIG -noruntime" +]) + +# SWIG_PYTHON([use-shadow-classes = {no, yes}]) +# +# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS), +# and $(SWIG_PYTHON_OPT) output variables. +# +# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate +# code for Python. Shadow classes are enabled unless the value of the +# optional first argument is exactly 'no'. If you need multi module +# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use +# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It +# contains the SWIG Python runtime library that is needed by the type +# check system for example. +AC_DEFUN([SWIG_PYTHON],[ + AC_REQUIRE([AC_PROG_SWIG]) + AC_REQUIRE([AC_PYTHON_DEVEL]) + test "x$1" != "xno" || swig_shadow=" -noproxy" + AC_SUBST([SWIG_PYTHON_OPT],[-python$swig_shadow]) + AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS]) +]) + + +dnl @synopsis AC_LIB_WAD +dnl +dnl This macro searches for installed WAD library. +dnl +AC_DEFUN([AC_LIB_WAD], +[ + AC_REQUIRE([AC_PYTHON_DEVEL]) + AC_ARG_ENABLE(wad, + AC_HELP_STRING([--enable-wad], [enable wad module]), + [ + case "${enableval}" in + no) ;; + *) if test "x${enableval}" = xyes; + then + check_wad="yes" + fi ;; + esac + ], []) + + if test -n "$check_wad"; + then + AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS) + AC_SUBST(WADPY) + fi +]) |