mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux: use common kernel_make function
Since 4.17, make headers_check requires a working compiler to detect goto-asm support. Configuring CROSS_COMPILE= with a non-existant gcc compiler (as is the case when building linux:host in a clean build) will now always fail. Avoid setting CROSS_COMPILE in Makefile and instead pass on the command line when required. Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
parent
423242fda6
commit
bef9e763e5
@ -86,7 +86,7 @@ if [ "$PKG_BUILD_PERF" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= $PKG_KERNEL_CFG
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET binutils elfutils libunwind zlib openssl"
|
||||
fi
|
||||
|
||||
PKG_MAKE_OPTS_HOST="ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} headers_check"
|
||||
PKG_MAKE_OPTS_HOST="CROSS_COMPILE= ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} headers_check"
|
||||
|
||||
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET intel-ucode:host kernel-firmware"
|
||||
@ -97,12 +97,6 @@ if [ "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then
|
||||
fi
|
||||
|
||||
post_patch() {
|
||||
sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $TOOLCHAIN/bin/host-gcc|" \
|
||||
-e "s|^HOSTCXX[[:space:]]*=.*$|HOSTCXX = $TOOLCHAIN/bin/host-g++|" \
|
||||
-e "s|^ARCH[[:space:]]*?=.*$|ARCH = $TARGET_KERNEL_ARCH|" \
|
||||
-e "s|^CROSS_COMPILE[[:space:]]*?=.*$|CROSS_COMPILE = $TARGET_KERNEL_PREFIX|" \
|
||||
$PKG_BUILD/Makefile
|
||||
|
||||
cp $PKG_KERNEL_CFG_FILE $PKG_BUILD/.config
|
||||
if [ ! "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then
|
||||
sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$BUILD/image/initramfs.cpio\"|" $PKG_BUILD/.config
|
||||
@ -148,7 +142,9 @@ post_patch() {
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
make ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} INSTALL_HDR_PATH=dest headers_install
|
||||
make CROSS_COMPILE= ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} INSTALL_HDR_PATH=dest \
|
||||
HOSTCFLAGS="$HOST_CFLAGS" HOSTLDFLAGS="$HOST_LDFLAGS" \
|
||||
headers_install
|
||||
mkdir -p $SYSROOT_PREFIX/usr/include
|
||||
cp -R dest/include/* $SYSROOT_PREFIX/usr/include
|
||||
}
|
||||
@ -165,7 +161,7 @@ pre_make_target() {
|
||||
sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config
|
||||
fi
|
||||
|
||||
make oldconfig
|
||||
kernel_make oldconfig
|
||||
|
||||
# regdb (backward compatability with pre-4.15 kernels)
|
||||
if grep -q ^CONFIG_CFG80211_INTERNAL_REGDB= $PKG_BUILD/.config ; then
|
||||
@ -174,8 +170,8 @@ pre_make_target() {
|
||||
}
|
||||
|
||||
make_target() {
|
||||
LDFLAGS="" make modules
|
||||
LDFLAGS="" make INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) DEPMOD="$TOOLCHAIN/bin/depmod" modules_install
|
||||
kernel_make modules
|
||||
kernel_make INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) modules_install
|
||||
rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/build
|
||||
rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/source
|
||||
|
||||
@ -221,11 +217,11 @@ make_target() {
|
||||
|
||||
if [ "$BOOTLOADER" = "u-boot" -a -n "$KERNEL_UBOOT_EXTRA_TARGET" ]; then
|
||||
for extra_target in "$KERNEL_UBOOT_EXTRA_TARGET"; do
|
||||
LDFLAGS="" make $extra_target
|
||||
kernel_make $extra_target
|
||||
done
|
||||
fi
|
||||
|
||||
LDFLAGS="" make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD
|
||||
kernel_make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD
|
||||
|
||||
if [ "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then
|
||||
DTB_BLOBS=($(ls arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/*.dtb 2>/dev/null || true))
|
||||
|
Loading…
x
Reference in New Issue
Block a user