|
|
Do not put gdb python plugin directly into $libdir
Placing files like 'libstdc++.so.6.0.17-gdb.py' into '$libdir' results in warnings when running 'ldconfig' because it is not an ELF file. A common place where to put gdb plugins is '$datadir/gdb/auto-load$libdir' like '/usr/share/gdb/auto-load/usr/lib'.
Note:
This patch assumes that gdb and gcc are using the same prefix!
--- a/libstdc++-v3/python/Makefile.am 2013-02-11 11:21:56.256542983 +0100
+++ b/libstdc++-v3/python/Makefile.am 2013-02-11 14:00:22.742531876 +0100
@@ -38,10 +38,10 @@
gdb.py: hook.in Makefile sed -e 's,@pythondir@,$(pythondir),' \ - -e 's,@toolexeclibdir@,$(toolexeclibdir),' < $(srcdir)/hook.in > $@
+ -e 's,@toolexeclibdir@,$(datadir)/gdb/auto-load$(toolexeclibdir),' < $(srcdir)/hook.in > $@
install-data-local: gdb.py - @$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
+ @$(mkdir_p) $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)
## We want to install gdb.py as SOMETHING-gdb.py. SOMETHING is the ## full name of the final library. We want to ignore symlinks, the ## .la file, and any previous -gdb.py file. This is inherently @@ -59,5 +59,5 @@
esac; \ done; \ cd $$here; \ - echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
- $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
+ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)/$$libname-gdb.py"; \
+ $(INSTALL_DATA) gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)/$$libname-gdb.py
--- a/libstdc++-v3/python/Makefile.in 2013-02-11 11:21:59.428241462 +0100
+++ b/libstdc++-v3/python/Makefile.in 2013-02-11 14:00:05.000008051 +0100
@@ -493,10 +493,10 @@
gdb.py: hook.in Makefile sed -e 's,@pythondir@,$(pythondir),' \ - -e 's,@toolexeclibdir@,$(toolexeclibdir),' < $(srcdir)/hook.in > $@
+ -e 's,@toolexeclibdir@,$(datadir)/gdb/auto-load$(toolexeclibdir),' < $(srcdir)/hook.in > $@
install-data-local: gdb.py - @$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
+ @$(mkdir_p) $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)
@here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \ for file in libstdc++*; do \ case $$file in \ @@ -509,8 +509,8 @@
esac; \ done; \ cd $$here; \ - echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
- $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
+ echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)/$$libname-gdb.py"; \
+ $(INSTALL_DATA) gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(toolexeclibdir)/$$libname-gdb.py
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.
|