When no shared library is installed, the new code to determine the name
of the -gdb.py file yields an empty string. Use the name of the static
library in that case.

libstdc++-v3/ChangeLog:

        PR libstdc++/99453
        * python/Makefile.am: Use archive name for printer hook if no
        dynamic library name is available.
        * python/Makefile.in: Regenerate.

Tested x86_64-linux. Committed to trunk. This is needed for gcc-11
too.

commit 9f7bc160b4a0f27dce248d1226e3ae7104b0e67b
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Tue Jun 1 11:00:16 2021

    libstdc++: Fix installation of python hooks [PR 99453]
    
    When no shared library is installed, the new code to determine the name
    of the -gdb.py file yields an empty string. Use the name of the static
    library in that case.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/99453
            * python/Makefile.am: Use archive name for printer hook if no
            dynamic library name is available.
            * python/Makefile.in: Regenerate.

diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am
index 0c2b207b86e..8efefa5725c 100644
--- a/libstdc++-v3/python/Makefile.am
+++ b/libstdc++-v3/python/Makefile.am
@@ -48,5 +48,9 @@ install-data-local: gdb.py
 ## the correct name.
        @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
                  $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
+       if [ -z "$$libname" ]; then \
+         libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+                 $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
+       fi; \
        echo " $(INSTALL_DATA) gdb.py 
$(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
        $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py

Reply via email to