[Scummvm-git-logs] scummvm master -> 0f5dd7cd99587f8f3442e615bf948851743b6710

criezy noreply at scummvm.org
Thu Jun 2 18:19:09 UTC 2022


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
1a9d251a68 MACOS: Don't run codesign on the bundle when running on Leopard or below
402fba49a8 BUILD: Work around limited sed -i'' on older macOS
3d82857b79 MACOS: Drop PowerPC static builds workarounds, and suggest dynamic plugins
4c90e20b8d BUILD: Reject GNU Make 3.80 and older
0f5dd7cd99 MACOS: Drop macOS 10.2-10.3 CoreAudio support


Commit: 1a9d251a684cb8d6748caa7c97717ebbaa3e7b7c
    https://github.com/scummvm/scummvm/commit/1a9d251a684cb8d6748caa7c97717ebbaa3e7b7c
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-02T19:17:19+01:00

Commit Message:
MACOS: Don't run codesign on the bundle when running on Leopard or below

codesign didn't exist on Tiger, and didn't have a --deep option on
Leopard.

Moreover, it was rarely used on these older systems, and previous
releases of ScummVM on Mac PowerPC weren't signed either.

Changed paths:
    configure
    ports.mk


diff --git a/configure b/configure
index 4c602d6a1a6..facacd5ae58 100755
--- a/configure
+++ b/configure
@@ -2806,9 +2806,9 @@ EOF
 
 		# Version-specific quirks
 		if test -n "$_macos_min_version" ; then
-			# When building for MacOS X 10.5 or below we need to use the legacy icon
+			# When building for MacOS X 10.5 or below
 			if test "$_macos_min_version" -lt 1060 ; then
-				add_line_to_config_mk 'MACOSX_USE_LEGACY_ICONS = 1'
+				add_line_to_config_mk 'MACOSX_LEOPARD_OR_BELOW = 1'
 			fi
 
 			# When building with SDK 10.14 or above, we cannot compile the 32 bits dock plugin
diff --git a/ports.mk b/ports.mk
index 945c761e5a9..0b13c78445c 100644
--- a/ports.mk
+++ b/ports.mk
@@ -128,7 +128,7 @@ ifdef USE_SPARKLE
 	rm -rf $(bundle_name)/Contents/Frameworks/Sparkle.framework
 	cp -RP $(SPARKLEPATH)/Sparkle.framework $(bundle_name)/Contents/Frameworks/
 endif
-ifdef MACOSX_USE_LEGACY_ICONS
+ifdef MACOSX_LEOPARD_OR_BELOW
 	cp $(srcdir)/icons/scummvm_legacy.icns $(bundle_name)/Contents/Resources/scummvm.icns
 else
 	cp $(srcdir)/icons/scummvm.icns $(bundle_name)/Contents/Resources/scummvm.icns
@@ -172,7 +172,9 @@ ifdef USE_DOCKTILEPLUGIN
 	mkdir -p $(bundle_name)/Contents/PlugIns
 	cp -r scummvm.docktileplugin $(bundle_name)/Contents/PlugIns/
 endif
+ifndef MACOSX_LEOPARD_OR_BELOW
 	codesign -s - --deep --force $(bundle_name)
+endif
 
 ifdef USE_DOCKTILEPLUGIN
 bundle: scummvm-static plugins scummvm.docktileplugin bundle-pack


Commit: 402fba49a80968fc7395e0c9058c184486304786
    https://github.com/scummvm/scummvm/commit/402fba49a80968fc7395e0c9058c184486304786
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-02T19:17:19+01:00

Commit Message:
BUILD: Work around limited sed -i'' on older macOS

On older macOS releases, this would leave `-e` suffixed files, and
there is no easy way to have a portable sed -i'' syntax.

Just force a creating a suffixed backup and immediately delete it.

Changed paths:
    ports.mk


diff --git a/ports.mk b/ports.mk
index 0b13c78445c..3f1bd8c310c 100644
--- a/ports.mk
+++ b/ports.mk
@@ -150,10 +150,11 @@ ifneq ($(DIST_FILES_SHADERS),)
 endif
 	$(srcdir)/devtools/credits.pl --rtf > $(bundle_name)/Contents/Resources/AUTHORS.rtf
 	rm $(bundle_name)/Contents/Resources/AUTHORS
-	@sed -i'' -e "s/AUTHORS/AUTHORS.rtf/g" $(bundle_name)/Contents/Resources/README.md
+	@sed -i'.sed-orig' -e "s/AUTHORS/AUTHORS.rtf/g" $(bundle_name)/Contents/Resources/README.md
 ifdef USE_PANDOC
-	@sed -i'' -e "s|href=\"AUTHORS\"|href=\"https://www.scummvm.org/credits/\"|g" $(bundle_name)/Contents/Resources/README$(PANDOCEXT)
+	@sed -i'.sed-orig' -e "s|href=\"AUTHORS\"|href=\"https://www.scummvm.org/credits/\"|g" $(bundle_name)/Contents/Resources/README$(PANDOCEXT)
 endif
