diff options
author | Michał Górny <mgorny@gentoo.org> | 2015-11-06 23:21:37 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2015-11-11 11:21:09 +0100 |
commit | 6cdbddf775a921788d0aa3cd3f757c0a1ac8cd37 (patch) | |
tree | 85ff5837395cb34a641c0e4fb9978d674169af8f /eclass/python-utils-r1.eclass | |
parent | python-utils-r1.eclass: set PYTHON locally in python_export() (diff) | |
download | gentoo-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.eclass | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 69166cfbf9db..a0274f60616b 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 |