mirror of
https://github.com/Relintai/pandemonium_engine_minimal.git
synced 2024-11-10 20:12:10 +01:00
97 lines
1.8 KiB
Bash
97 lines
1.8 KiB
Bash
|
#! /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
|