Handle the case of no shared libgcc -- sh4 for instance.

This commit is contained in:
Manuel Novoa III 2003-11-22 07:01:52 +00:00
parent 2c4877ced6
commit 4a66db29af
1 changed files with 14 additions and 9 deletions

View File

@ -302,16 +302,19 @@ ifneq ($(TARGET_DIR),)
$(TARGET_DIR)/lib/libstdc++.so.5.0.5: $(GCC_BUILD_DIR2)/.installed $(TARGET_DIR)/lib/libstdc++.so.5.0.5: $(GCC_BUILD_DIR2)/.installed
cp -a $(STAGING_DIR)/lib/libstdc++.so* $(TARGET_DIR)/lib/ cp -a $(STAGING_DIR)/lib/libstdc++.so* $(TARGET_DIR)/lib/
$(TARGET_DIR)/lib/libgcc_s.so.0.9.9: $(GCC_BUILD_DIR2)/.installed $(GCC_BUILD_DIR2)/.shared_libgcc: $(GCC_BUILD_DIR2)/.installed
cp -a $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/
# Let applications link with the shared libgcc. # Let applications link with the shared libgcc.
mkdir -p $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/ if [ -f $(STAGING_DIR)/lib/libgcc_s.so.0.9.9 ] ; then \
ln -sf $(STAGING_DIR)/lib/libgcc_s.so $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so cp -a $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/ ; \
mkdir -p $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/ ; \
ln -sf $(STAGING_DIR)/lib/libgcc_s.so $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so ; \
fi
touch $(GCC_BUILD_DIR2)/.shared_libgcc
ifeq ($(INSTALL_LIBSTDCPP),true) ifeq ($(INSTALL_LIBSTDCPP),true)
GCC_TARGETS= $(TARGET_DIR)/lib/libgcc_s.so.0.9.9 $(TARGET_DIR)/lib/libstdc++.so.5.0.5 GCC_TARGETS= $(GCC_BUILD_DIR2)/.shared_libgcc $(TARGET_DIR)/lib/libstdc++.so.5.0.5
else else
GCC_TARGETS= $(TARGET_DIR)/lib/libgcc_s.so.0.9.9 GCC_TARGETS= $(GCC_BUILD_DIR2)/.shared_libgcc
endif endif
endif endif
@ -457,9 +460,11 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
# Work around problem of missing syslimits.h # Work around problem of missing syslimits.h
cp -f $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/syslimits.h $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/ cp -f $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/syslimits.h $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/
# Enable applications to find the shared libgcc when linking (on target). # Enable applications to find the shared libgcc when linking on target.
ln -sf $(TARGET_DIR)/lib/libgcc_s.so $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so if [ -f $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so ] ; then \
(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION) ; ln -sf /lib/libgcc_s.so libgcc.so) ln -sf $(TARGET_DIR)/lib/libgcc_s.so $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/libgcc.so ; \
(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION) ; ln -sf /lib/libgcc_s.so libgcc.so); \
fi
# These are in /lib, so... # These are in /lib, so...
rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so* rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so*
touch -c $(TARGET_DIR)/usr/bin/gcc touch -c $(TARGET_DIR)/usr/bin/gcc