From bae5a9d3172b9d077c83b72b385f55356673e82b Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 17 Oct 2017 22:48:27 +0100 Subject: [PATCH] buildsystem: add TARGET_FEATURES --- config/functions | 10 +++++++++- projects/Generic/options | 2 ++ projects/Odroid_C2/options | 2 ++ projects/RPi/options | 2 ++ projects/WeTek_Core/options | 1 + projects/WeTek_Hub/options | 2 ++ projects/WeTek_Play/options | 1 + projects/WeTek_Play_2/options | 2 ++ projects/imx6/options | 1 + 9 files changed, 22 insertions(+), 1 deletion(-) diff --git a/config/functions b/config/functions index 7ce4741dc1..50d9109cef 100644 --- a/config/functions +++ b/config/functions @@ -191,7 +191,15 @@ get_pkg_variable() { # return 0 if $2 in space-separated list $1, otherwise return 1 listcontains() { - [[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 0 || return 1 + if [ -n "$1" -a -n "$2" ]; then + [[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 0 || return 1 + else + return 1 + fi +} + +target_has_feature() { + listcontains "$TARGET_FEATURES" "$1" } install_binary_addon() { diff --git a/projects/Generic/options b/projects/Generic/options index 657a3ab431..ca9c5208a5 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -11,6 +11,7 @@ # (Intel CPUs) atom core2 nocona # TARGET_CPU="x86-64" + TARGET_FEATURES="64bit" ;; esac @@ -46,6 +47,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse" + TARGET_FEATURES+=" mmx sse sse2" # SquashFS compression method (gzip / lzo / xz) SQUASHFS_COMPRESSION="gzip" diff --git a/projects/Odroid_C2/options b/projects/Odroid_C2/options index 0c91745ea3..64e2f2a822 100644 --- a/projects/Odroid_C2/options +++ b/projects/Odroid_C2/options @@ -20,6 +20,7 @@ # TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc+fp+simd" + TARGET_FEATURES="64bit neon" ;; arm) TARGET_KERNEL_ARCH="arm64" @@ -28,6 +29,7 @@ TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc" TARGET_FPU="neon-fp-armv8" + TARGET_FEATURES="32bit neon" ;; esac diff --git a/projects/RPi/options b/projects/RPi/options index f95c0cdc59..a2ba616df3 100644 --- a/projects/RPi/options +++ b/projects/RPi/options @@ -38,8 +38,10 @@ if [ "$DEVICE" = "RPi" -o "$DEVICE" = "Slice" ]; then TARGET_FPU="vfp" + TARGET_FEATURES="32bit" elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then TARGET_FPU="neon-vfpv4" + TARGET_FEATURES="32bit neon" fi ;; diff --git a/projects/WeTek_Core/options b/projects/WeTek_Core/options index 08a94a37cf..18e5a6d445 100644 --- a/projects/WeTek_Core/options +++ b/projects/WeTek_Core/options @@ -32,6 +32,7 @@ # vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16 # neon-vfpv4. TARGET_FPU="neon-fp16" + TARGET_FEATURES="32bit neon" ;; esac diff --git a/projects/WeTek_Hub/options b/projects/WeTek_Hub/options index 3af3402bdc..b41ef6e066 100644 --- a/projects/WeTek_Hub/options +++ b/projects/WeTek_Hub/options @@ -20,6 +20,7 @@ # TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc+fp+simd" + TARGET_FEATURES="64bit neon" ;; arm) TARGET_KERNEL_ARCH="arm64" @@ -28,6 +29,7 @@ TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc" TARGET_FPU="neon-fp-armv8" + TARGET_FEATURES="32bit neon" ;; esac diff --git a/projects/WeTek_Play/options b/projects/WeTek_Play/options index b71ea42602..691dd1aaf7 100644 --- a/projects/WeTek_Play/options +++ b/projects/WeTek_Play/options @@ -32,6 +32,7 @@ # vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16 # neon-vfpv4. TARGET_FPU="neon-fp16" + TARGET_FEATURES="32bit neon" ;; esac diff --git a/projects/WeTek_Play_2/options b/projects/WeTek_Play_2/options index 03a6a902c8..4b6a0e9c72 100644 --- a/projects/WeTek_Play_2/options +++ b/projects/WeTek_Play_2/options @@ -20,6 +20,7 @@ # TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc+fp+simd" + TARGET_FEATURES="64bit neon" ;; arm) TARGET_KERNEL_ARCH="arm64" @@ -28,6 +29,7 @@ TARGET_CPU="cortex-a53" TARGET_CPU_FLAGS="+crc" TARGET_FPU="neon-fp-armv8" + TARGET_FEATURES="32bit neon" ;; esac diff --git a/projects/imx6/options b/projects/imx6/options index 4a21f423e6..4dab4f8129 100644 --- a/projects/imx6/options +++ b/projects/imx6/options @@ -9,6 +9,7 @@ TARGET_CPU="cortex-a9" TARGET_FLOAT="hard" TARGET_FPU="neon" + TARGET_FEATURES="32bit neon" ;; esac