[Buildroot] [PATCH] More external toolchain fixes
Bernhard Reutner-Fischer
rep.dot.nop at gmail.com
Fri Oct 31 13:18:23 UTC 2008
On Thu, Oct 30, 2008 at 10:02:47AM +0100, Thomas Petazzoni wrote:
>Fix issues with binary external toolchains
>
>Fix two problems encountered while using an external binary toolchain
>generated by crosstool-ng:
>
> - Don't remove the ending / in LIB_DIR, otherwise find $LIB_DIR
> -maxdepth 1 doesn't find any file in the case LIB_DIR is a symbolic
> link and not a directory.
>
> For some reason, find -maxdepth 1 doesn't have the same behaviour
> on directories and symbolic links. Demonstration:
>
> $ mkdir foobar
> $ touch foobar/t1
> $ touch foobar/t2
> $ ln -s foobar barfoo
> $ find foobar -maxdepth 1 -name 't*'
> foobar/t1
> foobar/t2
> $ find barfoo -maxdepth 1 -name 't*'
> $ find barfoo/ -maxdepth 1 -name 't*'
> barfoo/t1
> barfoo/t2
>
> * Make sure the libraries are writable, otherwise the strip operation
> might fail. The library files may not be writable if the toolchain
> is not writable (which may happen if one wants to prevent anyone
> from overwriting the toolchain, which is done by crosstool-ng, for
> example).
>
>Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---
> toolchain/external-toolchain/ext-tool.mk | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
>Index: buildroot/toolchain/external-toolchain/ext-tool.mk
>===================================================================
>--- buildroot.orig/toolchain/external-toolchain/ext-tool.mk
>+++ buildroot/toolchain/external-toolchain/ext-tool.mk
>@@ -10,7 +10,7 @@
> DST="$(strip $2)"; \
> STRIP="$(strip $3)"; \
> \
>- LIB_DIR=`$(TARGET_CC) -print-file-name=$${LIB} | sed -e "s,/$${LIB}\$$,,"`; \
>+ LIB_DIR=`$(TARGET_CC) -print-file-name=$${LIB} | sed -e "s,$${LIB}\$$,,"`; \
ok.
> \
> if test -z "$${LIB_DIR}"; then \
> echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \
>@@ -28,6 +28,7 @@
> cp -d $${LIB_DIR}/$${LIB} $(TARGET_DIR)$${DST}/; \
> elif test -f $${LIB_DIR}/$${LIB}; then \
> cp $${LIB_DIR}/$${LIB} $(TARGET_DIR)$${DST}/$${LIB}; \
>+ chmod u+w $(TARGET_DIR)$${DST}/$${LIB}; \
just use $(INSTALL) -D -m0755 instead of those 2 commands.
> case "$${STRIP}" in \
> (0 | n | no) \
> ;; \
More information about the buildroot
mailing list