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:
+18
-11
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user