mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-21 21:57:48 +00:00
3fa241a4e1
Similar to commit ca45a8f9
("Add -D__GLIBC__ to target CFLAGS") newer
versions of strace bundle the kernel headers which cause build errors
such as:
[ALL ] In file included from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/in6.h:26,
[ALL ] from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/if_bridge.h:19,
[ALL ] from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/src/rtnl_mdb.c:16:
[ERROR] /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/libc-compat.h:109: error: "__UAPI_DEF_IN6_ADDR_ALT" redefined [-Werror]
[ALL ] 109 | #define __UAPI_DEF_IN6_ADDR_ALT 1
[ALL ] |
[ALL ] In file included from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/src/rtnl_mdb.c:15:
[ALL ] /home/x-tool/x-tools/arm-unknown-linux-musleabi/arm-unknown-linux-musleabi/sysroot/usr/include/netinet/in.h:401: note: this is the location of the previous definition
[ALL ] 401 | #define __UAPI_DEF_IN6_ADDR_ALT 0
[ALL ] |
[ALL ] cc1: all warnings being treated as errors
By defining __USE_MISC we get __UAPI_DEF_IN6_ADDR_ALT defined in a
compatible manner.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
# Build script for strace
|
|
|
|
do_debug_strace_get()
|
|
{
|
|
CT_Fetch STRACE
|
|
}
|
|
|
|
do_debug_strace_extract()
|
|
{
|
|
CT_ExtractPatch STRACE
|
|
}
|
|
|
|
do_debug_strace_build()
|
|
{
|
|
local cflags="${CT_ALL_TARGET_CFLAGS}"
|
|
|
|
CT_DoStep INFO "Installing strace"
|
|
|
|
if [ "${CT_LIBC_MUSL}" = "y" ]; then
|
|
# Otherwise kernel headers cause errors when included, e.g.
|
|
# <netinet/in.h> and <linux/in6.h>. Kernel's libc-compat.h
|
|
# only cares about GLIBC. uClibc-ng does the same
|
|
# internally, pretending it's GLIBC for kernel headers inclusion.
|
|
cflags+=" -D__GLIBC__ -D__USE_MISC"
|
|
fi
|
|
|
|
CT_mkdir_pushd "${CT_BUILD_DIR}/build-strace"
|
|
|
|
CT_DoLog EXTRA "Configuring strace"
|
|
CT_DoExecLog CFG \
|
|
CC="${CT_TARGET}-${CT_CC}" \
|
|
CFLAGS="${cflags}" \
|
|
LDFLAGS="${CT_ALL_TARGET_LDFLAGS}" \
|
|
CPP="${CT_TARGET}-cpp" \
|
|
LD="${CT_TARGET}-ld" \
|
|
${CONFIG_SHELL} \
|
|
"${CT_SRC_DIR}/strace/configure" \
|
|
--build=${CT_BUILD} \
|
|
--host=${CT_TARGET} \
|
|
--prefix=/usr \
|
|
--enable-mpers=check
|
|
|
|
CT_DoLog EXTRA "Building strace"
|
|
CT_DoExecLog ALL make
|
|
|
|
CT_DoLog EXTRA "Installing strace"
|
|
CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
|
|
|
|
CT_Popd
|
|
CT_EndStep
|
|
}
|
|
|