2022-02-05 14:23:32 +00:00
|
|
|
################################################################################
|
|
|
|
# This file is part of OpenELEC - http://www.openelec.tv
|
|
|
|
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
|
|
|
#
|
|
|
|
# This Program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; either version 2, or (at your option)
|
|
|
|
# any later version.
|
|
|
|
#
|
|
|
|
# This Program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
|
|
|
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
|
|
|
# http://www.gnu.org/copyleft/gpl.html
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
PKG_NAME="flycast"
|
2022-02-14 21:15:16 +00:00
|
|
|
PKG_VERSION="886188804de48a4bd9324046598e8dedfd0d2099"
|
|
|
|
PKG_SHA256="9e84dcd7efe38198c2b34904f3e0ff44455b1391b1f281fb3ef940e58b113ee3"
|
2022-02-05 14:23:32 +00:00
|
|
|
PKG_LICENSE="GPLv2"
|
|
|
|
PKG_SITE="https://github.com/libretro/flycast"
|
|
|
|
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
|
|
|
|
PKG_DEPENDS_TARGET="toolchain $OPENGLES"
|
|
|
|
PKG_LONGDESC="Flycast is a multiplatform Sega Dreamcast emulator "
|
|
|
|
PKG_TOOLCHAIN="make"
|
|
|
|
PKG_BUILD_FLAGS="-gold"
|
|
|
|
|
|
|
|
pre_configure_target() {
|
|
|
|
sed -i 's/define CORE_OPTION_NAME "reicast"/define CORE_OPTION_NAME "flycast"/g' core/libretro/libretro_core_option_defines.h
|
|
|
|
# Flycast defaults to -O3 but then CHD v5 do not seem to work on EmuELEC so we change it to -O2 to fix the issue
|
|
|
|
#PKG_MAKE_OPTS_TARGET="ARCH=arm HAVE_OPENMP=1 GIT_VERSION=${PKG_VERSION:0:7} FORCE_GLES=1 SET_OPTIM=-O2 HAVE_LTCG=0"
|
|
|
|
PKG_MAKE_OPTS_TARGET="ARCH=arm HAVE_OPENMP=1 GIT_VERSION=${PKG_VERSION:0:7} FORCE_GLES=1 HAVE_LTCG=0"
|
|
|
|
|
|
|
|
if [ "${ARCH}" == "aarch64" ]; then
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" WITH_DYNAREC=arm64"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
pre_make_target() {
|
|
|
|
export BUILD_SYSROOT=$SYSROOT_PREFIX
|
|
|
|
|
|
|
|
if [ "$OPENGLES_SUPPORT" = "yes" ]; then
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" FORCE_GLES=1 LDFLAGS=-lrt"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "${ARCH}" == "aarch64" ]; then
|
|
|
|
case $PROJECT in
|
|
|
|
Amlogic-ng)
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=odroid-n2"
|
|
|
|
;;
|
|
|
|
Amlogic)
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=arm64"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
case $PROJECT in
|
|
|
|
Amlogic-ng)
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=AMLG12B"
|
|
|
|
;;
|
|
|
|
Amlogic)
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=AMLGX"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ "$DEVICE" =~ RG351 ]] || [[ "$DEVICE" =~ RG552 ]]; then
|
|
|
|
if [ "$ARCH" == "arm" ]; then
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=classic_armv8_a35"
|
|
|
|
else
|
|
|
|
PKG_MAKE_OPTS_TARGET+=" platform=arm64"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
makeinstall_target() {
|
|
|
|
mkdir -p $INSTALL/usr/lib/libretro
|
|
|
|
cp flycast_libretro.so $INSTALL/usr/lib/libretro/
|
|
|
|
}
|