[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