From 1901466d0d4a2afb9d45ba940c45614887d0a97c Mon Sep 17 00:00:00 2001 From: "Yevhen Babiichuk (DustDFG)" Date: Mon, 11 Nov 2024 08:05:02 +0200 Subject: [PATCH] Buildsystem: Unify compatibility aliases Signed-off-by: Yevhen Babiichuk (DustDFG) --- SConstruct | 29 +++++++++-------------------- platform_methods.py | 7 +++++++ 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/SConstruct b/SConstruct index ee34d421e07..698032ba9ea 100644 --- a/SConstruct +++ b/SConstruct @@ -59,7 +59,7 @@ import glsl_builders import methods import scu_builders from methods import print_error, print_warning -from platform_methods import architecture_aliases, architectures +from platform_methods import architecture_aliases, architectures, compatibility_platform_aliases if ARGUMENTS.get("target", "editor") == "editor": _helper_module("editor.editor_builders", "editor/editor_builders.py") @@ -350,28 +350,17 @@ if env["platform"] == "": if env["platform"] != "": print(f'Automatically detected platform: {env["platform"]}') -if env["platform"] == "osx": - # Deprecated alias kept for compatibility. - print_warning('Platform "osx" has been renamed to "macos" in Godot 4. Building for platform "macos".') - env["platform"] = "macos" +# Deprecated aliases kept for compatibility. +if env["platform"] in compatibility_platform_aliases: + alias = env["platform"] + platform = compatibility_platform_aliases[alias] + print_warning(f'Platform "{alias}" has been renamed to "{platform}" in Godot 4. Building for platform "{platform}".') + env["platform"] = platform -if env["platform"] == "iphone": - # Deprecated alias kept for compatibility. - print_warning('Platform "iphone" has been renamed to "ios" in Godot 4. Building for platform "ios".') - env["platform"] = "ios" - -if env["platform"] in ["linux", "bsd", "x11"]: - if env["platform"] == "x11": - # Deprecated alias kept for compatibility. - print_warning('Platform "x11" has been renamed to "linuxbsd" in Godot 4. Building for platform "linuxbsd".') - # Alias for convenience. +# Alias for convenience. +if env["platform"] in ["linux", "bsd"]: env["platform"] = "linuxbsd" -if env["platform"] == "javascript": - # Deprecated alias kept for compatibility. - print_warning('Platform "javascript" has been renamed to "web" in Godot 4. Building for platform "web".') - env["platform"] = "web" - if env["platform"] not in platform_list: text = "The following platforms are available:\n\t{}\n".format("\n\t".join(platform_list)) text += "Please run SCons again and select a valid platform: platform=." diff --git a/platform_methods.py b/platform_methods.py index 2c4eb0d1dd3..201df3c0b54 100644 --- a/platform_methods.py +++ b/platform_methods.py @@ -8,6 +8,13 @@ import methods # NOTE: The multiprocessing module is not compatible with SCons due to conflict on cPickle +compatibility_platform_aliases = { + "osx": "macos", + "iphone": "ios", + "x11": "linuxbsd", + "javascript": "web", +} + # CPU architecture options. architectures = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc32", "ppc64", "wasm32"] architecture_aliases = {