diff options
author | Michael Vetter <jubalh@iodoru.org> | 2022-02-18 20:14:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-18 20:14:56 +0100 |
commit | 0e04439b61d3125b3b0232a1f6fe90bd2dc64a2e (patch) | |
tree | 38da66ce956e8b3446ded0198f00441f22dacb40 | |
parent | 57fb10f0bf11351a5c5490742e61b29c36d95d38 (diff) | |
parent | 5676159aa52a734a34bf231b400ae13860e1012d (diff) | |
download | profani-tty-0e04439b61d3125b3b0232a1f6fe90bd2dc64a2e.tar.gz |
Merge pull request #1642 from jugendhacker/fix/851-python-cross-compile
Fix python executed during configure
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | src/plugins/python_api.c | 8 | ||||
-rw-r--r-- | src/plugins/python_plugins.c | 2 |
3 files changed, 9 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index d260ce50..d75ba114 100644 --- a/configure.ac +++ b/configure.ac @@ -98,10 +98,9 @@ elif test "x$enable_python_plugins" != xno; then AC_MSG_NOTICE([Symlinking Python.framework to $PYTHON_FRAMEWORK]) rm -f Python.framework ln -s $PYTHON_FRAMEWORK Python.framework ]) - AC_CHECK_PROG(PYTHON_CONFIG_EXISTS, python-config, yes, no) - AC_CHECK_PROG(PYTHON3_CONFIG_EXISTS, python3-config, yes, no) + PKG_CHECK_MODULES([python], [python-embed], [PYTHON_CONFIG_EXISTS=yes], [PYTHON_CONFIG_EXISTS=no]) + PKG_CHECK_MODULES([python], [python3-embed], [PYTHON3_CONFIG_EXISTS=yes; AC_DEFINE(PY_IS_PYTHON3, [1], [Is Python version 3])], [PYTHON3_CONFIG_EXISTS=no]) if test "$PYTHON_CONFIG_EXISTS" = "yes" || test "$PYTHON3_CONFIG_EXISTS" = "yes"; then - AX_PYTHON_DEVEL AM_CONDITIONAL([BUILD_PYTHON_API], [true]) AC_DEFINE([HAVE_PYTHON], [1], [Python support]) else @@ -357,9 +356,9 @@ AS_IF([test "x$PLATFORM" = xosx], [AM_CFLAGS="$AM_CFLAGS -Qunused-arguments"]) AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS $glib_CFLAGS $gio_CFLAGS $curl_CFLAGS ${SQLITE_CFLAGS}" -AM_CFLAGS="$AM_CFLAGS $libnotify_CFLAGS ${GTK_CFLAGS} $PYTHON_CPPFLAGS" dnl https://bugs.python.org/issue15018 +AM_CFLAGS="$AM_CFLAGS $libnotify_CFLAGS ${GTK_CFLAGS} $python_CFLAGS" dnl https://bugs.python.org/issue15018 AM_CFLAGS="$AM_CFLAGS -DTHEMES_PATH=\"\\\"$THEMES_PATH\\\"\" -DICONS_PATH=\"\\\"$ICONS_PATH\\\"\" -DGLOBAL_PYTHON_PLUGINS_PATH=\"\\\"$GLOBAL_PYTHON_PLUGINS_PATH\\\"\" -DGLOBAL_C_PLUGINS_PATH=\"\\\"$GLOBAL_C_PLUGINS_PATH\\\"\"" -LIBS="$glib_LIBS $gio_LIBS $PTHREAD_LIBS $curl_LIBS $libnotify_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_LDFLAGS ${GTK_LIBS} ${SQLITE_LIBS} $LIBS" +LIBS="$glib_LIBS $gio_LIBS $PTHREAD_LIBS $curl_LIBS $libnotify_LIBS $python_LIBS ${GTK_LIBS} ${SQLITE_LIBS} $LIBS" AC_SUBST(AM_LDFLAGS) AC_SUBST(AM_CFLAGS) diff --git a/src/plugins/python_api.c b/src/plugins/python_api.c index 90e33579..0b91cf70 100644 --- a/src/plugins/python_api.c +++ b/src/plugins/python_api.c @@ -1575,7 +1575,7 @@ static PyMethodDef apiMethods[] = { { NULL, NULL, 0, NULL } }; -#if PY_MAJOR_VERSION >= 3 +#ifdef PY_IS_PYTHON3 static struct PyModuleDef profModule = { PyModuleDef_HEAD_INIT, "prof", @@ -1588,7 +1588,7 @@ static struct PyModuleDef profModule = { PyMODINIT_FUNC python_api_init(void) { -#if PY_MAJOR_VERSION >= 3 +#ifdef PY_IS_PYTHON3 PyObject* result = PyModule_Create(&profModule); if (!result) { log_debug("Failed to initialise prof module"); @@ -1604,7 +1604,7 @@ python_api_init(void) void python_init_prof(void) { -#if PY_MAJOR_VERSION >= 3 +#ifdef PY_IS_PYTHON3 PyImport_AppendInittab("prof", python_api_init); Py_Initialize(); PyEval_InitThreads(); @@ -1640,7 +1640,7 @@ python_str_or_unicode_to_string(void* obj) return NULL; } -#if PY_MAJOR_VERSION >= 3 +#ifdef PY_IS_PYTHON3 if (PyUnicode_Check(pyobj)) { PyObject* utf8_str = PyUnicode_AsUTF8String(pyobj); char* result = strdup(PyBytes_AS_STRING(utf8_str)); diff --git a/src/plugins/python_plugins.c b/src/plugins/python_plugins.c index 94c77e99..c32d177c 100644 --- a/src/plugins/python_plugins.c +++ b/src/plugins/python_plugins.c @@ -908,7 +908,7 @@ _handle_string_or_none_result(ProfPlugin* plugin, PyObject* result, char* hook) _python_undefined_error(plugin, hook, "string, unicode or None"); return NULL; } -#if PY_MAJOR_VERSION >= 3 +#ifdef PY_IS_PYTHON3 if (result != Py_None && !PyUnicode_Check(result) && !PyBytes_Check(result)) { allow_python_threads(); _python_type_error(plugin, hook, "string, unicode or None"); |