diff --git a/packages/emulation/libretro-beetle-pcfx/package.mk b/packages/emulation/libretro-beetle-pcfx/package.mk index 3871056aa8..5e8bb72b6e 100644 --- a/packages/emulation/libretro-beetle-pcfx/package.mk +++ b/packages/emulation/libretro-beetle-pcfx/package.mk @@ -34,28 +34,21 @@ PKG_LIBPATH="$PKG_LIBNAME" PKG_LIBVAR="BEETLE-PCFX_LIB" make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make platform=armv6-hardfloat - ;; - RPi2) - make platform=armv7-neon-hardfloat - ;; - esac + case $TARGET_CPU in + arm1176jzf-s) + make platform=armv6-hardfloat ;; - imx6) - make platform=armv7-cortexa9-neon-hardfloat + cortex-a7) + make platform=armv7-neon-hardfloat ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) + cortex-a9|cortex-a53|cortex-a17) if [ "$TARGET_ARCH" = "aarch64" ]; then make platform=aarch64 else make platform=armv7-cortexa9-neon-hardfloat fi ;; - Generic) + x86-64) make ;; esac diff --git a/packages/emulation/libretro-craft/package.mk b/packages/emulation/libretro-craft/package.mk index 78718ef425..e5a0a8d62c 100644 --- a/packages/emulation/libretro-craft/package.mk +++ b/packages/emulation/libretro-craft/package.mk @@ -40,30 +40,29 @@ pre_configure_target() { } make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make -f Makefile.libretro platform=rpi - ;; - RPi2) - make -f Makefile.libretro platform=rpi2 - ;; - esac - ;; - imx6) - make -f Makefile.libretro platform=imx6 - ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) - if [ "$TARGET_ARCH" = "aarch64" ]; then - make -f Makefile.libretro platform=aarch64 - else - make -f Makefile.libretro platform=armv7-neon-gles-cortex-a9 - fi + + if [ -z "$DEVICE" ]; then + PKG_DEVICE_NAME=$PROJECT + else + PKG_DEVICE_NAME=$DEVICE + fi + + case $PKG_DEVICE_NAME in + RPi|RPi2) + make -f Makefile.libretro platform=${PKG_DEVICE_NAME,,} ;; Generic) make -f Makefile.libretro ;; + *) + if [ "$TARGET_CPU" = "cortex-a9" ] || [ "$TARGET_CPU" = "cortex-a53" ] || [ "$TARGET_CPU" = "cortex-a17" ]; then + if [ "$TARGET_ARCH" = "aarch64" ]; then + make -f Makefile.libretro platform=aarch64 + else + make -f Makefile.libretro platform=armv7-neon-gles-cortex-a9 + fi + fi + ;; esac } diff --git a/packages/emulation/libretro-desmume/package.mk b/packages/emulation/libretro-desmume/package.mk index 025c065421..1ec8377c7e 100644 --- a/packages/emulation/libretro-desmume/package.mk +++ b/packages/emulation/libretro-desmume/package.mk @@ -17,42 +17,33 @@ ################################################################################ PKG_NAME="libretro-desmume" -PKG_VERSION="1dd58e4" -PKG_SHA256="0cc647defbbfbe0995e4dfe825e5bf67345ad1f9d8e7e29cdb94c32032c490c4" +PKG_VERSION="9464582" +PKG_SHA256="706af70135e1a33845d1b24163b9ab496f61219c958598d90d2283f6b4ee79b9" PKG_ARCH="any" PKG_LICENSE="GPLv2" -PKG_SITE="https://github.com/libretro/desmume-libretro" -PKG_URL="https://github.com/libretro/desmume-libretro/archive/$PKG_VERSION.tar.gz" -PKG_SOURCE_DIR="desmume-libretro-$PKG_VERSION*" +PKG_SITE="https://github.com/libretro/desmume" +PKG_URL="https://github.com/libretro/desmume/archive/$PKG_VERSION.tar.gz" +PKG_SOURCE_DIR="desmume-$PKG_VERSION*" PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="libretro wrapper for desmume NDS emulator." PKG_LONGDESC="libretro wrapper for desmume NDS emulator." +PKG_TOOLCHAIN="make" PKG_LIBNAME="desmume_libretro.so" -PKG_LIBPATH="$PKG_LIBNAME" +PKG_LIBPATH="desmume/$PKG_LIBNAME" PKG_LIBVAR="DESMUME_LIB" make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make -f Makefile.libretro platform=armv6-hardfloat-arm1176jzf-s - ;; - RPi2) - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a7 - ;; - esac + case $TARGET_CPU in + arm1176jzf-s) + make -C desmume -f Makefile.libretro platform=armv6-hardfloat-$TARGET_CPU ;; - imx6) - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a9 + cortex-a7|cortex-a9) + make -C desmume -f Makefile.libretro platform=armv7-neon-hardfloat-$TARGET_CPU ;; - WeTek_Play|WeTek_Core) - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a9 - ;; - Generic) - make -f Makefile.libretro + x86-64) + make -C desmume -f Makefile.libretro ;; esac } diff --git a/packages/emulation/libretro-mame2010/package.mk b/packages/emulation/libretro-mame2010/package.mk index db033dfdc6..cf16d317bd 100644 --- a/packages/emulation/libretro-mame2010/package.mk +++ b/packages/emulation/libretro-mame2010/package.mk @@ -41,28 +41,21 @@ pre_make_target() { } make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make platform=armv6-hardfloat-arm1176jzf-s - ;; - RPi2) - make platform=armv7-neon-hardfloat-cortex-a7 - ;; - esac + case $TARGET_CPU in + arm1176jzf-s) + make platform=armv6-hardfloat-$TARGET_CPU ;; - imx6) - make platform=armv7-neon-hardfloat-cortex-a9 + cortex-a7|cortex-a9) + make platform=armv7-neon-hardfloat-$TARGET_CPU ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) + cortex-a53|cortex-a17) if [ "$TARGET_ARCH" = "aarch64" ]; then make platform=aarch64 else make platform=armv7-neon-hardfloat-cortex-a9 fi ;; - Generic) + x86-64) make ;; esac diff --git a/packages/emulation/libretro-mame2014/package.mk b/packages/emulation/libretro-mame2014/package.mk index 236cdf89cb..e14f48f9d9 100644 --- a/packages/emulation/libretro-mame2014/package.mk +++ b/packages/emulation/libretro-mame2014/package.mk @@ -41,28 +41,21 @@ pre_make_target() { } make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make platform=armv6-hardfloat-arm1176jzf-s - ;; - RPi2) - make platform=armv7-neon-hardfloat-cortex-a7 - ;; - esac + case $TARGET_CPU in + arm1176jzf-s) + make platform=armv6-hardfloat-$TARGET_CPU ;; - imx6) - make platform=armv7-neon-hardfloat-cortex-a9 + cortex-a7|cortex-a9) + make platform=armv7-neon-hardfloat-$TARGET_CPU ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) + cortex-a53|cortex-a17) if [ "$TARGET_ARCH" = "aarch64" ]; then make platform=aarch64 else make platform=armv7-neon-hardfloat-cortex-a9 fi ;; - Generic) + x86-64) make ;; esac diff --git a/packages/emulation/libretro-mupen64plus/package.mk b/packages/emulation/libretro-mupen64plus/package.mk index 760d714a5b..7b4047fd2b 100644 --- a/packages/emulation/libretro-mupen64plus/package.mk +++ b/packages/emulation/libretro-mupen64plus/package.mk @@ -34,30 +34,33 @@ PKG_LIBPATH="$PKG_LIBNAME" PKG_LIBVAR="MUPEN64PLUS_LIB" make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make platform=rpi - ;; - RPi2) - make platform=rpi2 - ;; - esac - ;; - imx6) - make platform=imx6 - ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) - if [ "$TARGET_ARCH" = "aarch64" ]; then - make platform=aarch64 - else - make platform=armv7-neon-gles-cortex-a9 - fi + + if target_has_feature neon; then + export HAVE_NEON=1 + fi + + if [ -z "$DEVICE" ]; then + PKG_DEVICE_NAME=$PROJECT + else + PKG_DEVICE_NAME=$DEVICE + fi + + case $PKG_DEVICE_NAME in + RPi|RPi2) + make platform=${PKG_DEVICE_NAME,,} ;; Generic) make WITH_DYNAREC=x86_64 ;; + *) + if [ "$TARGET_CPU" = "cortex-a9" ] || [ "$TARGET_CPU" = "cortex-a53" ] || [ "$TARGET_CPU" = "cortex-a17" ]; then + if [ "$TARGET_ARCH" = "aarch64" ]; then + make platform=aarch64 + else + make platform=linux-gles FORCE_GLES=1 WITH_DYNAREC=arm + fi + fi + ;; esac } diff --git a/packages/emulation/libretro-pcsx-rearmed/package.mk b/packages/emulation/libretro-pcsx-rearmed/package.mk index b0437ddd55..ae8af2fdd1 100644 --- a/packages/emulation/libretro-pcsx-rearmed/package.mk +++ b/packages/emulation/libretro-pcsx-rearmed/package.mk @@ -40,28 +40,21 @@ pre_make_target() { make_target() { cd $PKG_BUILD - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make -f Makefile.libretro platform=armv6-hardfloat-arm1176jzf-s - ;; - RPi2) - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a7 - ;; - esac + + if target_has_feature neon; then + export HAVE_NEON=1 + else + export HAVE_NEON=0 + fi + + case $TARGET_ARCH in + aarch64) + make -f Makefile.libretro platform=aarch64 ;; - imx6) - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a9 + arm) + make -f Makefile.libretro USE_DYNAREC=1 ;; - WeTek_Play|WeTek_Core|Odroid_C2|WeTek_Hub|WeTek_Play_2) - if [ "$TARGET_ARCH" = "aarch64" ]; then - make -f Makefile.libretro platform=aarch64 - else - make -f Makefile.libretro platform=armv7-neon-hardfloat-cortex-a9 - fi - ;; - Generic) + x86-64) make -f Makefile.libretro ;; esac diff --git a/packages/emulation/libretro-ppsspp/package.mk b/packages/emulation/libretro-ppsspp/package.mk index cf7de27cb1..c9ea741ff0 100644 --- a/packages/emulation/libretro-ppsspp/package.mk +++ b/packages/emulation/libretro-ppsspp/package.mk @@ -17,8 +17,8 @@ ################################################################################ PKG_NAME="libretro-ppsspp" -PKG_VERSION="9145287" -PKG_SHA256="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +PKG_VERSION="5f7bcf7" +PKG_SHA256="09e61300c05705b1f98e1b575e44d366e5a243cc3be97b3a09ad420581459f87" PKG_ARCH="any" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/libretro-ppsspp" @@ -27,6 +27,7 @@ PKG_DEPENDS_TARGET="toolchain kodi-platform" PKG_SECTION="emulation" PKG_SHORTDESC="A PSP emulator for Android, Windows, Mac, Linux and Blackberry 10, written in C++." PKG_LONGDESC="A PSP emulator for Android, Windows, Mac, Linux and Blackberry 10, written in C++." +PKG_TOOLCHAIN="make" PKG_LIBNAME="ppsspp_libretro.so" PKG_LIBPATH="libretro/$PKG_LIBNAME" @@ -45,27 +46,27 @@ pre_make_target() { } make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make -C libretro platform=armv6-gles-hardfloat-arm1176jzf-s - ;; - RPi2) - make -C libretro platform=armv7-neon-gles-hardfloat-cortex-a7 - ;; - esac - ;; - imx6) - make -C libretro platform=armv7-neon-gles-hardfloat-cortex-a9 - ;; - WeTek_Play|WeTek_Core) - make -C libretro platform=armv7-neon-gles-hardfloat-cortex-a9 - ;; - Generic) - make -C libretro - ;; - esac + if [ -z "$DEVICE" ]; then + PKG_DEVICE_NAME=$PROJECT + else + PKG_DEVICE_NAME=$DEVICE + fi + + if [ "$PKG_DEVICE_NAME" = "RPi" ]; then + make -C libretro platform=${DEVICE,,} + else + case $TARGET_CPU in + arm1176jzf-s) + make -C libretro CC=$CC CXX=$CXX platform=armv6-gles-hardfloat-$TARGET_CPU + ;; + cortex-a7|cortex-a9) + make -C libretro CC=$CC CXX=$CXX platform=armv7-neon-gles-hardfloat-$TARGET_CPU + ;; + x86-64) + make -C libretro CC=$CC CXX=$CXX + ;; + esac + fi } makeinstall_target() { diff --git a/packages/emulation/libretro-ppsspp/patches/libretro-ppsspp-0004-ffmeg-build.patch b/packages/emulation/libretro-ppsspp/patches/libretro-ppsspp-0004-ffmeg-build.patch new file mode 100644 index 0000000000..a703ce142a --- /dev/null +++ b/packages/emulation/libretro-ppsspp/patches/libretro-ppsspp-0004-ffmeg-build.patch @@ -0,0 +1,15 @@ +--- a/Core/HLE/sceMpeg.cpp ++++ b/Core/HLE/sceMpeg.cpp +@@ -768,10 +768,10 @@ + // GE_CMODE_16BIT_ABGR5551 <--> AV_PIX_FMT_BGR555LE; + // GE_CMODE_16BIT_ABGR4444 <--> AV_PIX_FMT_BGR444LE; + // GE_CMODE_32BIT_ABGR8888 <--> AV_PIX_FMT_RGBA; +- pmp_want_pix_fmt = PIX_FMT_RGBA; ++ pmp_want_pix_fmt = AV_PIX_FMT_RGBA; + + // Create H264 video codec +- AVCodec * pmp_Codec = avcodec_find_decoder(CODEC_ID_H264); ++ AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264); + if (pmp_Codec == NULL){ + ERROR_LOG(ME, "Can not find H264 codec, please update ffmpeg"); + return false; diff --git a/packages/emulation/libretro-reicast/package.mk b/packages/emulation/libretro-reicast/package.mk index b53a2fa09b..c4338fb33f 100644 --- a/packages/emulation/libretro-reicast/package.mk +++ b/packages/emulation/libretro-reicast/package.mk @@ -34,27 +34,21 @@ PKG_LIBPATH="$PKG_LIBNAME" PKG_LIBVAR="REICAST_LIB" make_target() { - case $PROJECT in - RPi) - case $DEVICE in - RPi) - make platform=armv6-hardfloat-arm1176jzf-s - ;; - RPi2) - make platform=rpi2 - ;; - esac - ;; - imx6) - make platform=armv7-neon-hardfloat-cortex-a9 - ;; - WeTek_Play|WeTek_Core) - make platform=armv7-neon-hardfloat-cortex-a9 - ;; - Generic) - make - ;; - esac + if [ "$DEVICE" = "RPi2" ]; then + make platform=${DEVICE,,} + else + case $TARGET_CPU in + arm1176jzf-s) + make platform=arm FORCE_GLES=1 + ;; + cortex-a7|cortex-a9) + make platform=armv7-neon-hardfloat-$TARGET_CPU FORCE_GLES=1 + ;; + x86-64) + make + ;; + esac + fi } makeinstall_target() {