summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2015-11-06 23:21:37 +0100
committerMichał Górny <mgorny@gentoo.org>2015-11-11 11:21:09 +0100
commit6cdbddf775a921788d0aa3cd3f757c0a1ac8cd37 (patch)
tree85ff5837395cb34a641c0e4fb9978d674169af8f /eclass/python-utils-r1.eclass
parentpython-utils-r1.eclass: set PYTHON locally in python_export() (diff)
downloadgentoo-6cdbddf775a921788d0aa3cd3f757c0a1ac8cd37.tar.gz
gentoo-6cdbddf775a921788d0aa3cd3f757c0a1ac8cd37.tar.bz2
gentoo-6cdbddf775a921788d0aa3cd3f757c0a1ac8cd37.zip
python-utils-r1.eclass: Obtain include directory from the interpreter
Obtain the Python include directory using the distutils.sysconfig module of the Python interpreter rather than hardcoding values for it. This makes the code more maintainable, and clears the way for re-enabling ABIFLAGS on new Python versions.
Diffstat (limited to 'eclass/python-utils-r1.eclass')
-rw-r--r--eclass/python-utils-r1.eclass21
1 files changed, 7 insertions, 14 deletions
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 69166cfbf9d..a0274f60616 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -138,6 +138,7 @@ _python_impl_supported() {
# The path to Python include directory.
#
# Set and exported on request using python_export().
+# Requires a proper build-time dependency on the Python implementation.
#
# Example value:
# @CODE
@@ -279,21 +280,13 @@ python_export() {
debug-print "${FUNCNAME}: PYTHON_SITEDIR = ${PYTHON_SITEDIR}"
;;
PYTHON_INCLUDEDIR)
- local dir
- case "${impl}" in
- python*)
- dir=/usr/include/${impl}
- ;;
- pypy|pypy3)
- dir=/usr/$(get_libdir)/${impl}/include
- ;;
- *)
- die "${impl} lacks header files"
- ;;
- esac
-
- export PYTHON_INCLUDEDIR=${EPREFIX}${dir}
+ export PYTHON_INCLUDEDIR=$("${PYTHON}" -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())')
debug-print "${FUNCNAME}: PYTHON_INCLUDEDIR = ${PYTHON_INCLUDEDIR}"
+
+ # Jython gives a non-existing directory
+ if [[ ! -d ${PYTHON_INCLUDEDIR} ]]; then
+ die "${impl} does not install any header files!"
+ fi
;;
PYTHON_LIBPATH)
local libname