mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
PKG: optimize v2 libretro-scummvm
and strip obj. on all (#151)
* PKG: strip `lr-scummvm` & `lr-scummvm-legacy` * PKG: optimize `libretro-scummvm` by removing heavy engines (leave only lesser ones by shared obj plugin size)
This commit is contained in:
@@ -20,6 +20,7 @@ define LIBRETRO_SCUMMVM_LEGACY_BUILD_CMDS
|
|||||||
CXXFLAGS="$(TARGET_CXXFLAGS) $(LIBRETRO_SCUMMVM_LEGACY_LTO_CXXFLAGS) -ffat-lto-objects" \
|
CXXFLAGS="$(TARGET_CXXFLAGS) $(LIBRETRO_SCUMMVM_LEGACY_LTO_CXXFLAGS) -ffat-lto-objects" \
|
||||||
LDFLAGS="$(TARGET_LDFLAGS) $(LIBRETRO_SCUMMVM_LEGACY_LTO_LDFLAGS) -ffat-lto-objects -shared -Wl,--no-undefined" \
|
LDFLAGS="$(TARGET_LDFLAGS) $(LIBRETRO_SCUMMVM_LEGACY_LTO_LDFLAGS) -ffat-lto-objects -shared -Wl,--no-undefined" \
|
||||||
$(MAKE) all TOOLSET="$(TARGET_CROSS)" -C $(@D)/backends/platform/libretro/build/ platform="$(RETROARCH_LIBRETRO_PLATFORM)"
|
$(MAKE) all TOOLSET="$(TARGET_CROSS)" -C $(@D)/backends/platform/libretro/build/ platform="$(RETROARCH_LIBRETRO_PLATFORM)"
|
||||||
|
$(TARGET_STRIP) --strip-unneeded $(@D)/backends/platform/libretro/build/scummvm_libretro.so
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define LIBRETRO_SCUMMVM_LEGACY_INSTALL_TARGET_CMDS
|
define LIBRETRO_SCUMMVM_LEGACY_INSTALL_TARGET_CMDS
|
||||||
|
@@ -1,94 +0,0 @@
|
|||||||
From 5a2e1d3ec02f976a446b94850fa3fcf260648f2b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
|
|
||||||
Date: Mon, 3 Feb 2025 21:22:13 +0100
|
|
||||||
Subject: [PATCH 3/4] LIBRETRO-Makefile: optimize by reducing engines count
|
|
||||||
(LITE)
|
|
||||||
|
|
||||||
- discard HIGH_DEF engines from lite_engine.list & inline with legacy (add ultima4)
|
|
||||||
- add also -fno-PIC
|
|
||||||
|
|
||||||
Update lite_engines.list
|
|
||||||
---
|
|
||||||
backends/platform/libretro/Makefile | 5 +++--
|
|
||||||
backends/platform/libretro/lite_engines.list | 22 +++++++++++++-------
|
|
||||||
2 files changed, 18 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile
|
|
||||||
index af2063fef82..c66c6cccfa0 100644
|
|
||||||
--- a/backends/platform/libretro/Makefile
|
|
||||||
+++ b/backends/platform/libretro/Makefile
|
|
||||||
@@ -280,9 +280,9 @@ else ifeq ($(platform), miyoo)
|
|
||||||
LD = /opt/miyoo/usr/bin/arm-linux-g++
|
|
||||||
AR = /opt/miyoo/usr/bin/arm-linux-ar cru
|
|
||||||
RANLIB = /opt/miyoo/usr/bin/arm-linux-ranlib
|
|
||||||
- DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fPIC
|
|
||||||
+ DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fno-PIC
|
|
||||||
DEFINES += -ffunction-sections -fdata-sections -DDEFAULT_PERF_TUNER -DREDUCE_MEMORY_USAGE -DUNCACHED_PLUGINS
|
|
||||||
- LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fPIC
|
|
||||||
+ LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fno-PIC
|
|
||||||
USE_VORBIS = 0
|
|
||||||
USE_THEORADEC = 0
|
|
||||||
USE_TREMOR = 1
|
|
||||||
@@ -290,6 +290,7 @@ else ifeq ($(platform), miyoo)
|
|
||||||
USE_CURL = 0
|
|
||||||
USE_MT32EMU = 0
|
|
||||||
USE_HIGHRES := 0
|
|
||||||
+ LITE := 1
|
|
||||||
|
|
||||||
# MIYOOMINI
|
|
||||||
else ifeq ($(platform), miyoomini)
|
|
||||||
diff --git a/backends/platform/libretro/lite_engines.list b/backends/platform/libretro/lite_engines.list
|
|
||||||
index bc681b60598..efb6d85f6e8 100644
|
|
||||||
--- a/backends/platform/libretro/lite_engines.list
|
|
||||||
+++ b/backends/platform/libretro/lite_engines.list
|
|
||||||
@@ -1,32 +1,40 @@
|
|
||||||
+access
|
|
||||||
agi
|
|
||||||
agos
|
|
||||||
-agos2
|
|
||||||
cine
|
|
||||||
cruise
|
|
||||||
draci
|
|
||||||
drascula
|
|
||||||
eob
|
|
||||||
gob
|
|
||||||
-groovie
|
|
||||||
he
|
|
||||||
ihnm
|
|
||||||
kyra
|
|
||||||
+lab
|
|
||||||
lol
|
|
||||||
lure
|
|
||||||
made
|
|
||||||
-mortevielle
|
|
||||||
parallaction
|
|
||||||
+plumbers
|
|
||||||
queen
|
|
||||||
saga
|
|
||||||
sci
|
|
||||||
-sci32
|
|
||||||
scumm
|
|
||||||
scumm_7_8
|
|
||||||
sherlock
|
|
||||||
sky
|
|
||||||
-sword1
|
|
||||||
-sword2
|
|
||||||
teenagent
|
|
||||||
tinsel
|
|
||||||
-touche
|
|
||||||
tucker
|
|
||||||
+bbvs
|
|
||||||
+cge
|
|
||||||
+cge2
|
|
||||||
+dreamweb
|
|
||||||
+hugo
|
|
||||||
+illusions
|
|
||||||
+mads
|
|
||||||
+supernova
|
|
||||||
+tsage
|
|
||||||
+ultima4
|
|
||||||
+voyeur
|
|
||||||
+xeen
|
|
||||||
--
|
|
||||||
2.45.2.windows.1
|
|
||||||
|
|
@@ -0,0 +1,113 @@
|
|||||||
|
From 8902a8a1afb00339bb66b72710c0887a8d0ca449 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
|
||||||
|
Date: Wed, 12 Feb 2025 22:11:13 +0100
|
||||||
|
Subject: [PATCH 3/5] LIBRETRO: disable large engines with HEAVY flag
|
||||||
|
|
||||||
|
0 - default
|
||||||
|
1 - enable
|
||||||
|
2 - disable
|
||||||
|
---
|
||||||
|
backends/platform/libretro/Makefile.common | 3 ++-
|
||||||
|
backends/platform/libretro/heavy_engines.list | 22 +++++++++++++++++++
|
||||||
|
.../libretro/scripts/configure_engines.sh | 16 +++++++++++++-
|
||||||
|
3 files changed, 39 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 backends/platform/libretro/heavy_engines.list
|
||||||
|
|
||||||
|
diff --git a/backends/platform/libretro/Makefile.common b/backends/platform/libretro/Makefile.common
|
||||||
|
index 01f2ef19ec2..8e179c48c05 100644
|
||||||
|
--- a/backends/platform/libretro/Makefile.common
|
||||||
|
+++ b/backends/platform/libretro/Makefile.common
|
||||||
|
@@ -29,6 +29,7 @@ ENABLE_VKEYBD = 1
|
||||||
|
HAVE_GCC3 = 1
|
||||||
|
STATIC_LINKING ?= 0
|
||||||
|
LITE ?= 0
|
||||||
|
+HEAVY ?= 0
|
||||||
|
NO_WIP ?= 1
|
||||||
|
USE_LIBCO ?= 1
|
||||||
|
USE_MT32EMU ?= 1
|
||||||
|
@@ -212,7 +213,7 @@ endif
|
||||||
|
|
||||||
|
ifeq (,$(filter clean datafiles coreinfo,$(MAKECMDGOALS)))
|
||||||
|
$(info Configuring ScummVM engines...)
|
||||||
|
-ifneq ($(shell cd $(SCRIPTS_PATH); ./configure_engines.sh $(ROOT_PATH) $(SCUMMVM_PATH) $(NO_WIP) $(STATIC_LINKING) $(LITE) $(UNAVAILABLE_DEPS)),0)
|
||||||
|
+ifneq ($(shell cd $(SCRIPTS_PATH); ./configure_engines.sh $(ROOT_PATH) $(SCUMMVM_PATH) $(NO_WIP) $(STATIC_LINKING) $(LITE) $(HEAVY) $(UNAVAILABLE_DEPS)),0)
|
||||||
|
$(error Configuring ScummVM engines failed)
|
||||||
|
else
|
||||||
|
-include $(SCUMMVM_PATH)/config.mk.engines
|
||||||
|
diff --git a/backends/platform/libretro/heavy_engines.list b/backends/platform/libretro/heavy_engines.list
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..85606b3fa9c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/backends/platform/libretro/heavy_engines.list
|
||||||
|
@@ -0,0 +1,22 @@
|
||||||
|
+ags
|
||||||
|
+
|
||||||
|
+glk
|
||||||
|
+
|
||||||
|
+kyra
|
||||||
|
+lol
|
||||||
|
+eob
|
||||||
|
+
|
||||||
|
+mads
|
||||||
|
+madsv2
|
||||||
|
+
|
||||||
|
+mm
|
||||||
|
+mm1
|
||||||
|
+xeen
|
||||||
|
+
|
||||||
|
+tsage
|
||||||
|
+
|
||||||
|
+ultima
|
||||||
|
+ultima1
|
||||||
|
+ultima4
|
||||||
|
+ultima6
|
||||||
|
+ultima8
|
||||||
|
diff --git a/backends/platform/libretro/scripts/configure_engines.sh b/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
index 43a355bd395..3e1ccecf993 100755
|
||||||
|
--- a/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
+++ b/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
@@ -22,12 +22,13 @@
|
||||||
|
# $3 [REQ] NO_WIP [0,1]
|
||||||
|
# $4 [REQ] STATIC_LINKING [0,1]
|
||||||
|
# $5 [REQ] LITE [0,1,2]
|
||||||
|
+# $6 [REQ] HEAVY [0,1,2]
|
||||||
|
# $[...] [OPT] Engines dependencies not available
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Exit if in parameters are not provided
|
||||||
|
-if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ] || [ -z $5 ] ; then
|
||||||
|
+if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ] || [ -z $5 ] || [ -z $6 ]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
@@ -42,6 +43,8 @@ STATIC_LINKING=$1
|
||||||
|
shift
|
||||||
|
LITE=$1
|
||||||
|
shift
|
||||||
|
+HEAVY=$1
|
||||||
|
+shift
|
||||||
|
no_deps=$@
|
||||||
|
|
||||||
|
cd "${SCUMMVM_PATH}"
|
||||||
|
@@ -60,6 +63,17 @@ tot_deps=""
|
||||||
|
# Test LITE
|
||||||
|
[ $LITE -ne 0 ] && engine_disable_all
|
||||||
|
|
||||||
|
+# Test HEAVY
|
||||||
|
+if [ $HEAVY -eq 1 ] ; then
|
||||||
|
+ for eng in $(cat "${BUILD_PATH}"/heavy_engines.list) ; do
|
||||||
|
+ engine_enable "$eng"
|
||||||
|
+ done
|
||||||
|
+elif [ $HEAVY -eq 2 ] ; then
|
||||||
|
+ for eng in $(cat "${BUILD_PATH}"/heavy_engines.list) ; do
|
||||||
|
+ engine_disable "$eng"
|
||||||
|
+ done
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
if [ $LITE -eq 1 ] ; then
|
||||||
|
for eng in $(cat "${BUILD_PATH}"/lite_engines.list) ; do
|
||||||
|
engine_enable "$eng"
|
||||||
|
--
|
||||||
|
2.45.2.windows.1
|
||||||
|
|
@@ -0,0 +1,34 @@
|
|||||||
|
From 67682387370edddb2205ff9c1b0fc80b41be23c6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
|
||||||
|
Date: Tue, 11 Feb 2025 22:22:49 +0100
|
||||||
|
Subject: [PATCH 5/5] LR-Makefile: use TREMOR explicitly
|
||||||
|
|
||||||
|
thus disable Fluidsynth from build
|
||||||
|
also use -fno-PIC
|
||||||
|
---
|
||||||
|
backends/platform/libretro/Makefile | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile
|
||||||
|
index 4a3cdc99236..a7508996a64 100644
|
||||||
|
--- a/backends/platform/libretro/Makefile
|
||||||
|
+++ b/backends/platform/libretro/Makefile
|
||||||
|
@@ -280,12 +280,13 @@ else ifeq ($(platform), miyoo)
|
||||||
|
LD = /opt/miyoo/usr/bin/arm-linux-g++
|
||||||
|
AR = /opt/miyoo/usr/bin/arm-linux-ar cru
|
||||||
|
RANLIB = /opt/miyoo/usr/bin/arm-linux-ranlib
|
||||||
|
- DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fPIC
|
||||||
|
+ DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fno-PIC
|
||||||
|
DEFINES += -ffunction-sections -fdata-sections -DDEFAULT_PERF_TUNER -DREDUCE_MEMORY_USAGE -DUNCACHED_PLUGINS
|
||||||
|
- LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fPIC
|
||||||
|
+ LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fno-PIC
|
||||||
|
USE_VORBIS = 0
|
||||||
|
USE_THEORADEC = 0
|
||||||
|
USE_TREMOR = 1
|
||||||
|
+ USE_FLUIDSYNTH = 0
|
||||||
|
USE_LIBCO = 0
|
||||||
|
USE_CURL = 0
|
||||||
|
USE_MT32EMU = 0
|
||||||
|
--
|
||||||
|
2.45.2.windows.1
|
||||||
|
|
@@ -0,0 +1,26 @@
|
|||||||
|
From 3e4f8c0f3f3a97cdf9a5e298e8018536029a0c24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Apaczer <94932128+Apaczer@users.noreply.github.com>
|
||||||
|
Date: Fri, 14 Feb 2025 14:54:36 +0100
|
||||||
|
Subject: [PATCH 6/6] LIBRETRO: force "disable all unstable eng" if NO_WIP=1
|
||||||
|
|
||||||
|
---
|
||||||
|
backends/platform/libretro/scripts/configure_engines.sh | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/backends/platform/libretro/scripts/configure_engines.sh b/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
index 3e1ccecf993..cf69709655e 100755
|
||||||
|
--- a/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
+++ b/backends/platform/libretro/scripts/configure_engines.sh
|
||||||
|
@@ -80,6 +80,9 @@ if [ $LITE -eq 1 ] ; then
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
+# Test NO_WIP #2
|
||||||
|
+[ $NO_WIP -eq 1 ] && engine_disable_all_unstable
|
||||||
|
+
|
||||||
|
# Define engines list
|
||||||
|
for a in $_engines ; do
|
||||||
|
# Collect all default engines dependencies and force to yes
|
||||||
|
--
|
||||||
|
2.45.2.windows.1
|
||||||
|
|
@@ -21,7 +21,8 @@ define LIBRETRO_SCUMMVM_BUILD_CMDS
|
|||||||
CFLAGS="$(TARGET_CFLAGS) $(LIBRETRO_SCUMMVM_LTO_CFLAGS) -ffat-lto-objects" \
|
CFLAGS="$(TARGET_CFLAGS) $(LIBRETRO_SCUMMVM_LTO_CFLAGS) -ffat-lto-objects" \
|
||||||
CXXFLAGS="$(TARGET_CXXFLAGS) $(LIBRETRO_SCUMMVM_LTO_CXXFLAGS) -ffat-lto-objects" \
|
CXXFLAGS="$(TARGET_CXXFLAGS) $(LIBRETRO_SCUMMVM_LTO_CXXFLAGS) -ffat-lto-objects" \
|
||||||
LDFLAGS="$(TARGET_LDFLAGS) $(LIBRETRO_SCUMMVM_LTO_LDFLAGS) -ffat-lto-objects -shared -Wl,--no-undefined" \
|
LDFLAGS="$(TARGET_LDFLAGS) $(LIBRETRO_SCUMMVM_LTO_LDFLAGS) -ffat-lto-objects -shared -Wl,--no-undefined" \
|
||||||
$(MAKE) all TOOLSET="$(TARGET_CROSS)" -C $(@D)/backends/platform/libretro/ platform="$(RETROARCH_LIBRETRO_PLATFORM)"
|
$(MAKE) all TOOLSET="$(TARGET_CROSS)" -C $(@D)/backends/platform/libretro/ HEAVY=2 platform="$(RETROARCH_LIBRETRO_PLATFORM)"
|
||||||
|
$(TARGET_STRIP) --strip-unneeded $(@D)/backends/platform/libretro/scummvm_libretro.so
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define LIBRETRO_SCUMMVM_INSTALL_TARGET_CMDS
|
define LIBRETRO_SCUMMVM_INSTALL_TARGET_CMDS
|
||||||
|
Reference in New Issue
Block a user