[PATCH 2/2] gdb/python: Use python-config for the configuration if found.
chrisj at rtems.org
chrisj at rtems.org
Tue Dec 18 04:25:06 UTC 2018
From: Chris Johns <chrisj at rtems.org>
- Do not assume the installed paths for the header and library.
Ask python-config if found.
Close #3537.
---
source-builder/config/gdb-common-1.cfg | 25 +++++++++++++++++++++----
source-builder/sb/rtems-build-dep | 2 +-
2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/source-builder/config/gdb-common-1.cfg b/source-builder/config/gdb-common-1.cfg
index 45df5e9..9018448 100644
--- a/source-builder/config/gdb-common-1.cfg
+++ b/source-builder/config/gdb-common-1.cfg
@@ -51,7 +51,7 @@
%define gdb-enable-python %{gdb_python3}
%else
%if %{defined gdb-python-version}
- %define gdb-enable-python %(command -v %{gdb-python-version || true})
+ %define gdb-enable-python %(command -v %{gdb-python-version} || true)
%else
%define gdb-enable-python %(command -v python2 || true)
%if %{gdb-enable-python} == %{nil}
@@ -74,15 +74,27 @@
#
# The library file name can vary across the hosts so wildcard the search.
#
+%if %{!defined gdb-python-config}
+ %define gdb-python-config %{nil}
+%endif
+%if %{gdb-python-config} == %{nil}
+ %define gdb-python-config %(command -v %{gdb-enable-python}-config || true)
+%endif
%define gdb-python-ver-mm %(%{gdb-enable-python} --version 2>&1 | sed -e 's/.* //g' | rev | cut -d'.' -f2- | rev)
-%define gdb-python-ver-header python%{gdb-python-ver-mm}/Python.h
+%define gdb-python-header Python.h
+%define gdb-python-ver-header python%{gdb-python-ver-mm}/%{gdb-python-header}
%define gdb-python-ver-lib libpython%{gdb-python-ver-mm}.*
%if %{host_includes} == %{nil}
%define gdb-host-incs %{nil}
%else
%define gdb-host-incs -I '%{host_includes}'
%endif
-%define gdb-python-header-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-incs} -H %{gdb-python-ver-header})
+%if %{gdb-python-config} != %{nil}
+ %define gdb-python-config-incs -I '%(%{gdb-python-config} --includes)'
+ %define gdb-python-header-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-incs} %{gdb-python-config-incs} -H %{gdb-python-header})
+%else
+ %define gdb-python-header-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-incs} -H %{gdb-python-ver-header})
+%endif
%if %{gdb-python-header-check} == not-found
%error "gdb: python: header file not found: %{gdb-python-ver-header}, please install"
%endif
@@ -95,7 +107,12 @@
%else
%define gdb-host-libs -L '%{host_ldflags}'
%endif
- %define gdb-python-lib-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-libs} -l %{gdb-python-ver-lib})
+ %if %{gdb-python-config} != %{nil}
+ %define gdb-python-config-libs -l '%(%{gdb-python-config} --ldflags)'
+ %define gdb-python-lib-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-libs} %{gdb-python-config-libs})
+ %else
+ %define gdb-python-lib-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-libs} -l %{gdb-python-ver-lib})
+ %endif
%if %{gdb-python-lib-check} == not-found
%error "gdb: python: library file not found: %{gdb-python-ver-lib}, please install"
%endif
diff --git a/source-builder/sb/rtems-build-dep b/source-builder/sb/rtems-build-dep
index 3a82753..7e406c5 100755
--- a/source-builder/sb/rtems-build-dep
+++ b/source-builder/sb/rtems-build-dep
@@ -72,7 +72,7 @@ do
echo 'error: no header path (-I) provided'
exit 2
fi
- includes="$2"; shift;
+ includes="${includes} $2"; shift;
shift;;
-l)
if [ $# -eq 1 ]; then
--
2.19.1
More information about the devel
mailing list