mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 21:56:31 +00:00
Another external toolchain support solution
* 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>
This commit is contained in:
parent
0dc552c134
commit
978d8dc53e
@ -89,7 +89,7 @@ TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
|||||||
# else it's an external toolchain
|
# else it's an external toolchain
|
||||||
#########################################################################
|
#########################################################################
|
||||||
else
|
else
|
||||||
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include -I$(TOOLCHAIN_EXTERNAL_PATH)/$(TOOLCHAIN_EXTERNAL_PREFIX)/include
|
TARGET_CFLAGS=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include -I$(TOOLCHAIN_EXTERNAL_PATH)/$(TOOLCHAIN_EXTERNAL_PREFIX)/include --sysroot $(STAGING_DIR)/
|
||||||
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
TARGET_CXXFLAGS=$(TARGET_CFLAGS)
|
||||||
TARGET_LDFLAGS=-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib
|
TARGET_LDFLAGS=-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib
|
||||||
endif
|
endif
|
||||||
@ -210,8 +210,6 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
|||||||
AR="$(TARGET_AR)" \
|
AR="$(TARGET_AR)" \
|
||||||
AS="$(TARGET_AS)" \
|
AS="$(TARGET_AS)" \
|
||||||
LD="$(TARGET_LD)" \
|
LD="$(TARGET_LD)" \
|
||||||
CFLAGS="$(TARGET_CFLAGS)" \
|
|
||||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
||||||
NM="$(TARGET_NM)" \
|
NM="$(TARGET_NM)" \
|
||||||
CC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
CC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
||||||
GCC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
GCC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
||||||
|
@ -44,6 +44,11 @@ copy_toolchain_lib_root = \
|
|||||||
\
|
\
|
||||||
echo -n
|
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)))
|
uclibc: dependencies $(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C)))
|
||||||
|
|
||||||
$(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C))):
|
$(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C))):
|
||||||
@ -54,3 +59,4 @@ $(TARGET_DIR)/lib/$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIB_C))):
|
|||||||
for libs in $(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIBS))); do \
|
for libs in $(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_LIBS))); do \
|
||||||
$(call copy_toolchain_lib_root, $$libs, /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP)); \
|
$(call copy_toolchain_lib_root, $$libs, /lib, $(BR2_TOOLCHAIN_EXTERNAL_STRIP)); \
|
||||||
done
|
done
|
||||||
|
$(call copy_toolchain_sysroot)
|
Loading…
x
Reference in New Issue
Block a user