mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
config/arch.arm: add support to specity $TARGET_FLOAT, add 'hardfp' support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
15824b2c08
commit
5c39e3fc0d
@ -27,21 +27,25 @@
|
|||||||
arm1176jzf-s)
|
arm1176jzf-s)
|
||||||
TARGET_SUBARCH=armv6zk
|
TARGET_SUBARCH=armv6zk
|
||||||
TARGET_ABI=eabi
|
TARGET_ABI=eabi
|
||||||
TARGET_EXTRA_FLAGS="-mfloat-abi=softfp -Wno-psabi -Wa,-mno-warn-deprecated"
|
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
|
||||||
|
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||||
;;
|
;;
|
||||||
cortex-a8)
|
cortex-a8)
|
||||||
TARGET_SUBARCH=armv7-a
|
TARGET_SUBARCH=armv7-a
|
||||||
TARGET_ABI=eabi
|
TARGET_ABI=eabi
|
||||||
TARGET_EXTRA_FLAGS=""
|
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
|
||||||
|
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||||
;;
|
;;
|
||||||
cortex-a9)
|
cortex-a9)
|
||||||
TARGET_SUBARCH=armv7-a
|
TARGET_SUBARCH=armv7-a
|
||||||
TARGET_ABI=eabi
|
TARGET_ABI=eabi
|
||||||
TARGET_EXTRA_FLAGS="-mfloat-abi=softfp -Wno-psabi -Wa,-mno-warn-deprecated"
|
TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated"
|
||||||
|
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# setup ARCH specific *FLAGS
|
# setup ARCH specific *FLAGS
|
||||||
TARGET_CFLAGS="-march=$TARGET_SUBARCH -mcpu=$TARGET_CPU -mabi=aapcs-linux $TARGET_EXTRA_FLAGS"
|
TARGET_CFLAGS="-march=$TARGET_SUBARCH -mcpu=$TARGET_CPU -mabi=aapcs-linux $TARGET_EXTRA_FLAGS"
|
||||||
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS -mfpu=$TARGET_FPU"
|
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
|
||||||
TARGET_LDFLAGS="-fPIC -march=$TARGET_SUBARCH -mtune=$TARGET_CPU"
|
TARGET_LDFLAGS="-fPIC -march=$TARGET_SUBARCH -mtune=$TARGET_CPU"
|
||||||
|
GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"
|
||||||
|
@ -228,6 +228,7 @@ show_config() {
|
|||||||
config_message="$config_message\n $dashes$dashes"
|
config_message="$config_message\n $dashes$dashes"
|
||||||
|
|
||||||
config_message="$config_message\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)"
|
config_message="$config_message\n - CPU (ARCH):\t\t\t\t $TARGET_CPU ($TARGET_ARCH)"
|
||||||
|
config_message="$config_message\n - FLOAT:\t\t\t\t $TARGET_FLOAT"
|
||||||
config_message="$config_message\n - FPU:\t\t\t\t\t $TARGET_FPU"
|
config_message="$config_message\n - FPU:\t\t\t\t\t $TARGET_FPU"
|
||||||
config_message="$config_message\n - Optimizations:\t\t\t $OPTIMIZATIONS"
|
config_message="$config_message\n - Optimizations:\t\t\t $OPTIMIZATIONS"
|
||||||
config_message="$config_message\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"
|
config_message="$config_message\n - LTO (Link Time Optimization) support: $LTO_SUPPORT"
|
||||||
|
@ -22,9 +22,15 @@
|
|||||||
|
|
||||||
. config/options $1
|
. config/options $1
|
||||||
|
|
||||||
|
if [ "$TARGET_FLOAT" = "softfp" -o "$TARGET_FLOAT" = "soft" ]; then
|
||||||
|
FLOAT="softfp"
|
||||||
|
elif [ "$TARGET_FLOAT" = "hard" ]; then
|
||||||
|
FLOAT="hardfp"
|
||||||
|
fi
|
||||||
|
|
||||||
cd $PKG_BUILD
|
cd $PKG_BUILD
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/include
|
mkdir -p $SYSROOT_PREFIX/usr/include
|
||||||
cp -PR softfp/opt/vc/include/* $SYSROOT_PREFIX/usr/include
|
cp -PR $FLOAT/opt/vc/include/* $SYSROOT_PREFIX/usr/include
|
||||||
|
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||||
cp -PR softfp/opt/vc/lib/*.so* $SYSROOT_PREFIX/usr/lib
|
cp -PR $FLOAT/opt/vc/lib/*.so* $SYSROOT_PREFIX/usr/lib
|
||||||
|
@ -22,11 +22,17 @@
|
|||||||
|
|
||||||
. config/options $1
|
. config/options $1
|
||||||
|
|
||||||
|
if [ "$TARGET_FLOAT" = "softfp" -o "$TARGET_FLOAT" = "soft" ]; then
|
||||||
|
FLOAT="softfp"
|
||||||
|
elif [ "$TARGET_FLOAT" = "hard" ]; then
|
||||||
|
FLOAT="hardfp"
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p $INSTALL/usr/sbin
|
mkdir -p $INSTALL/usr/sbin
|
||||||
cp -PR $PKG_BUILD/softfp/opt/vc/sbin/* $INSTALL/usr/sbin
|
cp -PR $PKG_BUILD/$FLOAT/opt/vc/sbin/* $INSTALL/usr/sbin
|
||||||
|
|
||||||
mkdir -p $INSTALL/usr/lib
|
mkdir -p $INSTALL/usr/lib
|
||||||
cp -PR $PKG_BUILD/softfp/opt/vc/lib/*.so* $INSTALL/usr/lib
|
cp -PR $PKG_BUILD/$FLOAT/opt/vc/lib/*.so* $INSTALL/usr/lib
|
||||||
|
|
||||||
mkdir -p $INSTALL/opt/vc
|
mkdir -p $INSTALL/opt/vc
|
||||||
ln -sf /usr/lib $INSTALL/opt/vc/lib
|
ln -sf /usr/lib $INSTALL/opt/vc/lib
|
@ -63,6 +63,7 @@ mkdir -p objdir-$1 && cd objdir-$1
|
|||||||
--without-headers \
|
--without-headers \
|
||||||
--with-newlib \
|
--with-newlib \
|
||||||
--disable-decimal-float \
|
--disable-decimal-float \
|
||||||
|
$GCC_OPTS \
|
||||||
--disable-nls
|
--disable-nls
|
||||||
|
|
||||||
make
|
make
|
||||||
|
@ -62,6 +62,7 @@ mkdir -p objdir-$1 && cd objdir-$1
|
|||||||
--enable-threads=posix \
|
--enable-threads=posix \
|
||||||
--disable-libstdcxx-pch \
|
--disable-libstdcxx-pch \
|
||||||
--enable-clocale=gnu \
|
--enable-clocale=gnu \
|
||||||
|
$GCC_OPTS \
|
||||||
--disable-nls
|
--disable-nls
|
||||||
|
|
||||||
make
|
make
|
||||||
|
@ -64,6 +64,12 @@
|
|||||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="arm1176jzf-s"
|
TARGET_CPU="arm1176jzf-s"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
@ -75,6 +80,8 @@
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Build optimizations (size/normal/speed)
|
# Build optimizations (size/normal/speed)
|
||||||
OPTIMIZATIONS="speed"
|
OPTIMIZATIONS="speed"
|
||||||
|
|
||||||
|
@ -65,6 +65,11 @@
|
|||||||
#
|
#
|
||||||
TARGET_CPU="cortex-a9"
|
TARGET_CPU="cortex-a9"
|
||||||
|
|
||||||
|
# TARGET_FLOAT:
|
||||||
|
# Specifies which floating-point ABI to use. Permissible values are:
|
||||||
|
# soft softfp hard
|
||||||
|
TARGET_FLOAT="softfp"
|
||||||
|
|
||||||
# TARGET_FPU:
|
# TARGET_FPU:
|
||||||
# This specifies what floating point hardware (or hardware emulation) is
|
# This specifies what floating point hardware (or hardware emulation) is
|
||||||
# available on the target. Permissible names are:
|
# available on the target. Permissible names are:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user