978d8dc53e
* In toolchain/external-toolchain/ext-tool.mk, copy the contents of the sysroot directory to the staging dir. * In package/Makefile.in, add a --sysroot CFLAGS pointing to the staging dir * Remove the CFLAGS and LDFLAGS definition from TARGET_CONFIGURE_OPTS. I haven't investigated exactly why, but with these options, DirectFB fails to build because it cannot find PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, even if DirectFB's Makefile properly sets -D_GNU_SOURCE. I have already sent this patch on December, 2nd to the mailing-list, but got no feedback. So let's commit and see what happens :-) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
62 lines
1.9 KiB
Makefile
62 lines
1.9 KiB
Makefile
#
|
|
# copy_toolchain_lib_root
|
|
#
|
|
# $1: source
|
|
# $2: destination
|
|
# $3: strip (y|n) default is to strip
|
|
#
|
|
copy_toolchain_lib_root = \
|
|
LIB="$(strip $1)"; \
|
|
DST="$(strip $2)"; \
|
|
STRIP="$(strip $3)"; \
|
|
\
|
|
LIB_DIR=`$(TARGET_CC) -print-file-name=$${LIB} | sed -e "s,$${LIB}\$$,,"`; \
|
|
\
|
|
if test -z "$${LIB_DIR}"; then \
|
|
echo "copy_toolchain_lib_root: lib=$${LIB} not found"; \
|
|
exit -1; \
|
|
fi; \
|
|
\
|
|
LIB="$(strip $1)"; \
|
|
for FILE in `find $${LIB_DIR} -maxdepth 1 -type l -name "$${LIB}*"`; do \
|
|
LIB=`basename $${FILE}`; \
|
|
while test \! -z "$${LIB}"; do \
|
|
echo "copy_toolchain_lib_root lib=$${LIB} dst=$${DST}"; \
|
|
rm -fr $(TARGET_DIR)$${DST}/$${LIB}; \
|
|
mkdir -p $(TARGET_DIR)$${DST}; \
|
|
if test -h $${LIB_DIR}/$${LIB}; then \
|
|
cp -d $${LIB_DIR}/$${LIB} $(TARGET_DIR)$${DST}/; \
|
|
elif test -f $${LIB_DIR}/$${LIB}; then \
|
|
$(INSTALL) -D -m0755 $${LIB_DIR}/$${LIB} $(TARGET_DIR)$${DST}/$${LIB}; \
|
|
case "$${STRIP}" in \
|
|
(0 | n | no) \
|
|
;; \
|
|
(*) \
|
|
$(TARGET_CROSS)strip "$(TARGET_DIR)$${DST}/$${LIB}"; \
|
|
;; \
|
|
esac; \
|
|
else \
|
|
exit -1; \
|
|
fi; \
|
|
LIB="`readlink $${LIB_DIR}/$${LIB}`"; \
|
|
done; \
|
|
done; \
|
|
\
|
|
echo -n
|
|
|
|
copy_toolchain_sysroot = \
|
|
SYSROOT_DIR=`$(TARGET_CC) -v 2>&1 | grep ^Configured | tr " " "\n" | grep -- "--with-sysroot" | cut -f2 -d=`; \
|
|
cp -a $${SYSROOT_DIR}/* $(STAGING_DIR)/ ; \
|
|
find $(STAGING_DIR) -type d | xargs chmod 755
|
|
|
|
uclibc: dependencies $(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C)))
|
|
|
|
$(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C))):
|
|
#"))
|
|
mkdir -p $(TARGET_DIR)/lib
|
|
@$(call copy_toolchain_lib_root, $(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C))), /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP))
|
|
#")))
|
|
for libs in $(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIBS))); do \
|
|
$(call copy_toolchain_lib_root, $$libs, /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP)); \
|
|
done
|
|
$(call copy_toolchain_sysroot)
|