[Buildroot] [PATCH 1/5] toolchain-external: blackfin: install FDPIC libraries also to staging

Arnout Vandecappelle arnout at mind.be
Sun Mar 27 16:20:43 UTC 2016


On 02/12/16 20:20, Thomas De Schampheleire wrote:
> From: Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>
>
> For external Blackfin toolchains with BR2_BFIN_INSTALL_FDPIC_SHARED set,
> the FDPIC shared libraries are currently only copied to the target
> directory, not to staging.
>
> For debugging purposes, an unstripped copy in staging is necessary.
> Moreover, this change will simplify a subsequent change that lines up the
> location of shared libraries between target and staging directories.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>

  Quick build-test done.

  Regards,
  Arnout

> ---
>   toolchain/toolchain-external/toolchain-external.mk | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
>
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 6c3022a..ffdee49 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -656,6 +656,20 @@ endef
>   # nonetheless requested the installation of the FDPIC libraries to the
>   # target filesystem.
>   ifeq ($(BR2_BFIN_INSTALL_FDPIC_SHARED),y)
> +define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC
> +	$(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to staging...") ; \
> +	FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \
> +	FDPIC_SYSROOT_DIR="$(call toolchain_find_sysroot,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
> +	FDPIC_LIB_DIR="$(call toolchain_find_libdir,$${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
> +	FDPIC_SUPPORT_LIB_DIR="" ; \
> +	if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \
> +	        FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \
> +	        if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \
> +	                FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \
> +	        fi ; \
> +	fi ; \
> +	$(call copy_toolchain_sysroot,$${FDPIC_SYSROOT_DIR},$${FDPIC_SYSROOT_DIR},,$${FDPIC_LIB_DIR},$${FDPIC_SUPPORT_LIB_DIR})
> +endef
>   define TOOLCHAIN_EXTERNAL_INSTALL_BFIN_FDPIC
>   	$(Q)$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") ; \
>   	FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \
> @@ -755,6 +769,7 @@ TOOLCHAIN_EXTERNAL_BUILD_CMDS = $(TOOLCHAIN_BUILD_WRAPPER)
>   define TOOLCHAIN_EXTERNAL_INSTALL_STAGING_CMDS
>   	$(TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK)
>   	$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS)
> +	$(TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS_BFIN_FDPIC)
>   	$(TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER)
>   	$(TOOLCHAIN_EXTERNAL_INSTALL_GDBINIT)
>   endef
> @@ -771,3 +786,4 @@ define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_CMDS
>   endef
>
>   $(eval $(generic-package))
> +
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF


More information about the buildroot mailing list