diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rwxr-xr-x | gdb/configure | 17 | ||||
-rw-r--r-- | gdb/configure.ac | 17 |
3 files changed, 38 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 84013cb..7e95941 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/configure b/gdb/configure index 5a6d0be..5ee5ce6 100755 --- a/gdb/configure +++ b/gdb/configure @@ -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*) diff --git a/gdb/configure.ac b/gdb/configure.ac index 68b0838..d2b75f6 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -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, |