Commit 50b55c90 authored by Hans-Christian Egtvedt's avatar Hans-Christian Egtvedt
Browse files

gcc: make installation of shared libraries multi-project safe



This patch modifies the rule for installing the shared libraries into the
project_foo/.../autotools-stamps directory. This will make the installation of
GCC shared libraries be multi-project safe.

Signed-off-by: default avatarHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
parent 3fac2be7
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -330,7 +330,7 @@ endif
	mkdir -p $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/sbin
	touch $@

$(GCC_BUILD_DIR2)/.libs_installed: $(GCC_BUILD_DIR2)/.installed
$(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed: $(GCC_BUILD_DIR2)/.installed
ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
	# These are in /lib, so...
	rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so*
@@ -355,10 +355,12 @@ ifeq ($(BR2_INSTALL_LIBGCJ),y)
	cp -dpf $(STAGING_DIR)/usr/lib/security/classpath.security \
		$(TARGET_DIR)/usr/lib/security/
endif
	mkdir -p $(@D)
	touch $@

cross_compiler:=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc
cross_compiler gcc: gcc-config $(GCC_BUILD_DIR2)/.installed $(GCC_BUILD_DIR2)/.libs_installed \
cross_compiler gcc: gcc-config $(GCC_BUILD_DIR2)/.installed \
	$(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed \
	$(GCC_TARGETS)

gcc-source: $(DL_DIR)/$(GCC_SOURCE)
@@ -383,7 +385,7 @@ gcc-dirclean: gcc_initial-dirclean
#############################################################
GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target

$(GCC_BUILD_DIR3)/.prepared: $(GCC_BUILD_DIR2)/.libs_installed $(GCC_TARGET_PREREQ)
$(GCC_BUILD_DIR3)/.prepared: $(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed $(GCC_TARGET_PREREQ)
	mkdir -p $(GCC_BUILD_DIR3)
	touch $@

+5 −4
Original line number Diff line number Diff line
@@ -359,7 +359,7 @@ endif
	mkdir -p $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/sbin
	touch $@

$(GCC_BUILD_DIR2)/.libs_installed: $(GCC_BUILD_DIR2)/.installed
$(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed: $(GCC_BUILD_DIR2)/.installed
ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
	# These are in /lib, so...
	rm -rf $(TARGET_DIR)/usr/lib/libgcc_s*.so*
@@ -385,12 +385,13 @@ ifeq ($(BR2_INSTALL_LIBGCJ),y)
	cp -dpf $(STAGING_DIR)/usr/lib/security/classpath.security \
		$(TARGET_DIR)/usr/lib/security/
endif
	mkdir -p $(@D)
	touch $@

cross_compiler:=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc
cross_compiler gcc: uclibc-configured binutils gcc_initial \
	$(LIBFLOAT_TARGET) uclibc \
	$(GCC_BUILD_DIR2)/.installed $(GCC_BUILD_DIR2)/.libs_installed \
	$(LIBFLOAT_TARGET) uclibc $(GCC_BUILD_DIR2)/.installed \
	$(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed \
	$(GCC_TARGETS)

gcc-source: $(DL_DIR)/$(GCC_SOURCE)
@@ -412,7 +413,7 @@ gcc-dirclean: gcc_initial-dirclean
#############################################################
GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-$(GCC_VERSION)-target

$(GCC_BUILD_DIR3)/.prepared: $(GCC_BUILD_DIR2)/.libs_installed $(GCC_TARGET_PREREQ)
$(GCC_BUILD_DIR3)/.prepared: $(PROJECT_BUILD_DIR)/autotools-stamps/gcc_libs_target_installed $(GCC_TARGET_PREREQ)
	mkdir -p $(GCC_BUILD_DIR3)
	touch $@