diff --git a/libraries/source/premake-core/build.sh b/libraries/source/premake-core/build.sh index 61d4b6b2c0..be5971bd21 100755 --- a/libraries/source/premake-core/build.sh +++ b/libraries/source/premake-core/build.sh @@ -8,7 +8,7 @@ set -e cd "$(dirname "$0")" PV=5.0.0-beta3 -LIB_VERSION=${PV}+wfg0 +LIB_VERSION=${PV}+wfg1 echo "Building Premake..." while [ "$#" -gt 0 ]; do @@ -37,9 +37,17 @@ fi rm -Rf "premake-core-${PV}" tar -xf "premake-core-${PV}.tar.gz" -#patch +# patch +# ffcb7790f013bdceacc14ba5fda1c5cd107aac08 patch -d "premake-core-${PV}" -p1 +Date: Thu, 5 Dec 2024 23:52:42 +0800 +Subject: [PATCH] Add support for riscv64 (#2356) + +* Add support for riscv64 +* Make error message clear when architecture is unknown +--- + src/_premake_init.lua | 1 + + src/base/_foundation.lua | 1 + + src/host/premake.h | 4 ++++ + website/docs/architecture.md | 1 + + 4 files changed, 7 insertions(+) + +diff --git a/src/_premake_init.lua b/src/_premake_init.lua +index ca901ffc..184f0c43 100644 +--- a/src/_premake_init.lua ++++ b/src/_premake_init.lua +@@ -28,6 +28,7 @@ + p.X86_64, + p.ARM, + p.ARM64, ++ p.RISCV64, + }, + aliases = { + i386 = p.X86, +diff --git a/src/base/_foundation.lua b/src/base/_foundation.lua +index 0c19a861..411eb536 100644 +--- a/src/base/_foundation.lua ++++ b/src/base/_foundation.lua +@@ -61,6 +61,7 @@ + premake.X86_64 = "x86_64" + premake.ARM = "ARM" + premake.ARM64 = "ARM64" ++ premake.RISCV64 = "RISCV64" + + + +diff --git a/src/host/premake.h b/src/host/premake.h +index 9bf20380..788f8a38 100644 +--- a/src/host/premake.h ++++ b/src/host/premake.h +@@ -60,6 +60,10 @@ + #elif defined(__arm__) || defined(__thumb__) || defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \ + defined(__ARM) || defined(_M_ARM) || defined(_M_ARM_T) || defined(__ARM_ARCH) + #define PLATFORM_ARCHITECTURE "ARM" ++#elif defined(_M_RISCV64) || (defined(__riscv) && __riscv_xlen == 64) ++#define PLATFORM_ARCHITECTURE "RISCV64" ++#elif !defined(RC_INVOKED) ++#error Unknown architecture detected + #endif + + /* Pull in platform-specific headers required by built-in functions */ +diff --git a/website/docs/architecture.md b/website/docs/architecture.md +index fb530453..0dbe352e 100644 +--- a/website/docs/architecture.md ++++ b/website/docs/architecture.md +@@ -13,6 +13,7 @@ architecture ("value") + * `x86_64` + * `ARM` + * `ARM64` ++* `RISCV64` + * `armv5`: Only supported in VSAndroid projects + * `armv7`: Only supported in VSAndroid projects + * `aarch64`: Only supported in VSAndroid projects +-- +2.45.2 + diff --git a/libraries/source/premake-core/patches/0004-Add-support-for-loongarch64-2363.patch b/libraries/source/premake-core/patches/0004-Add-support-for-loongarch64-2363.patch new file mode 100644 index 0000000000..72c41edf5d --- /dev/null +++ b/libraries/source/premake-core/patches/0004-Add-support-for-loongarch64-2363.patch @@ -0,0 +1,64 @@ +From 64a8e8ae350a734b2b8512c4bcbba6e56a8e814e Mon Sep 17 00:00:00 2001 +From: Leo <114008189+Leoforever123@users.noreply.github.com> +Date: Sat, 7 Dec 2024 11:21:24 +0800 +Subject: [PATCH] Add support for loongarch64 (#2363) + +--- + src/_premake_init.lua | 1 + + src/base/_foundation.lua | 1 + + src/host/premake.h | 2 ++ + website/docs/architecture.md | 1 + + 4 files changed, 5 insertions(+) + +diff --git a/src/_premake_init.lua b/src/_premake_init.lua +index 184f0c43..d40558df 100644 +--- a/src/_premake_init.lua ++++ b/src/_premake_init.lua +@@ -29,6 +29,7 @@ + p.ARM, + p.ARM64, + p.RISCV64, ++ p.LOONGARCH64 + }, + aliases = { + i386 = p.X86, +diff --git a/src/base/_foundation.lua b/src/base/_foundation.lua +index 411eb536..4581d2c0 100644 +--- a/src/base/_foundation.lua ++++ b/src/base/_foundation.lua +@@ -62,6 +62,7 @@ + premake.ARM = "ARM" + premake.ARM64 = "ARM64" + premake.RISCV64 = "RISCV64" ++ premake.LOONGARCH64 = "loongarch64" + + + +diff --git a/src/host/premake.h b/src/host/premake.h +index 788f8a38..4e15b863 100644 +--- a/src/host/premake.h ++++ b/src/host/premake.h +@@ -62,6 +62,8 @@ + #define PLATFORM_ARCHITECTURE "ARM" + #elif defined(_M_RISCV64) || (defined(__riscv) && __riscv_xlen == 64) + #define PLATFORM_ARCHITECTURE "RISCV64" ++#elif (defined(__loongarch__) && __loongarch_grlen == 64) || defined(__loongarch64) ++#define PLATFORM_ARCHITECTURE "loongarch64" + #elif !defined(RC_INVOKED) + #error Unknown architecture detected + #endif +diff --git a/website/docs/architecture.md b/website/docs/architecture.md +index 0dbe352e..e7f4283f 100644 +--- a/website/docs/architecture.md ++++ b/website/docs/architecture.md +@@ -14,6 +14,7 @@ architecture ("value") + * `ARM` + * `ARM64` + * `RISCV64` ++* `loongarch64` + * `armv5`: Only supported in VSAndroid projects + * `armv7`: Only supported in VSAndroid projects + * `aarch64`: Only supported in VSAndroid projects +-- +2.45.2 + diff --git a/libraries/source/premake-core/patches/0005-premake.h-added-e2k-definition-2349.patch b/libraries/source/premake-core/patches/0005-premake.h-added-e2k-definition-2349.patch new file mode 100644 index 0000000000..d12e13275e --- /dev/null +++ b/libraries/source/premake-core/patches/0005-premake.h-added-e2k-definition-2349.patch @@ -0,0 +1,25 @@ +From a4fa1da72cc969bb85e575be25acd5aaef2edc49 Mon Sep 17 00:00:00 2001 +From: r-a-sattarov <51679282+r-a-sattarov@users.noreply.github.com> +Date: Sun, 8 Dec 2024 22:39:47 +0300 +Subject: [PATCH] premake.h - added e2k definition (#2349) + +--- + src/host/premake.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/host/premake.h b/src/host/premake.h +index 4e15b863..25ccf33a 100644 +--- a/src/host/premake.h ++++ b/src/host/premake.h +@@ -64,6 +64,8 @@ + #define PLATFORM_ARCHITECTURE "RISCV64" + #elif (defined(__loongarch__) && __loongarch_grlen == 64) || defined(__loongarch64) + #define PLATFORM_ARCHITECTURE "loongarch64" ++#elif defined(__e2k__) ++#define PLATFORM_ARCHITECTURE "e2k" + #elif !defined(RC_INVOKED) + #error Unknown architecture detected + #endif +-- +2.45.2 +