mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-07 11:20:14 +00:00
There is subtle difference between our CTNG_PYTHON and the AX_PYTHON on which it is based. The latter uses AC_CHECK_PROGS() which sets PYTHON_BIN to the name of the executable. We use AC_PATH_PROGS() which sets PYTHON_BIN to the full path of the executable. Because the name of the executable is the same as the library AX_PYTHON uses this when looking for the library with AC_CHECK_LIB() which magics itself into a linker flag like `-lpython3.11` but our version ends up with a nonsensical `-l/usr/bin/python3.11` so the check fails and we keep iterating repeating the same wrong check for every tested python version. We can't just switch to using AC_CHECK_PROGS() because we do want to use the variable set by AC_PATH_PROGS() to set the full path in paths.sh. Ultimately we could probably switch to using the upstream AX_PYTHON macro (https://www.gnu.org/software/autoconf-archive/ax_python.html) and figure out a better way of getting the full path of the exectuable but for now add an extra AC_CHECK_PROGS() to set a different variable and use that for AC_CHECK_LIB(). Signed-off-by: Chris Packham <judge.packham@gmail.com>
These autoconf helper macros come from various sources: - ax_*.m4: autoconf-archive, version 2022.09.03 (copied) - pkg.m4: pkgconf, version 1.8.0 (run configure, then copy) - gettext.m4, iconv.m4, intlmacosx.m4, nls.m4: gettext 0.21.9 - ctng_*.m4: obviously, implemented anew - po.m4: a local dummy stub for gettext's version