Merge pull request #5435 from antonlacon/le11-arch-options

buildsystem: change when config/arch.$ARCH is sourced
This commit is contained in:
CvH 2021-10-03 08:02:45 +02:00 committed by GitHub
commit 507492c930
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 39 additions and 45 deletions

View File

@ -3,6 +3,13 @@
TARGET_CPU=cortex-a53 TARGET_CPU=cortex-a53
fi fi
# 64bit userland and neon required by armv8
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="64bit neon"
else
TARGET_FEATURES+=" 64bit neon"
fi
# TARGET_CPU: # TARGET_CPU:
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72 # generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53 # exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
@ -14,7 +21,6 @@
TARGET_SUBARCH=aarch64 TARGET_SUBARCH=aarch64
TARGET_VARIANT=armv8-a TARGET_VARIANT=armv8-a
TARGET_ABI=eabi TARGET_ABI=eabi
TARGET_FEATURES+=" neon"
;; ;;
esac esac

View File

@ -3,6 +3,13 @@
TARGET_CPU=cortex-a8 TARGET_CPU=cortex-a8
fi fi
# 32bit userland
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="32bit"
else
TARGET_FEATURES+=" 32bit"
fi
# TARGET_CPU: # TARGET_CPU:
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d # arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c # arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
@ -57,6 +64,10 @@
TARGET_GCC_ARCH=${TARGET_SUBARCH/-} TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
TARGET_KERNEL_ARCH=${TARGET_KERNEL_ARCH:-arm} TARGET_KERNEL_ARCH=${TARGET_KERNEL_ARCH:-arm}
if [ "${TARGET_KERNEL_ARCH}" = "arm64" ]; then
TARGET_KERNEL_PATCH_ARCH="aarch64"
fi
# setup ARCH specific *FLAGS # setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated" TARGET_CFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS" [ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"

View File

@ -3,6 +3,13 @@
TARGET_CPU=core2 TARGET_CPU=core2
fi fi
# 64bit userland
if [ -z "${TARGET_FEATURES}" ]; then
TARGET_FEATURES="64bit"
else
TARGET_FEATURES+=" 64bit"
fi
# determine architecture's family # determine architecture's family
TARGET_SUBARCH=x86_64 TARGET_SUBARCH=x86_64

View File

@ -48,21 +48,26 @@ fi
# read DISTRO version information # read DISTRO version information
. "${DISTRO_DIR}/${DISTRO}/version" || die "\nERROR: No distro version present\n" . "${DISTRO_DIR}/${DISTRO}/version" || die "\nERROR: No distro version present\n"
# read DISTRO options if available # read DISTRO options
if [ -f "${DISTRO_DIR}/${DISTRO}/options" ]; then if [ -f "${DISTRO_DIR}/${DISTRO}/options" ]; then
. "${DISTRO_DIR}/${DISTRO}/options" . "${DISTRO_DIR}/${DISTRO}/options"
fi fi
# read PROJECT options if available # read PROJECT options
if [ -f "${PROJECT_DIR}/${PROJECT}/options" ]; then if [ -f "${PROJECT_DIR}/${PROJECT}/options" ]; then
. "${PROJECT_DIR}/${PROJECT}/options" . "${PROJECT_DIR}/${PROJECT}/options"
fi fi
# read DEVICE options if available # read DEVICE options
if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options" ]; then if [ -f "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options" ]; then
. "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options" . "${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options"
fi fi
# read architecture defaults
if [ -f "config/arch.${TARGET_ARCH}" ]; then
. "config/arch.${TARGET_ARCH}"
fi
# projects can set KERNEL_NAME (kernel.img) # projects can set KERNEL_NAME (kernel.img)
KERNEL_NAME="${KERNEL_NAME:-KERNEL}" KERNEL_NAME="${KERNEL_NAME:-KERNEL}"

View File

