diff options
author | Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> | 2008-10-02 15:02:38 +0000 |
---|---|---|
committer | Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> | 2008-10-02 15:02:38 +0000 |
commit | 50b55c90065949a274653914612065a59b6e5189 (patch) | |
tree | 5649dd1c5d3776e328e9eeac704688a626f46059 | |
parent | 3fac2be7243fbfeed1fac63d2baee601f18cc87e (diff) | |
download | buildroot-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.mk | 8 | ||||
-rw-r--r-- | toolchain/gcc/gcc-uclibc-4.x.mk | 9 |
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 $@ |