From 049b87157ed6397abd2ca9129f57dae6d6b3895f Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Sat, 9 Jan 2010 16:24:02 +0000 Subject: new python detection --- muse/ChangeLog | 2 + muse/configure.ac | 137 ++++++++++++++++++++++++++++--------------- muse/m4/ax_python.m4 | 95 ------------------------------ muse/muse/Makefile.am | 2 +- muse/muse/remote/Makefile.am | 2 +- 5 files changed, 95 insertions(+), 143 deletions(-) delete mode 100644 muse/m4/ax_python.m4 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 . -# -# 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 -- cgit v1.2.3