buildroot/package/gdb/gdb-python-config
Yann E. MORIN 8f6e333f96 package/gdb: do not hard-code python version in gdb-python-config
The gdb-python-config simulates a python-2.7, with a hard-coded 2.7
version.

gdb also supports running with python3 nowadays, so prepare the wrapper
to return appropriate values.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-12-31 14:44:03 +01:00

42 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# This shell script is used to fake Python. Gdb wants to be passed a
# Python interpreter, to run its own python-config.py program, which
# uses sysconfig. However, when cross-compiling, this doesn't work
# well since we would have to use the host Python, whose sysconfig
# module would return host values.
#
# As recommended at
# https://sourceware.org/gdb/wiki/CrossCompilingWithPythonSupport,
# this wrapper shell script can be used as a replacement. It ignores
# the python-config.py script passed as first arguments, and
# "emulates" its behavior.
if [ $# -ne 2 ] ; then
echo "Bad # args." >&2
exit 1
fi
if [ -z "${BR_PYTHON_VERSION}" ]; then
echo "Environment variable BR_PYTHON_VERSION not set." >&2
exit 1
fi
# The first argument is the path to python-config.py, ignore it.
case "$2" in
--includes)
echo "-I${STAGING_DIR}/usr/include/python${BR_PYTHON_VERSION}"
;;
--ldflags)
echo "-lpthread -ldl -lutil -lm -lpython${BR_PYTHON_VERSION}"
;;
--exec-prefix)
echo "/usr"
;;
*)
echo "Bad arg $2." >&2
exit 1
;;
esac