@ -13,11 +13,6 @@ set -e
TARGET_IMG=${TARGET_DIR:-$ROOT/target} TARGET_IMG=${TARGET_DIR:-$ROOT/target}
ADDONS=addons ADDONS=addons
# include ARCH specific options
if [ -f config/arch.$TARGET_ARCH ]; then
. config/arch.$TARGET_ARCH
fi
[ -z "${HOST_NAME}" ] && export HOST_NAME="$($LOCAL_CC -dumpmachine)" [ -z "${HOST_NAME}" ] && export HOST_NAME="$($LOCAL_CC -dumpmachine)"
TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI} TARGET_NAME=$TARGET_GCC_ARCH-libreelec-linux-gnu${TARGET_ABI}

View File

@ -14,9 +14,13 @@ show_config() {
config_message+="\n\n Buildsystem configuration:" config_message+="\n\n Buildsystem configuration:"
config_message+="\n $dashes$dashes" config_message+="\n $dashes$dashes"
config_message+="\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)" config_message+="\n - CPU:\t\t\t\t\t $TARGET_CPU"
config_message+="\n - Kernel Architecture:\t\t\t $TARGET_KERNEL_ARCH"
config_message+="\n - Userland Architecture:\t\t $TARGET_ARCH"
config_message+="\n - FLOAT:\t\t\t\t $TARGET_FLOAT" config_message+="\n - FLOAT:\t\t\t\t $TARGET_FLOAT"
config_message+="\n - FPU:\t\t\t\t\t $TARGET_FPU" if [ -n "${TARGET_FPU}" ]; then
config_message+="\n - FPU:\t\t\t\t\t ${TARGET_FPU}"
fi
config_message+="\n - CPU features:\t\t\t $TARGET_FEATURES" config_message+="\n - CPU features:\t\t\t $TARGET_FEATURES"
config_message+="\n - LTO (Link Time Optimization) support: $LTO_SUPPORT" config_message+="\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"
config_message+="\n - GOLD (Google Linker) Support:\t $GOLD_SUPPORT" config_message+="\n - GOLD (Google Linker) Support:\t $GOLD_SUPPORT"

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8" TARGET_FPU="neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,17 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto" TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit"
TARGET_KERNEL_ARCH="arm64"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8" TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,17 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto" TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit"
TARGET_KERNEL_ARCH="arm64"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8" TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,17 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto" TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit"
TARGET_KERNEL_ARCH="arm64"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8" TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8" TARGET_FPU="neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -11,7 +11,6 @@
# (Intel CPUs) atom core2 nocona # (Intel CPUs) atom core2 nocona
# #
TARGET_CPU="x86-64" TARGET_CPU="x86-64"
TARGET_FEATURES="64bit"
;; ;;
esac esac

View File

@ -9,7 +9,6 @@
TARGET_CPU="cortex-a9" TARGET_CPU="cortex-a9"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_FPU="neon-vfpv3" TARGET_FPU="neon-vfpv3"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT=hard TARGET_FLOAT=hard
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8" TARGET_FPU="neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT=hard TARGET_FLOAT=hard
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8" TARGET_FPU="neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -33,7 +33,6 @@
elif [ "$DEVICE" = "RPi4" ]; then elif [ "$DEVICE" = "RPi4" ]; then
TARGET_FPU="neon-fp-armv8" TARGET_FPU="neon-fp-armv8"
fi fi
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -9,7 +9,6 @@
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a17" TARGET_CPU="cortex-a17"
TARGET_FPU="neon-vfpv4" TARGET_FPU="neon-vfpv4"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto" TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8" TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac

View File

@ -8,16 +8,13 @@
aarch64) aarch64)
TARGET_CPU="cortex-a72.cortex-a53" TARGET_CPU="cortex-a72.cortex-a53"
TARGET_CPU_FLAGS="+crc+crypto" TARGET_CPU_FLAGS="+crc+crypto"
TARGET_FEATURES="64bit"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
TARGET_KERNEL_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard" TARGET_FLOAT="hard"
TARGET_CPU="cortex-a72.cortex-a53" TARGET_CPU="cortex-a72.cortex-a53"
TARGET_CPU_FLAGS="+crc" TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8" TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;; ;;
esac esac