1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-01 23:36:37 +02:00

core: check that python version is >= 2.5 in cmake/autotools (patch from Peter Boström)

This commit is contained in:
Sebastien Helleu
2012-08-21 09:27:49 +02:00
parent a4e15e8ef4
commit cc5118b3b6
2 changed files with 56 additions and 41 deletions
+18 -11
View File
@@ -34,43 +34,50 @@ IF(PYTHON_FOUND)
ENDIF(PYTHON_FOUND)
FIND_PROGRAM(PYTHON_EXECUTABLE
NAMES python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python
NAMES python2.7 python2.6 python2.5 python
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
IF(PYTHON_EXECUTABLE)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print(get_config_var('CONFINCLUDEPY'))"
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('CONFINCLUDEPY'))"
OUTPUT_VARIABLE PYTHON_INC_DIR
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print(get_config_var('LIBPL'))"
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBPL'))"
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print(get_config_var('LINKFORSHARED'))"
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LINKFORSHARED'))"
OUTPUT_VARIABLE PYTHON_LFLAGS
)
# remove the new lines from the output by replacing them with empty strings
STRING(REPLACE "\n" "" PYTHON_INC_DIR "${PYTHON_INC_DIR}")
STRING(REPLACE "\n" "" PYTHON_POSSIBLE_LIB_PATH "${PYTHON_POSSIBLE_LIB_PATH}")
STRING(REPLACE "\n" "" PYTHON_LFLAGS "${PYTHON_LFLAGS}")
FIND_PATH(PYTHON_INCLUDE_PATH
NAMES Python.h
PATHS ${PYTHON_INC_DIR}
)
FIND_LIBRARY(PYTHON_LIBRARY
NAMES python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python
NAMES python2.7 python2.6 python2.5 python
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
)
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
SET(PYTHON_FOUND TRUE)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(sys.version[:3])"
OUTPUT_VARIABLE PYTHON_VERSION
)
EXECUTE_PROCESS(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"
OUTPUT_VARIABLE PYTHON_OLD_VERSION
)
IF(${PYTHON_OLD_VERSION} STREQUAL "True")
MESSAGE("Python >= 2.5 is needed to build python plugin, version found: ${PYTHON_VERSION}")
ELSE()
SET(PYTHON_FOUND TRUE)
ENDIF(${PYTHON_OLD_VERSION} STREQUAL "True")
ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
MARK_AS_ADVANCED(
+38 -30
View File
@@ -465,7 +465,7 @@ fi
PYTHON_VERSION=
if test "x$enable_python" = "xyes" ; then
AC_PATH_PROGS(PYTHON, python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python)
AC_PATH_PROGS(PYTHON, python2.7 python2.6 python2.5 python2 python)
if test -z $PYTHON ; then
AC_MSG_WARN([
*** Python must be installed on your system but python interpreter couldn't be found in path.
@@ -474,41 +474,49 @@ if test "x$enable_python" = "xyes" ; then
enable_python="no"
not_found="$not_found python"
else
PYTHON_SYSPREFIX=`$PYTHON -c 'import sys; print "%s" % sys.prefix'`
PYTHON_VERSION=`$PYTHON -c 'import sys ; print sys.version[[:3]]'`
PYTHON_INCLUDE=`$PYTHON -c "import distutils.sysconfig,string; print distutils.sysconfig.get_config_var('CONFINCLUDEPY')"`
AC_MSG_CHECKING(for Python header files)
if test -r "$PYTHON_INCLUDE/Python.h"; then
PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
AC_MSG_RESULT(found)
PYTHON_LIB=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBPL')"`
PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED')"`
AC_MSG_CHECKING(for Python library)
if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
PYTHON_SYSPREFIX=`$PYTHON -c 'import sys; sys.stdout.write("%s" % sys.prefix)'`
PYTHON_VERSION=`$PYTHON -c 'import sys; sys.stdout.write(sys.version[[:3]])'`
PYTHON_INCLUDE=`$PYTHON -c "import sys, distutils.sysconfig, string; sys.stdout.write(distutils.sysconfig.get_config_var('CONFINCLUDEPY'))"`
PYTHON_OLD_VERSION=`$PYTHON -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"`
if test "x$PYTHON_OLD_VERSION" = "xTrue" ; then
AC_MSG_WARN([
*** Python >= 2.5 is needed to build Python plugin, version found: $PYTHON_VERSION.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
else
AC_MSG_CHECKING(for Python header files)
if test -r "$PYTHON_INCLUDE/Python.h"; then
PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
AC_MSG_RESULT(found)
PYTHON_LIB=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBPL')"`
PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED')"`
AC_MSG_CHECKING(for Python library)
if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
*** Python library couldn't be found on your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
else
AC_MSG_WARN([
*** Python header files couldn't be found on your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
else
AC_MSG_WARN([
*** Python header files couldn't be found on your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
fi
else