buildsystem: add TARGET_FEATURES

This commit is contained in:
MilhouseVH 2017-10-17 22:48:27 +01:00
parent dc954afd81
commit bae5a9d317
9 changed files with 22 additions and 1 deletions

View File

@ -191,7 +191,15 @@ get_pkg_variable() {
# return 0 if $2 in space-separated list $1, otherwise return 1 # return 0 if $2 in space-separated list $1, otherwise return 1
listcontains() { listcontains() {
if [ -n "$1" -a -n "$2" ]; then
[[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 0 || return 1 [[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 0 || return 1
else
return 1
fi
}
target_has_feature() {
listcontains "$TARGET_FEATURES" "$1"
} }
install_binary_addon() { install_binary_addon() {

View File

@ -11,6 +11,7 @@
# (Intel CPUs) atom core2 nocona # (Intel CPUs) atom core2 nocona
# #
TARGET_CPU="x86-64" TARGET_CPU="x86-64"
TARGET_FEATURES="64bit"
;; ;;
esac esac
@ -46,6 +47,7 @@
# Project CFLAGS # Project CFLAGS
PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse" PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse"
TARGET_FEATURES+=" mmx sse sse2"
# SquashFS compression method (gzip / lzo / xz) # SquashFS compression method (gzip / lzo / xz)
SQUASHFS_COMPRESSION="gzip" SQUASHFS_COMPRESSION="gzip"

View File

@ -20,6 +20,7 @@
# #
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit neon"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
@ -28,6 +29,7 @@
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 neon"
;; ;;
esac esac

View File

@ -38,8 +38,10 @@
if [ "$DEVICE" = "RPi" -o "$DEVICE" = "Slice" ]; then if [ "$DEVICE" = "RPi" -o "$DEVICE" = "Slice" ]; then
TARGET_FPU="vfp" TARGET_FPU="vfp"
TARGET_FEATURES="32bit"
elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then
TARGET_FPU="neon-vfpv4" TARGET_FPU="neon-vfpv4"
TARGET_FEATURES="32bit neon"
fi fi
;; ;;

View File

@ -32,6 +32,7 @@
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16 # vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
# neon-vfpv4. # neon-vfpv4.
TARGET_FPU="neon-fp16" TARGET_FPU="neon-fp16"
TARGET_FEATURES="32bit neon"
;; ;;
esac esac

View File

@ -20,6 +20,7 @@
# #
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit neon"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
@ -28,6 +29,7 @@
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 neon"
;; ;;
esac esac

View File

@ -32,6 +32,7 @@
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16 # vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
# neon-vfpv4. # neon-vfpv4.
TARGET_FPU="neon-fp16" TARGET_FPU="neon-fp16"
TARGET_FEATURES="32bit neon"
;; ;;
esac esac

View File

@ -20,6 +20,7 @@
# #
TARGET_CPU="cortex-a53" TARGET_CPU="cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd" TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FEATURES="64bit neon"
;; ;;
arm) arm)
TARGET_KERNEL_ARCH="arm64" TARGET_KERNEL_ARCH="arm64"
@ -28,6 +29,7 @@
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 neon"
;; ;;
esac esac

View File

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