mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-30 15:47:12 +01:00
97 lines
1.8 KiB
Bash
Executable File
97 lines
1.8 KiB
Bash
Executable File
#! /bin/sh
|
|
set -e
|
|
|
|
# release.sh
|
|
#
|
|
# FRT - A Godot platform targeting single board computers
|
|
# Copyright (c) 2017-2022 Emanuele Fornara
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
die() {
|
|
echo $1
|
|
exit 1
|
|
}
|
|
|
|
usage() {
|
|
die "usage: release.sh arch tag..."
|
|
}
|
|
|
|
print_header() {
|
|
echo "Building frt:$fver tag:$tag arch:$arch..."
|
|
}
|
|
|
|
release() {
|
|
local bin
|
|
[ -d releases ] || return
|
|
bin=releases/frt_${fver}_${tag}_${arch}.bin
|
|
cp tag_$tag/bin/godot.frt.opt$extrasuffix.$arch $bin
|
|
$stripcmd $bin
|
|
}
|
|
|
|
build_common="platform=frt tools=no target=release use_static_cpp=yes -j 4"
|
|
|
|
build() {
|
|
local patch
|
|
print_header
|
|
if [ $arch = arm64v8 -a $fver = 216 ] ; then patch="CCFLAGS=-DNO_THREADS" ; fi
|
|
( cd tag_$tag ; nice scons frt_arch=$arch \
|
|
$archopts \
|
|
$gveropts \
|
|
$patch \
|
|
$build_common )
|
|
release
|
|
}
|
|
|
|
[ $# -gt 1 ] || usage
|
|
|
|
arch=$1
|
|
case $arch in
|
|
arm32v6)
|
|
stripcmd="arm-linux-gnueabihf-strip"
|
|
archopts="frt_cross=no"
|
|
;;
|
|
arm32v7)
|
|
stripcmd="arm-linux-gnueabihf-strip"
|
|
archopts="frt_cross=auto"
|
|
;;
|
|
arm64v8)
|
|
stripcmd="aarch64-linux-gnu-strip"
|
|
archopts="frt_cross=auto"
|
|
;;
|
|
*) die "release.sh: invalid arch: $arch."
|
|
esac
|
|
shift
|
|
|
|
[ -d releases ] || die "release.sh: no releases directory."
|
|
|
|
export BUILD_NAME=frt
|
|
while [ $# -gt 0 ] ; do
|
|
case $1 in
|
|
tag_*)
|
|
[ -d $1 ] || die "release.sh: tag directory $1 not found."
|
|
tag=`echo $1 | cut -b 5- | sed 's/\///g'`
|
|
frth="tag_$tag/platform/frt/frt.h"
|
|
[ -f $frth ] || die "release.sh: $frth not found."
|
|
gver=`echo $tag | cut -b -2`
|
|
case $gver in
|
|
2*)
|
|
gveropts="use_llvm=yes"
|
|
extrasuffix=".llvm"
|
|
;;
|
|
3*)
|
|
gveropts="use_llvm=no module_webm_enabled=no"
|
|
extrasuffix=""
|
|
;;
|
|
*) die "release.sh: unsupported godot version: $gver."
|
|
esac
|
|
fver=`grep FRT_VERSION $frth \
|
|
| grep -o '".*"' \
|
|
| sed 's/[\."]//g'`
|
|
build
|
|
;;
|
|
*) die "release.sh: invalid tag $tag."
|
|
esac
|
|
shift
|
|
done
|