summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2010-01-09 16:24:02 +0000
committerRobert Jonsson <spamatica@gmail.com>2010-01-09 16:24:02 +0000
commit049b87157ed6397abd2ca9129f57dae6d6b3895f (patch)
tree6438c5523f11a33f70bd5028132a809d0f88a553
parente53722be36e68f07df8419deeb609ec3b2b80a9f (diff)
new python detection
-rw-r--r--muse/ChangeLog2
-rw-r--r--muse/configure.ac137
-rw-r--r--muse/m4/ax_python.m495
-rw-r--r--muse/muse/Makefile.am2
-rw-r--r--muse/muse/remote/Makefile.am2
5 files changed, 95 insertions, 143 deletions
diff --git a/muse/ChangeLog b/muse/ChangeLog
index 76a8b2bb..72b62e13 100644
--- a/muse/ChangeLog
+++ b/muse/ChangeLog
@@ -1,3 +1,5 @@
+10.01.2010
+ * Fixed: python detection exchanged for script from http://libvirt.org/ (rj)
09.01.2010
* Removed: Disabled watchdog thread. (T356)
- Tested OK (normally) without it, although behaviour needs to be tested if audio or midi thread
diff --git a/muse/configure.ac b/muse/configure.ac
index e2826262..cc78b5c9 100644
--- a/muse/configure.ac
+++ b/muse/configure.ac
@@ -462,55 +462,100 @@ AM_CONDITIONAL(USE_SSE, test "$USE_SSE" = "yes")
##########
# PYTHON #
##########
+# python detection borrowed from libvirt (http://libvirt.org)
+AC_ARG_WITH([python],
+[ --enable-python Build python bindings (on)],[],[enable_python=yes])
+
+PYTHON_VERSION=
+PYTHON_INCLUDES=
+if test "$enable_python" != "no" ; then
+ if test -x "$enable_python/bin/python"
+ then
+ AC_MSG_NOTICE(Found python in $enable_python/bin/python)
+ PYTHON="$enable_python/bin/python"
+ enable_python=yes
+ else
+ if test -x "$enable_python"
+ then
+ AC_MSG_NOTICE(Found python in $enable_python)
+ PYTHON="$enable_python"
+ enable_python=yes
+ else
+ if test -x "$PYTHON"
+ then
+ AC_MSG_NOTICE(Found python in environment PYTHON=$PYTHON)
+ enable_python=yes
+ fi
+ fi
+ fi
-AC_ARG_ENABLE(python,
- [ --enable-python enable python bindings for MusE, default=yes],[default=yes],[
- case "$enableval" in
- "yes")
- enable_python="yes"
- ;;
- "no")
- enable_python="no"
- ;;
- *)
- AC_MSG_ERROR([must use --enable-python(=yes/no) or --disable-python])
- ;;
- esac
- ])
-
-if test "$enable_python" = "yes"; then
- AX_PYTHON
- if test -n "$PYTHON_INCLUDE_DIR" ; then
- python_bindings="yes"
+ if test "$enable_python" == "yes" ; then
+ AM_PATH_PYTHON(,, [:])
+
+ if test "$PYTHON" != : ; then
+ PYTHON_CONFIG="$PYTHON-config"
+
+ if test -x "$PYTHON_CONFIG"
+ then
+ PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
+ PYTHON_LIB=`$PYTHON_CONFIG --libs`
+ else
+ if test -r $PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I$PYTHON_EXEC_PREFIX/include/python$PYTHON_VERSION
+ else
+ if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I$prefix/include/python$PYTHON_VERSION
+ else
+ if test -r /usr/include/python$PYTHON_VERSION/Python.h
+ then
+ PYTHON_INCLUDES=-I/usr/include/python$PYTHON_VERSION
+ else
+ AC_MSG_NOTICE([Could not find python$PYTHON_VERSION/Python.h, disabling bindings])
+ enable_python=no
+ fi
+ fi
+ fi
+ fi
+ else
+ AC_MSG_NOTICE([Could not find python interpreter, disabling bindings])
+ enable_python=no
+ fi
else
- python_bindings="no - devel pkg not found"
+ AC_MSG_NOTICE([Could not find python in $enable_python, disabling bindings])
+ enable_python=no
fi
fi
-AM_CONDITIONAL(ENABLE_PYTHON, test "$python_bindings" = "yes")
-
-## python_bindings="yes"
-## AC_ARG_ENABLE(python,
-## [ --enable-python enable python bindings for MusE, default=yes],[
-## case "$enableval" in
-## "yes")
-## AX_PYTHON
-## if test -n "$PYTHON_INCLUDE_DIR" ; then
-## python_bindings="yes"
-## else
-## AC_MSG_WARN([Python headers not found! MusE will be built without Python bindings!])
-## python_bindings="no"
-## fi
-## ;;
-## "no")
-## python_bindings="no"
-## ;;
-## *)
-## AC_MSG_ERROR([must use --enable-python(=yes/no) or --disable-python])
-## ;;
-## esac
-## ])
-##
-## AM_CONDITIONAL(ENABLE_PYTHON, test "$python_bindings" = "yes")
+AM_CONDITIONAL(ENABLE_PYTHON, test "$enable_python" = "yes")
+AC_SUBST([PYTHON_VERSION])
+AC_SUBST([PYTHON_INCLUDES])
+AC_SUBST([PYTHON_LIB])
+
+#AC_ARG_ENABLE(python,
+#enable_python="yes"
+# [ --disable-python disable python bindings for MusE],[
+# case "$enableval" in
+# "no")
+# enable_python="no"
+# ;;
+# *)
+# AC_MSG_ERROR([must use --enable-python(=yes/no) or --disable-python])
+# ;;
+# esac
+# ])
+#
+#if test "$enable_python" = "yes"; then
+# AM_PATH_PYTHON
+# PYTHON_INCLUDE_DIR=""
+# if test -n "$PYTHON_INCLUDES" ; then
+# PYTHON_INCLUDE_DIR=$PYTHON_INCLUDES
+# python_bindings="yes"
+# else
+# python_bindings="no - devel pkg not found"
+# fi
+#fi
+#AM_CONDITIONAL(ENABLE_PYTHON, test "$python_bindings" = "yes")
###################
### vst plugins ###
@@ -690,7 +735,7 @@ AC_MSG_NOTICE([
debug: $report_debug
optimise for arch: $report_march
SSE optimizations $report_sse
- python bindings: $python_bindings
+ python bindings: $enable_python
installation prefix: $prefix
diff --git a/muse/m4/ax_python.m4 b/muse/m4/ax_python.m4
deleted file mode 100644
index a4d5ea60..00000000
--- a/muse/m4/ax_python.m4
+++ /dev/null
@@ -1,95 +0,0 @@
-# ===========================================================================
-# http://www.nongnu.org/autoconf-archive/ax_python.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_PYTHON
-#
-# DESCRIPTION
-#
-# This macro does a complete Python development environment check.
-#
-# It recurses through several python versions (from 2.1 to 2.6 in this
-# version), looking for an executable. When it finds an executable, it
-# looks to find the header files and library.
-#
-# It sets PYTHON_BIN to the name of the python executable,
-# PYTHON_INCLUDE_DIR to the directory holding the header files, and
-# PYTHON_LIB to the name of the Python library.
-#
-# This macro calls AC_SUBST on PYTHON_BIN (via AC_CHECK_PROG),
-# PYTHON_INCLUDE_DIR and PYTHON_LIB.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Michael Tindal
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-AC_DEFUN([AX_PYTHON],
-[AC_MSG_CHECKING(for python build information)
-AC_MSG_RESULT([])
-for python in python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python; do
-AC_CHECK_PROGS(PYTHON_BIN, [$python])
-ax_python_bin=$PYTHON_BIN
-if test x$ax_python_bin != x; then
- AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no)
- AC_CHECK_HEADER([$ax_python_bin/Python.h],
- [[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]],
- ax_python_header=no)
- if test $ax_python_lib != no; then
- if test $ax_python_header != no; then
- break;
- fi
- fi
-fi
-done
-if test x$ax_python_bin = x; then
- ax_python_bin=no
-fi
-if test x$ax_python_header = x; then
- ax_python_header=no
-fi
-if test x$ax_python_lib = x; then
- ax_python_lib=no
-fi
-
-AC_MSG_RESULT([ results of the Python check:])
-AC_MSG_RESULT([ Binary: $ax_python_bin])
-AC_MSG_RESULT([ Library: $ax_python_lib])
-AC_MSG_RESULT([ Include Dir: $ax_python_header])
-
-if test x$ax_python_header != xno; then
- PYTHON_INCLUDE_DIR=$ax_python_header
- AC_SUBST(PYTHON_INCLUDE_DIR)
-fi
-if test x$ax_python_lib != xno; then
- PYTHON_LIB=$ax_python_lib
- AC_SUBST(PYTHON_LIB)
-fi
-])dnl
diff --git a/muse/muse/Makefile.am b/muse/muse/Makefile.am
index c58f20ff..2dbcfc27 100644
--- a/muse/muse/Makefile.am
+++ b/muse/muse/Makefile.am
@@ -19,7 +19,7 @@ endif
if ENABLE_PYTHON
AM_CPPFLAGS += -DENABLE_PYTHON
SUBDIRS += remote
-PYLIBS=-l$(PYTHON_LIB) remote/libremote.a
+PYLIBS=$(PYTHON_LIB) remote/libremote.a
endif
diff --git a/muse/muse/remote/Makefile.am b/muse/muse/remote/Makefile.am
index 46d00c6e..a1335682 100644
--- a/muse/muse/remote/Makefile.am
+++ b/muse/muse/remote/Makefile.am
@@ -8,7 +8,7 @@ else
AM_CXXFLAGS += -DINSTPREFIX=\"$(prefix)\"
endif
-AM_CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) -DENABLE_PYTHON
+AM_CPPFLAGS += -I$(PYTHON_INCLUDES) -DENABLE_PYTHON
dist_libremote_a_SOURCES = \
pyapi.cpp pyapi.h