libstdc++ multilib install broken

Bernardo Innocenti bernie@develer.com
Sat Aug 9 23:48:00 GMT 2003


On Saturday 09 August 2003 23:40, Phil Edwards wrote:
> On Sat, Aug 09, 2003 at 06:27:59PM +0200, Bernardo Innocenti wrote:
> > I could try rebuilding the previous GCC snapshot and see what it does
> > exactly. Once I've isolated the piece of code that did the right thing,
> > we could tell where it came from.
>
> That sounds like a good start.

So, this is what GCC 3.3.1 correctly did for the m5407/msep-data
multilib target:
---------------------------------------------------------------------
creating libstdc++.la
(cd .libs && rm -f libstdc++.la && ln -s ../libstdc++.la libstdc++.la)
/bin/sh /usr/local/src/uclinux-elf-tools/gcc-3.3.1/libstdc++-v3/../mkinstalldirs /usr/local/m68k-elf/lib/m5407/msep-data
/bin/sh ../libtool  --mode=install /bin/sh /usr/local/src/uclinux-elf-tools/gcc-3.3.1/install-sh -c libstdc++.la /usr/local/m68k-elf/lib/m5407/msep-data/libstdc++.la
/bin/sh /usr/local/src/uclinux-elf-tools/gcc-3.3.1/install-sh -c .libs/libstdc++.lai /usr/local/m68k-elf/lib/m5407/msep-data/libstdc++.la
/bin/sh /usr/local/src/uclinux-elf-tools/gcc-3.3.1/install-sh -c .libs/libstdc++.a /usr/local/m68k-elf/lib/m5407/msep-data/libstdc++.a
m68k-elf-ranlib /usr/local/m68k-elf/lib/m5407/msep-data/libstdc++.a
chmod 644 /usr/local/m68k-elf/lib/m5407/msep-data/libstdc++.a
---------------------------------------------------------------------

This is the corresponding rule from the generated Makefile
(in $(builddir)/m68k-elf/m5407/msep-data/libstdc++-v3/src/Makefile):
---------------------------------------------------------------------
toolexeclibdir = $(toolexecdir)/lib/m5407/msep-data
[...boring stuff...]
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
        @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
          if test -f $$p; then \
            echo "$(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
            $(LIBTOOL)  --mode=install $(INSTALL) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
          else :; fi; \
        done
---------------------------------------------------------------------

From libstdc++/src/Makefile.in:
---------------------------------------------------------------------
toolexeclibdir = @glibcpp_toolexeclibdir@
---------------------------------------------------------------------

This comes directly from libstdc++/src/Makefile.am:
---------------------------------------------------------------------
# Cross compiler support.
CXX = @glibcpp_CXX@
glibcpp_srcdir=@glibcpp_srcdir@
glibcpp_builddir=@glibcpp_builddir@
toolexecdir = @glibcpp_toolexecdir@
toolexeclibdir = @glibcpp_toolexeclibdir@
toolexeclib_LTLIBRARIES = libstdc++.la
---------------------------------------------------------------------

Hope it helps tracking the problem in mainline.

-- 
  // Bernardo Innocenti - Develer S.r.l., R&D dept.
\X/  http://www.develer.com/

Please don't send Word attachments - http://www.gnu.org/philosophy/no-word-attachments.html




More information about the Libstdc++ mailing list