summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>2008-10-02 15:02:38 +0000
committerHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>2008-10-02 15:02:38 +0000
commit50b55c90065949a274653914612065a59b6e5189 (patch)
tree5649dd1c5d3776e328e9eeac704688a626f46059
parent3fac2be7243fbfeed1fac63d2baee601f18cc87e (diff)
downloadbuildroot-novena-50b55c90065949a274653914612065a59b6e5189.tar.gz
buildroot-novena-50b55c90065949a274653914612065a59b6e5189.zip
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: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-rw-r--r--toolchain/gcc/gcc-uclibc-3.x.mk8
-rw-r--r--toolchain/gcc/gcc-uclibc-4.x.mk9
2 files changed, 10 insertions, 7 deletions
diff --git a/toolchain/gcc/gcc-uclibc-3.x.mk b/toolchain/gcc/gcc-uclibc-3.x.mk
index 2c2b192c5..3a8d9d3bb 100644
--- a/toolchain/gcc/gcc-uclibc-3.x.mk
+++ b/toolchain/gcc/gcc-uclibc-3.x.mk
@@ -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 $@
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 668e9fc1f..08e5ed6c8 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -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 $@