[Scummvm-git-logs] scummvm master -> fd66964efd2ddffbe01c7b9a96637b2b2aa34144
spleen1981
noreply at scummvm.org
Wed Feb 5 10:01:57 UTC 2025
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
60bdbf8255 LIBRETRO: BUILD: add components handling
e0046d539e LIBRETRO: BUILD: fix new module.mk rules depending on config.mk
72550dec75 LIBRETRO: BUILD: add workaround for android
fd66964efd LIBRETRO: BUILD: fix gcw0 PRId64 / PRIu64 missing defines
Commit: 60bdbf8255789d78e5a40e6df82a3547a9f669ff
https://github.com/scummvm/scummvm/commit/60bdbf8255789d78e5a40e6df82a3547a9f669ff
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2025-02-05T11:00:51+01:00
Commit Message:
LIBRETRO: BUILD: add components handling
Changed paths:
backends/platform/libretro/Makefile.common
backends/platform/libretro/scripts/configure_engines.sh
diff --git a/backends/platform/libretro/Makefile.common b/backends/platform/libretro/Makefile.common
index 5d093ec15b2..dde0208a444 100644
--- a/backends/platform/libretro/Makefile.common
+++ b/backends/platform/libretro/Makefile.common
@@ -11,18 +11,7 @@ $(foreach MODULE,$(MODULES),$(MODULE_OBJS-$(MODULE)) :=)
MODULES :=
# Defaults
-USE_ZLIB = 1
-USE_FLAC = 1
-USE_MAD = 1
-USE_FAAD = 1
-USE_PNG = 1
-USE_JPEG = 1
-USE_FREETYPE2 = 1
-USE_LUA = 1
LOAD_RULES_MK = 1
-USE_TINYGL = 1
-USE_BINK = 1
-USE_FRIBIDI = 1
POSIX = 1
USE_RGB_COLOR = 1
ENABLE_VKEYBD = 1
@@ -31,8 +20,7 @@ STATIC_LINKING ?= 0
LITE ?= 0
NO_WIP ?= 1
USE_LIBCO ?= 1
-USE_MT32EMU ?= 1
-USE_CLOUD ?= 0
+USE_MT32EMU ?= 0
DEBUG ?= 0
FORCE_OPENGL ?= 0
FORCE_OPENGLES2 ?= 0
@@ -42,26 +30,149 @@ DEBUG_ALLOW_DIRTY_SUBMODULES ?= 0
# Variable engines dependencies
UNAVAILABLE_DEPS :=
-check_deps_availability = $(shell [ $(1) = 0 ] && echo $(2))
+check_deps_availability = $(shell [ ! $(1) = 1 ] && echo $(2))
+
+# Handle OpenGL flags
+ifeq ($(FORCE_OPENGL), 1)
+ HAVE_OPENGL := 1
+ HAVE_OPENGLES2 :=
+endif
+
+ifeq ($(FORCE_OPENGLES2), 1)
+ HAVE_OPENGL :=
+ HAVE_OPENGLES2 := 1
+endif
+
+ifeq ($(FORCE_OPENGLNONE), 1)
+ HAVE_OPENGL :=
+ HAVE_OPENGLES2 :=
+endif
+
+# Features
+ifeq ($(or $(HAVE_OPENGL), $(HAVE_OPENGLES2)), 1)
+ USE_OPENGL := 1
+ USE_OPENGL_GAME := 1
+ USE_OPENGL_SHADERS := 1
+ DEFINES += -DUSE_OPENGL -DUSE_GLAD -DUSE_OPENGL_GAME -DUSE_OPENGL_SHADERS
+ifeq ($(DEBUG), 1)
+ DEFINES += -DOPENGL_DEBUG
+endif
+ifeq ($(HAVE_OPENGL), 1)
+ DEFINES += -DHAVE_OPENGL
+ $(info Support for OpenGL requested)
+else
+ DEFINES += -DHAVE_OPENGLES2
+ $(info Support for OpenGLES2 requested)
+endif
+else
+ UNAVAILABLE_DEPS += opengl_game_shaders opengl_game_classic
+ $(info No support for OpenGL/OpenGLES2 requested)
+endif
USE_HIGHRES ?= 1
ifeq ($(USE_HIGHRES),1)
-DEFINES += -DUSE_HIGHRES
+DEFINES += -DUSE_HIGHRES
endif
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_HIGHRES), highres)
+USE_BINK = 1
+DEFINES += -DUSE_BINK
+
+# Features with baked-in libs (defines handled in dependencies.mk)
USE_FLUIDSYNTH ?= 1
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_FLUIDSYNTH), fluidsynth)
-USE_THEORADEC ?= 1
-UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_THEORADEC), theoradec)
-
-USE_TREMOR ?= 0
+USE_TREMOR ?=
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_TREMOR), tremor)
USE_VORBIS ?= 1
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_VORBIS), vorbis)
+USE_FRIBIDI = 1
+
+USE_ZLIB = 1
+
+USE_FLAC = 1
+
+USE_MAD = 1
+
+USE_FAAD = 1
+
+USE_PNG = 1
+
+USE_JPEG = 1
+
+USE_FREETYPE2 = 1
+
+USE_CLOUD ?= 0
+
+# Components (defines handled by engines.awk)
+USE_THEORADEC ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_THEORADEC), component_theoradec)
+# handled in dependencies.mk
+
+USE_HNM ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_HNM), component_hnm)
+ifneq ($(USE_HNM),1)
+USE_HNM=
+else
+DEFINES += -DUSE_HNM
+endif
+
+USE_ENET ?= 0
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_ENET), component_enet)
+ifneq ($(USE_ENET),1)
+USE_ENET=
+else
+DEFINES += -DUSE_ENET
+endif
+
+USE_IMGUI ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_IMGUI), component_imgui)
+ifneq ($(USE_IMGUI),1)
+USE_IMGUI=
+else
+DEFINES += -DUSE_IMGUI
+endif
+
+USE_MPEG2 ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_MPEG2), component_mpeg2)
+ifneq ($(USE_MPEG2),1)
+USE_MPEG2=
+else
+DEFINES += -DUSE_MPEG2
+endif
+
+USE_GIF ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_GIF), component_gif)
+ifneq ($(USE_GIF),1)
+USE_GIF=
+else
+DEFINES += -DUSE_GIF
+endif
+
+USE_VPX ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_VPX), component_vpx)
+ifneq ($(USE_VPX),1)
+USE_VPX=
+else
+DEFINES += -DUSE_VPX
+endif
+
+USE_MPCDEC ?= 1
+UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_MPCDEC), component_mpcdec)
+ifneq ($(USE_MPCDEC),1)
+USE_MPCDEC=
+else
+DEFINES += -DUSE_MPCDEC
+endif
+
+USE_TINYGL = 1
+DEFINES += -DUSE_TINYGL
+
+USE_LUA = 1
+DEFINES += -DUSE_LUA
+
# Paths
SCUMMVM_PATH := $(ROOT_PATH)/../../..
DEPS_PATH := $(ROOT_PATH)/deps
@@ -93,7 +204,7 @@ SCUMMVM_EXTRA_SUBDIR := extra
SCUMMVM_THEME_SUBDIR := theme
INCLUDES += -I$(SCUMMVM_PATH)
-DEFINES += -D__LIBRETRO__ -DNONSTANDARD_PORT -DUSE_RGB_COLOR -DUSE_OSD -DUSE_TRANSLATION -DDETECTION_STATIC -DHAVE_CONFIG_H -DUSE_BINK -DUSE_LUA -DUSE_TINYGL -DENABLE_VKEYBD
+DEFINES += -D__LIBRETRO__ -DNONSTANDARD_PORT -DUSE_RGB_COLOR -DUSE_OSD -DUSE_TRANSLATION -DDETECTION_STATIC -DHAVE_CONFIG_H -DENABLE_VKEYBD
DEFINES += -DCORE_NAME=\"$(CORE_NAME)\" -DCORE_EXTENSIONS=\"$(CORE_EXTENSIONS)\" -DSCUMMVM_SYSTEM_SUBDIR=\"$(SCUMMVM_SYSTEM_SUBDIR)\" -DSCUMMVM_EXTRA_SUBDIR=\"$(SCUMMVM_EXTRA_SUBDIR)\" -DSCUMMVM_THEME_SUBDIR=\"$(SCUMMVM_THEME_SUBDIR)\"
CXXFLAGS += -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder -Wno-undefined-var-template
@@ -115,41 +226,6 @@ else
DEFINES += -DDISABLE_TEXT_CONSOLE -DRELEASE_BUILD
endif
-ifeq ($(FORCE_OPENGL), 1)
- HAVE_OPENGL := 1
- HAVE_OPENGLES2 :=
-endif
-
-ifeq ($(FORCE_OPENGLES2), 1)
- HAVE_OPENGL :=
- HAVE_OPENGLES2 := 1
-endif
-
-ifeq ($(FORCE_OPENGLNONE), 1)
- HAVE_OPENGL :=
- HAVE_OPENGLES2 :=
-endif
-
-ifeq ($(or $(HAVE_OPENGL), $(HAVE_OPENGLES2)), 1)
- USE_OPENGL := 1
- USE_OPENGL_GAME := 1
- USE_OPENGL_SHADERS := 1
- DEFINES += -DUSE_OPENGL -DUSE_GLAD -DUSE_OPENGL_GAME -DUSE_OPENGL_SHADERS
-ifeq ($(DEBUG), 1)
- DEFINES += -DOPENGL_DEBUG
-endif
-ifeq ($(HAVE_OPENGL), 1)
- DEFINES += -DHAVE_OPENGL
- $(info Support for OpenGL requested)
-else
- DEFINES += -DHAVE_OPENGLES2
- $(info Support for OpenGLES2 requested)
-endif
-else
- UNAVAILABLE_DEPS += opengl_game_shaders
- $(info No support for OpenGL/OpenGLES2 requested)
-endif
-
ifeq ($(HAVE_NEON), 1)
SCUMMVM_NEON := 1
DEFINES += -DSCUMMVM_NEON
diff --git a/backends/platform/libretro/scripts/configure_engines.sh b/backends/platform/libretro/scripts/configure_engines.sh
index 43a355bd395..b04e2520c31 100755
--- a/backends/platform/libretro/scripts/configure_engines.sh
+++ b/backends/platform/libretro/scripts/configure_engines.sh
@@ -22,7 +22,7 @@
# $3 [REQ] NO_WIP [0,1]
# $4 [REQ] STATIC_LINKING [0,1]
# $5 [REQ] LITE [0,1,2]
-# $[...] [OPT] Engines dependencies not available
+# $[...] [OPT] Engines dependencies/components not available
set -e
@@ -42,7 +42,7 @@ STATIC_LINKING=$1
shift
LITE=$1
shift
-no_deps=$@
+no_deps_comps=$@
cd "${SCUMMVM_PATH}"
@@ -54,6 +54,18 @@ mv configure.bak configure > /dev/null 2>&1
_parent_engines_list=""
tot_deps=""
+# Separate unavailable dependencies from components
+for item in $no_deps_comps ; do
+ case $item in
+ component_*)
+ append_var no_comps "${item#component_}"
+ ;;
+ *)
+ append_var no_deps "${item}"
+ ;;
+ esac
+done
+
# Test NO_WIP
[ $NO_WIP -ne 1 ] && engine_enable_all
@@ -78,12 +90,21 @@ for a in $_engines ; do
done
done
+# Set all deps to yes then set no for the one in no_deps list. Engines will be disabled in engines.awk if needed
for dep in $tot_deps ; do
- eval _$dep=yes
+ set_var _$dep yes
done
-
for dep in $no_deps ; do
- eval _$dep=no
+ set_var _$dep no
+done
+# Disable unavailable components
+for comp in $(get_var _components); do
+ for dep in $no_comps ; do
+ if [ $comp = $dep ] ; then
+ set_var _feature_${comp}_settings no
+ break
+ fi
+ done
done
# Create needed engines build files
Commit: e0046d539e12f867e753062b8d768096e6f5a642
https://github.com/scummvm/scummvm/commit/e0046d539e12f867e753062b8d768096e6f5a642
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2025-02-05T11:01:01+01:00
Commit Message:
LIBRETRO: BUILD: fix new module.mk rules depending on config.mk
Changed paths:
backends/platform/libretro/Makefile
backends/platform/libretro/Makefile.common
diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile
index af2063fef82..d490b9d79ac 100644
--- a/backends/platform/libretro/Makefile
+++ b/backends/platform/libretro/Makefile
@@ -674,6 +674,10 @@ libdetect.a: $(DETECT_OBJS)
@$(MKDIR) $(*D)
$(HIDE)$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
+# Create empty config.mk, if required by any module.mk (e.g. audio/softsynth/mt32/module.mk)
+config.mk:
+ @touch config.mk
+
# Dumb compile rule, for C++ compilers that don't allow dependency tracking or
# where it is broken (such as GCC 2.95).
.cpp.o:
diff --git a/backends/platform/libretro/Makefile.common b/backends/platform/libretro/Makefile.common
index dde0208a444..c4ba3e2978b 100644
--- a/backends/platform/libretro/Makefile.common
+++ b/backends/platform/libretro/Makefile.common
@@ -135,7 +135,7 @@ else
DEFINES += -DUSE_IMGUI
endif
-USE_MPEG2 ?= 1
+USE_MPEG2 ?= 0
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_MPEG2), component_mpeg2)
ifneq ($(USE_MPEG2),1)
USE_MPEG2=
@@ -143,7 +143,7 @@ else
DEFINES += -DUSE_MPEG2
endif
-USE_GIF ?= 1
+USE_GIF ?= 0
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_GIF), component_gif)
ifneq ($(USE_GIF),1)
USE_GIF=
@@ -151,7 +151,7 @@ else
DEFINES += -DUSE_GIF
endif
-USE_VPX ?= 1
+USE_VPX ?= 0
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_VPX), component_vpx)
ifneq ($(USE_VPX),1)
USE_VPX=
@@ -159,7 +159,7 @@ else
DEFINES += -DUSE_VPX
endif
-USE_MPCDEC ?= 1
+USE_MPCDEC ?= 0
UNAVAILABLE_DEPS += $(call check_deps_availability, $(USE_MPCDEC), component_mpcdec)
ifneq ($(USE_MPCDEC),1)
USE_MPCDEC=
Commit: 72550dec757f7dae3e58875c37c7e60f43c3738b
https://github.com/scummvm/scummvm/commit/72550dec757f7dae3e58875c37c7e60f43c3738b
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2025-02-05T11:01:13+01:00
Commit Message:
LIBRETRO: BUILD: add workaround for android
Changed paths:
backends/platform/libretro/jni/Android.mk
diff --git a/backends/platform/libretro/jni/Android.mk b/backends/platform/libretro/jni/Android.mk
index 7e6ed1f0c0d..8422d9792d4 100644
--- a/backends/platform/libretro/jni/Android.mk
+++ b/backends/platform/libretro/jni/Android.mk
@@ -2,6 +2,7 @@ LOCAL_PATH := $(call my-dir)
ROOT_PATH := $(LOCAL_PATH)/..
TARGET_NAME := scummvm
HAVE_OPENGLES2 := 1
+USE_IMGUI := 0
# Reset flags not reset to Makefile.common
DEFINES :=
@@ -21,10 +22,14 @@ include $(addprefix $(SCUMMVM_PATH)/, $(addsuffix /module.mk,$(MODULES)))
OBJS_MODULES := $(addprefix $(SCUMMVM_PATH)/, $(foreach MODULE,$(MODULES),$(MODULE_OBJS-$(MODULE))))
+#TODO:
+# -Workaround to fix a linker error for tetraengine adding the following twice (both in DETECT_OBJS and MODULE_OBJS)
+DETECT_OBJS := $(filter-out engines/tetraedge/obb_archive.o, $(DETECT_OBJS))
+
#TODO:
# -O2 or higher causes segmentation fault with some engines (e.g. hopkins)
# -Fortify triggers abort with some engines (e.g. sword25)
-COREFLAGS := $(DEFINES) -DUSE_CXX11 -O1 -U_FORTIFY_SOURCE
+COREFLAGS := $(DEFINES) -DUSE_CXX11 -O1 -U_FORTIFY_SOURCE -Wno-undefined-var-template
ifeq ($(TARGET_ARCH),arm)
COREFLAGS += -D_ARM_ASSEM_
@@ -34,6 +39,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := retro
LOCAL_MODULE_FILENAME := libretro
LOCAL_SRC_FILES := $(DETECT_OBJS:%.o=$(SCUMMVM_PATH)/%.cpp) $(OBJS_DEPS:%.o=%.c) $(OBJS_MODULES:%.o=%.cpp) $(OBJS:%.o=%.cpp)
+
LOCAL_C_INCLUDES := $(subst -I,,$(INCLUDES))
LOCAL_CPPFLAGS := $(COREFLAGS) -std=c++11
LOCAL_CFLAGS := $(COREFLAGS)
Commit: fd66964efd2ddffbe01c7b9a96637b2b2aa34144
https://github.com/scummvm/scummvm/commit/fd66964efd2ddffbe01c7b9a96637b2b2aa34144
Author: Giovanni Cascione (ing.cascione at gmail.com)
Date: 2025-02-05T11:01:24+01:00
Commit Message:
LIBRETRO: BUILD: fix gcw0 PRId64 / PRIu64 missing defines
Changed paths:
backends/platform/libretro/Makefile
diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile
index d490b9d79ac..ac74c23ee09 100644
--- a/backends/platform/libretro/Makefile
+++ b/backends/platform/libretro/Makefile
@@ -258,7 +258,7 @@ else ifeq ($(platform), gcw0)
AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar cru
RANLIB = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ranlib
DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float -fPIC
- DEFINES += -DPRId64 #Workaround to avoid compilation error in retro_common_api.h. Root cause to be investigated.
+ DEFINES += -DPRId64=\"lld\" -DPRIu64=\"llu\"
DEFINES += -ffunction-sections -fdata-sections -DDEFAULT_PERF_TUNER
LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fPIC
CFLAGS += -std=gnu99
@@ -271,6 +271,7 @@ else ifeq ($(platform), gcw0)
USE_CURL = 0
USE_MT32EMU = 0
USE_HIGHRES := 0
+ USE_IMGUI := 0
# MIYOO
else ifeq ($(platform), miyoo)
More information about the Scummvm-git-logs
mailing list