mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 20:14:06 +08:00
fix gdb+python build failure if using non-GNU sed
Non-GNU sed do not like the '?' quantifier when used in a s/// regexp that involve back-references, causing the build to fail when trying to link with Python support. This fixes it by using the '*' quantifier instead. gdb/ChangeLog: * configure.ac: Work around non-GNU sed limitation when computing python version number. * configure: Regenerate.
This commit is contained in:
parent
73b45f0445
commit
c1039e3cb7
@ -1,3 +1,9 @@
|
||||
2011-02-02 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Work around non-GNU sed limitation when computing
|
||||
python version number.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix debug printing of TYPE_INSTANCE.
|
||||
|
17
gdb/configure
vendored
17
gdb/configure
vendored
@ -10658,8 +10658,23 @@ fi
|
||||
|
||||
have_libpython=no
|
||||
if test "${have_python_config}" = yes; then
|
||||
# Determine the Python version by extracting "-lpython<version>"
|
||||
# part of the python_libs. <version> is usually X.Y with X and Y
|
||||
# being decimal numbers, but can also be XY (seen on Windows).
|
||||
#
|
||||
# The extraction is performed using sed with a regular expression.
|
||||
# Initially, the regexp used was using the '?' quantifier to make
|
||||
# the dot in the version number optional. Unfortunately, this
|
||||
# does not work with non-GNU versions of sed because, because of
|
||||
# what looks like a limitation (the '?' quantifier does not work
|
||||
# with back-references). We work around this limitation by using
|
||||
# the '*' quantifier instead. It means that, in theory, we might
|
||||
# match unexpected version strings such as "-lpython2..7", but
|
||||
# this seems unlikely in practice. And even if that happens,
|
||||
# an error will be triggered later on, when checking that version
|
||||
# number.
|
||||
python_version=`echo " ${python_libs} " \
|
||||
| sed -e 's,^.* -l\(python[0-9]*[.]\?[0-9]*\).*$,\1,'`
|
||||
| sed -e 's,^.* -l\(python[0-9]*[.]*[0-9]*\).*$,\1,'`
|
||||
case "${python_version}" in
|
||||
python*)
|
||||
|
||||
|
@ -769,8 +769,23 @@ else
|
||||
|
||||
have_libpython=no
|
||||
if test "${have_python_config}" = yes; then
|
||||
# Determine the Python version by extracting "-lpython<version>"
|
||||
# part of the python_libs. <version> is usually X.Y with X and Y
|
||||
# being decimal numbers, but can also be XY (seen on Windows).
|
||||
#
|
||||
# The extraction is performed using sed with a regular expression.
|
||||
# Initially, the regexp used was using the '?' quantifier to make
|
||||
# the dot in the version number optional. Unfortunately, this
|
||||
# does not work with non-GNU versions of sed because, because of
|
||||
# what looks like a limitation (the '?' quantifier does not work
|
||||
# with back-references). We work around this limitation by using
|
||||
# the '*' quantifier instead. It means that, in theory, we might
|
||||
# match unexpected version strings such as "-lpython2..7", but
|
||||
# this seems unlikely in practice. And even if that happens,
|
||||
# an error will be triggered later on, when checking that version
|
||||
# number.
|
||||
python_version=`echo " ${python_libs} " \
|
||||
| sed -e 's,^.* -l\(python[[0-9]]*[[.]]\?[[0-9]]*\).*$,\1,'`
|
||||
| sed -e 's,^.* -l\(python[[0-9]]*[[.]]*[[0-9]]*\).*$,\1,'`
|
||||
case "${python_version}" in
|
||||
python*)
|
||||
AC_TRY_LIBPYTHON(${python_version}, have_libpython,
|
||||
|
Loading…
Reference in New Issue
Block a user