mirror of https://github.com/Nonannet/copapy.git
build script for local stencil builds updated for ARM64, ARM-Thumb and ARM-CortexM-Thumb
This commit is contained in:
parent
accb03f042
commit
d2069d5d07
|
|
@ -4,10 +4,10 @@ set -eu
|
||||||
ARCH=${1:-x86_64}
|
ARCH=${1:-x86_64}
|
||||||
|
|
||||||
case "$ARCH" in
|
case "$ARCH" in
|
||||||
(x86_64|arm-v6|arm-v7|arm-v7-thumb|arm-v7m-thumb|all)
|
(x86_64|arm64|arm-v6|arm-v7|arm-v7-thumb|arm-v7m-thumb|all)
|
||||||
;;
|
;;
|
||||||
(*)
|
(*)
|
||||||
echo "Usage: $0 [x86_64|arm-v6|arm-v7|arm-v6-thumb|arm-v7m-thumb|all]"
|
echo "Usage: $0 [x86_64|arm64|arm-v6|arm-v7|arm-v6-thumb|arm-v7m-thumb|all]"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -42,13 +42,44 @@ if [[ "$ARCH" == "x86_64" || "$ARCH" == "all" ]]; then
|
||||||
-o build/runner/coparun
|
-o build/runner/coparun
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# ARM 64
|
||||||
|
#######################################
|
||||||
|
if [[ "$ARCH" == "arm64" || "$ARCH" == "all" ]]; then
|
||||||
|
echo "--------------arm64----------------"
|
||||||
|
|
||||||
|
LIBGCC=$(aarch64-linux-gnu-gcc -print-libgcc-file-name)
|
||||||
|
|
||||||
|
aarch64-linux-gnu-gcc -fno-pic -ffunction-sections \
|
||||||
|
-c $SRC -O3 -o build/stencils/stencils.o
|
||||||
|
|
||||||
|
aarch64-linux-gnu-ld -r \
|
||||||
|
build/stencils/stencils.o \
|
||||||
|
build/musl/musl_objects_arm64.o \
|
||||||
|
$LIBGCC \
|
||||||
|
-o $DEST/stencils_arm64_O3.o
|
||||||
|
|
||||||
|
aarch64-linux-gnu-objdump -d -x \
|
||||||
|
$DEST/stencils_arm64_O3.o \
|
||||||
|
> build/stencils/stencils_arm64_O3.asm
|
||||||
|
|
||||||
|
aarch64-linux-gnu-gcc \
|
||||||
|
-Wall -Wextra -Wconversion -Wsign-conversion -static \
|
||||||
|
-Wshadow -Wstrict-overflow -O3 \
|
||||||
|
-DENABLE_LOGGING \
|
||||||
|
src/coparun/runmem.c \
|
||||||
|
src/coparun/coparun.c \
|
||||||
|
src/coparun/mem_man.c \
|
||||||
|
-o build/runner/coparun-arm64
|
||||||
|
fi
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# ARM v6
|
# ARM v6
|
||||||
#######################################
|
#######################################
|
||||||
if [[ "$ARCH" == "arm-v6" || "$ARCH" == "all" ]]; then
|
if [[ "$ARCH" == "arm-v6" || "$ARCH" == "all" ]]; then
|
||||||
echo "--------------arm-v6 32 bit----------------"
|
echo "--------------arm-v6 32 bit----------------"
|
||||||
|
|
||||||
LIBGCC=$(arm-none-eabi-gcc -print-libgcc-file-name)
|
LIBGCC=$(arm-none-eabi-gcc -march=armv6 -mfpu=vfp -mfloat-abi=hard -marm -print-libgcc-file-name)
|
||||||
|
|
||||||
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
||||||
-march=armv6 -mfpu=vfp -mfloat-abi=hard -marm \
|
-march=armv6 -mfpu=vfp -mfloat-abi=hard -marm \
|
||||||
|
|
@ -81,7 +112,7 @@ fi
|
||||||
if [[ "$ARCH" == "arm-v7" || "$ARCH" == "all" ]]; then
|
if [[ "$ARCH" == "arm-v7" || "$ARCH" == "all" ]]; then
|
||||||
echo "--------------arm-v7 32 bit----------------"
|
echo "--------------arm-v7 32 bit----------------"
|
||||||
|
|
||||||
LIBGCC=$(arm-none-eabi-gcc -print-libgcc-file-name)
|
LIBGCC=$(arm-none-eabi-gcc -march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm -print-libgcc-file-name)
|
||||||
|
|
||||||
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
||||||
-march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm \
|
-march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -marm \
|
||||||
|
|
@ -114,7 +145,7 @@ fi
|
||||||
if [[ "$ARCH" == "arm-v7-thumb" || "$ARCH" == "all" ]]; then
|
if [[ "$ARCH" == "arm-v7-thumb" || "$ARCH" == "all" ]]; then
|
||||||
echo "--------------arm-v7a-thumb 32 bit----------------"
|
echo "--------------arm-v7a-thumb 32 bit----------------"
|
||||||
|
|
||||||
LIBGCC=$(arm-none-eabi-gcc -print-libgcc-file-name)
|
LIBGCC=$(arm-none-eabi-gcc -march=armv7 -mfpu=vfp3 -mthumb -print-libgcc-file-name)
|
||||||
|
|
||||||
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
||||||
-march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -mthumb \
|
-march=armv7-a -mfpu=neon-vfpv3 -mfloat-abi=hard -mthumb \
|
||||||
|
|
@ -122,7 +153,7 @@ if [[ "$ARCH" == "arm-v7-thumb" || "$ARCH" == "all" ]]; then
|
||||||
|
|
||||||
arm-none-eabi-ld -r \
|
arm-none-eabi-ld -r \
|
||||||
build/stencils/stencils.o \
|
build/stencils/stencils.o \
|
||||||
build/musl/musl_objects_armv7.o \
|
build/musl/musl_objects_armv7thumb.o \
|
||||||
$LIBGCC \
|
$LIBGCC \
|
||||||
-o $DEST/stencils_armv7thumb_O3.o
|
-o $DEST/stencils_armv7thumb_O3.o
|
||||||
|
|
||||||
|
|
@ -147,7 +178,7 @@ fi
|
||||||
if [[ "$ARCH" == "arm-v7m-thumb" || "$ARCH" == "all" ]]; then
|
if [[ "$ARCH" == "arm-v7m-thumb" || "$ARCH" == "all" ]]; then
|
||||||
echo "--------------arm-v7m-thumb 32 bit----------------"
|
echo "--------------arm-v7m-thumb 32 bit----------------"
|
||||||
|
|
||||||
LIBGCC=$(arm-none-eabi-gcc -print-libgcc-file-name)
|
LIBGCC=$(arm-none-eabi-gcc -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -print-libgcc-file-name)
|
||||||
|
|
||||||
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
arm-none-eabi-gcc -fno-pic -ffunction-sections \
|
||||||
-march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb \
|
-march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue