toolchain: make target gcc a working option

Make target gcc a more usable option.

* Nuke duplicate libgcc_s*.so* in /usr/lib since it confuses target gcc
* Copy *crt*.o files to the target system to unbreak gcc

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Gustavo Zacarias 2011-04-13 13:29:28 -03:00 committed by Peter Korsgaard
parent 4612aeec57
commit 243e4edc74

View File

@ -550,12 +550,17 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled
cp -f $(HOST_DIR)/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h \ cp -f $(HOST_DIR)/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/syslimits.h \
$(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/; \ $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/$(GCC_INCLUDE_DIR)/; \
fi fi
# Make sure we have 'cc'. # Make sure we have 'cc'.
if [ ! -e $(TARGET_DIR)/usr/bin/cc ]; then \ if [ ! -e $(TARGET_DIR)/usr/bin/cc ]; then \
ln -snf gcc $(TARGET_DIR)/usr/bin/cc; \ ln -snf gcc $(TARGET_DIR)/usr/bin/cc; \
fi fi
# Copy C runtime initialization object files
cp -f $(STAGING_DIR)/usr/lib/*crt*.o $(TARGET_DIR)/usr/lib
# 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 $@ touch -c $@
gcc_target: $(STAMP_DIR)/gcc_libs_target_installed $(GCC_TARGET_PREREQ) binutils $(TARGET_DIR)/usr/bin/gcc gcc_target: $(STAMP_DIR)/gcc_libs_target_installed $(GCC_TARGET_PREREQ) binutils $(TARGET_DIR)/usr/bin/gcc