+	@rm $(bundle_name)/Contents/Resources/*.sed-orig
 	cp $(bundle_name)/Contents/Resources/COPYING.LGPL $(bundle_name)/Contents/Resources/COPYING-LGPL
 	cp $(bundle_name)/Contents/Resources/COPYING.FREEFONT $(bundle_name)/Contents/Resources/COPYING-FREEFONT
 	cp $(bundle_name)/Contents/Resources/COPYING.OFL $(bundle_name)/Contents/Resources/COPYING-OFL


Commit: 3d82857b79d301f784bd2896112616a765521193
    https://github.com/scummvm/scummvm/commit/3d82857b79d301f784bd2896112616a765521193
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-02T19:17:19+01:00

Commit Message:
MACOS: Drop PowerPC static builds workarounds, and suggest dynamic plugins

-mlongcall -Os would work until ScummVM 2.2.0, but now the engines are
too big to fit in a single static binary on Mac PowerPC.

(On ELF platforms, some flags like -Wl,--relax or -Wl,--gc-sections
can be used as well, but macOS uses Mach-O, and its old linker doesn't
have as many workarounds.  -Wl,-dead_strip helped a bit but that's not
enough and you start hitting ld internal errors.)

So, recommend dynamic plugins on Mac PPC, now, and drop -Os -mlongcall
since working around the linker limits is not possible anymore.  Using
compiler defaults probably means less bugs when using such an obscure
toolchain, anyway.

(Making a static release it still possible, but only with a very small
set of engines.)

Changed paths:
    configure


diff --git a/configure b/configure
index facacd5ae58..ac2706b819a 100755
--- a/configure
+++ b/configure
@@ -2655,17 +2655,11 @@ case $_host_os in
 		exit 1
 		;;
 	darwin*)
-		# Pass -mlongcall to gcc so that it emits long calls
-		# which will allow for calls larger than 32MB. The linker
-		# will discard the calls if they are not needed, but we
-		# need to ensure the compiler emits them in the first place.
-		# Also the executable has grown to a size where using -Os is necessary to avoid a
-		# 'virtual memory exhausted' error when running the executable.
 		case $_host_cpu in
 		powerpc*)
-			append_var CFLAGS "-mlongcall"
-			append_var CXXFLAGS "-mlongcall"
-			_optimization_level=-Os
+			if test "$_dynamic_modules" = no ; then
+				echo "WARNING: Building static engines will probably fail at link time on Mac PowerPC"
+			fi
 			;;
 		esac
 


Commit: 4c90e20b8d81d260c9e54176ce929c3c96a041db
    https://github.com/scummvm/scummvm/commit/4c90e20b8d81d260c9e54176ce929c3c96a041db
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-02T19:17:19+01:00

Commit Message:
BUILD: Reject GNU Make 3.80 and older

GNU Make 3.80 is the default version on macOS Tiger, and it shouldn't be
used because it has various parsing problems and bugs.

The .FEATURES variable was added in GNU Make 3.81, and that's the
easiest and most reliable way of detecting this version.

We know that GNU Make 3.81 is OK since that's still what Apple ships
by default on modern macOS (because of GPLv3).

Changed paths:
    Makefile


diff --git a/Makefile b/Makefile
index 2f29cd6c1d6..a6d83e7d3e8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,8 @@
+# GNU Make 3.80 and older have bugs that cause parsing issues.
+# Make sure we have at least version 3.81.
+ifndef .FEATURES
+$(error GNU Make 3.81 or higher is required)
+endif
 
 #######################################################################
 # Default compilation parameters. Normally don't edit these           #


Commit: 0f5dd7cd99587f8f3442e615bf948851743b6710
    https://github.com/scummvm/scummvm/commit/0f5dd7cd99587f8f3442e615bf948851743b6710
Author: Donovan Watteau (contrib at dwatteau.fr)
Date: 2022-06-02T19:17:19+01:00

Commit Message:
MACOS: Drop macOS 10.2-10.3 CoreAudio support

There's still code for macOS 10.4 in the codebase, but everything before
that has probably been KO for years.  And no C++11 toolchain exists for
macOS < 10.4 either.

Changed paths:
    backends/midi/coreaudio.cpp


diff --git a/backends/midi/coreaudio.cpp b/backends/midi/coreaudio.cpp
index 0ee3dff4c17..13a51dd9c0c 100644
--- a/backends/midi/coreaudio.cpp
+++ b/backends/midi/coreaudio.cpp
@@ -209,40 +209,13 @@ void MidiDriver_CORE::loadSoundFont(const char *soundfont) {
 	FSRef fsref;
 	err = FSPathMakeRef((const byte *)soundfont, &fsref, NULL);
 
-	SInt32 version;
-	err = Gestalt(gestaltSystemVersion, &version);
-
 	if (err == noErr) {
-		if (version >= 0x1030) {
-			// Use kMusicDeviceProperty_SoundBankFSRef in >= 10.3
-
-			// HACK HACK HACK HACK SUPER HACK: Using the value of 1012 instead of
-			// kMusicDeviceProperty_SoundBankFSRef so this compiles with the 10.2
-			// SDK (which does not have that symbol).
-			if (err == noErr) {
-				err = AudioUnitSetProperty(
-					_synth,
-					/*kMusicDeviceProperty_SoundBankFSRef*/ 1012, kAudioUnitScope_Global,
-					0,
-					&fsref, sizeof(fsref)
-				);
-			}
-		} else {
-			// In 10.2, only kMusicDeviceProperty_SoundBankFSSpec is available
-			FSSpec fsSpec;
-
-			if (err == noErr)
-				err = FSGetCatalogInfo(&fsref, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL);
-
-			if (err == noErr) {
-				err = AudioUnitSetProperty(
-					_synth,
-					kMusicDeviceProperty_SoundBankFSSpec, kAudioUnitScope_Global,
-					0,
-					&fsSpec, sizeof(fsSpec)
-				);
-			}
-		}
+		err = AudioUnitSetProperty(
+			_synth,
+			kMusicDeviceProperty_SoundBankFSRef, kAudioUnitScope_Global,
+			0,
+			&fsref, sizeof(fsref)
+		);
 	}
 #else
 	// kMusicDeviceProperty_SoundBankURL was added in 10.5 as a replacement




More information about the Scummvm-git-logs mailing list