summaryrefslogtreecommitdiff
path: root/tools/perf/feature-tests.mak
diff options
context:
space:
mode:
authorMichael Witten <mfwitten@gmail.com>2011-04-02 21:46:09 +0000
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-04-19 08:18:36 -0300
commitced465c400b23656ef2c4fbfb4add0e5b92e3d97 (patch)
tree58df4aa0275a03260a1773d418610a22fecf4957 /tools/perf/feature-tests.mak
parent3643b133f2cb8023e8cedcbef43215a99d7df561 (diff)
downloadlinux-ced465c400b23656ef2c4fbfb4add0e5b92e3d97.tar.gz
perf tools: Makefile: PYTHON{,_CONFIG} to bandage Python 3 incompatibility
Currently, Python 3 is not supported by perf's code; this can cause the build to fail for systems that have Python 3 installed as the default python: python{,-config} The Correct Solution is to write compatibility code so that Python 3 works out-of-the-box. However, users often have an ancillary Python 2 installed: python2{,-config} Therefore, a quick fix is to allow the user to specify those ancillary paths as the python binaries that Makefile should use, thereby avoiding Python 3 altogether; as an added benefit, the Python binaries may be installed in non-standard locations without the need for updating any PATH variable. This commit adds the ability to set PYTHON and/or PYTHON_CONFIG either as environment variables or as make variables on the command line; the paths may be relative, and usually only PYTHON is necessary in order for PYTHON_CONFIG to be defined implicitly. Some rudimentary error checking is performed when the user explicitly specifies a value for any of these variables. In addition, this commit introduces significantly robust makefile infrastructure for working with paths and communicating with the shell; it's currently only used for handling Python, but I hope it will prove useful in refactoring the makefiles. Thanks to: Raghavendra D Prabhu <rprabhu@wnohang.net> for motivating this patch. Acked-by: Raghavendra D Prabhu <rprabhu@wnohang.net> Link: http://lkml.kernel.org/r/e987828e-87ec-4973-95e7-47f10f5d9bab-mfwitten@gmail.com Signed-off-by: Michael Witten <mfwitten@gmail.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/feature-tests.mak')
-rw-r--r--tools/perf/feature-tests.mak8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/perf/feature-tests.mak b/tools/perf/feature-tests.mak
index b041ca67a2cb..1b3342001e1c 100644
--- a/tools/perf/feature-tests.mak
+++ b/tools/perf/feature-tests.mak
@@ -79,9 +79,15 @@ endef
endif
ifndef NO_LIBPYTHON
+define SOURCE_PYTHON_VERSION
+#include <Python.h>
+#if PY_VERSION_HEX >= 0x03000000
+ #error
+#endif
+int main(void){}
+endef
define SOURCE_PYTHON_EMBED
#include <Python.h>
-
int main(void)
{
Py_Initialize();