This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: shared libgcc install failure


On Sun, Jan 07, 2001 at 07:58:59PM +0100, Matthias Klose wrote:
> Your patch hardcodes the installation directory, it's not possible to
> build and temporarily install for packaging with different
> prefixes. The generated libgcc.mk should use $(libsubdir) and
> $(slibdir).

Reasonable.  Fixed thus.


r~


        * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
        fix typo in rm -f.
        * config/t-aix43 (SHLIB_INSTALL): Likewise.
        * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
        (SHLIB_LINK): Create links for the soname.
        * config/mips/t-iris6: Likewise.
        * config/sparc/t-slibgcc: Likewise.
        * config/sparc/t-slibgcc-sld: Likewise.

Index: t-linux
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/t-linux,v
retrieving revision 1.7
diff -c -p -d -r1.7 t-linux
*** t-linux	2001/01/07 09:27:24	1.7
--- t-linux	2001/01/07 21:51:02
*************** SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
*** 16,24 ****
  	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
  	rm -f @shlib_base_name@.so.0 && \
  	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $(slibdir)/@shlib_base_name@; \
! 	$(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/libgcc-glibc.ver
  
--- 16,26 ----
  	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
  	rm -f @shlib_base_name@.so.0 && \
  	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $$(slibdir)/@shlib_base_name@.so; \
! 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/libgcc-glibc.ver
  
Index: alpha/t-osf4
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/alpha/t-osf4,v
retrieving revision 1.3
diff -c -p -d -r1.3 t-osf4
*** t-osf4	2001/01/07 09:27:24	1.3
--- t-osf4	2001/01/07 21:51:02
*************** TARGET_LIBGCC2_CFLAGS = -fPIC
*** 8,14 ****
  SHLIB_EXT = .so
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,-msym -Wl,-set_version,gcc.0 -Wl,-soname,@shlib_base_name@.so.0 \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $(slibdir)/@shlib_base_name@; \
! 	$(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
--- 8,18 ----
  SHLIB_EXT = .so
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,-msym -Wl,-set_version,gcc.0 -Wl,-soname,@shlib_base_name@.so.0 \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
! 	rm -f @shlib_base_name@.so.0 && \
! 	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $$(slibdir)/@shlib_base_name@.so; \
! 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
Index: mips/t-iris6
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/mips/t-iris6,v
retrieving revision 1.7
diff -c -p -d -r1.7 t-iris6
*** t-iris6	2001/01/07 09:27:24	1.7
--- t-iris6	2001/01/07 21:51:02
*************** CRTSTUFF_T_CFLAGS=-g1
*** 23,36 ****
  SHLIB_EXT = .so
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
          -Wl,-soname,@shlib_base_name@.so.0 \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
  # ??? Irix 6.5 seems to eat the option fine (if we somehow remove the
  # -hidden_symbol option, which is documented to be ignored in conjunction
  # with -exports_file), but fails to actually hide any symbols.
! # -Wl,-exports_file,@shlib_map_file@
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $(slibdir)/@shlib_base_name@; \
! 	$(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver 
  
--- 23,41 ----
  SHLIB_EXT = .so
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
          -Wl,-soname,@shlib_base_name@.so.0 \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
! 	rm -f @shlib_base_name@.so.0 && \
! 	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
  # ??? Irix 6.5 seems to eat the option fine (if we somehow remove the
  # -hidden_symbol option, which is documented to be ignored in conjunction
  # with -exports_file), but fails to actually hide any symbols.
! #	-Wl,-exports_file,@shlib_map_file@
! 
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $$(slibdir)/@shlib_base_name@.so; \
! 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver 
  
Index: rs6000/t-aix43
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/t-aix43,v
retrieving revision 1.11
diff -c -p -d -r1.11 t-aix43
*** t-aix43	2001/01/07 09:27:24	1.11
--- t-aix43	2001/01/07 21:51:03
*************** SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2
*** 60,66 ****
  	$(AR_CREATE_FOR_TARGET) tmp-@shlib_base_name@.a @multilib_dir@/shr.o ; \
  	mv tmp-@shlib_base_name@.a @shlib_base_name@.a ; \
  	rm -f @multilib_dir@/shr.o
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $(slibdir)/
  SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
  SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
--- 60,68 ----
  	$(AR_CREATE_FOR_TARGET) tmp-@shlib_base_name@.a @multilib_dir@/shr.o ; \
  	mv tmp-@shlib_base_name@.a @shlib_base_name@.a ; \
  	rm -f @multilib_dir@/shr.o
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.a $$(slibdir)/
  SHLIB_LIBS = -lc `case @shlib_base_name@ in *pthread*) echo -lpthread ;; esac`
  SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
Index: sparc/t-slibgcc
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/sparc/t-slibgcc,v
retrieving revision 1.2
diff -c -p -d -r1.2 t-slibgcc
*** t-slibgcc	2001/01/07 09:27:25	1.2
--- t-slibgcc	2001/01/07 21:51:03
*************** SHLIB_EXT = .so
*** 4,12 ****
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,--soname=@shlib_base_name@.so.0 \
  	-Wl,--version-script=@shlib_map_file@ \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $(slibdir)/@shlib_base_name@; \
! 	$(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
--- 4,16 ----
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,--soname=@shlib_base_name@.so.0 \
  	-Wl,--version-script=@shlib_map_file@ \
! 	-o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && \
! 	rm -f @shlib_base_name@.so.0 && \
! 	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $$(slibdir)/@shlib_base_name@.so; \
! 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
Index: sparc/t-slibgcc-sld
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/sparc/t-slibgcc-sld,v
retrieving revision 1.2
diff -c -p -d -r1.2 t-slibgcc-sld
*** t-slibgcc-sld	2001/01/07 09:27:25	1.2
--- t-slibgcc-sld	2001/01/07 21:51:03
*************** SHLIB_EXT = .so
*** 4,12 ****
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,-h,@shlib_base_name@.so.0 -Wl,-z,text -Wl,-z,defs \
  	-Wl,-M,@shlib_map_file@ -o @shlib_base_name@.so \
! 	@multilib_flags@ @shlib_objs@ -lc
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $(slibdir)/@shlib_base_name@; \
! 	$(LN_S) @shlib_base_name@.so.0 $(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
--- 4,16 ----
  SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
  	-Wl,-h,@shlib_base_name@.so.0 -Wl,-z,text -Wl,-z,defs \
  	-Wl,-M,@shlib_map_file@ -o @shlib_base_name@.so \
! 	@multilib_flags@ @shlib_objs@ -lc && \
! 	rm -f @shlib_base_name@.so.0 && \
! 	$(LN_S) @shlib_base_name@.so @shlib_base_name@.so.0
! # $(slibdir) double quoted to protect it from expansion while building
! # libgcc.mk.  We want this delayed until actual install time.
! SHLIB_INSTALL = $(INSTALL_DATA) @shlib_base_name@.so $$(slibdir)/@shlib_base_name@.so.0; \
! 	rm -f $$(slibdir)/@shlib_base_name@.so; \
! 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
  SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
  SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]