This is an automated email from the ASF dual-hosted git repository. leginee pushed a commit to branch win10-msvc-trunk in repository https://gitbox.apache.org/repos/asf/openoffice.git
commit 7d7814c5569b01d1db49f7eb429e15c54a52ee04 Author: Peter Kovacs <[email protected]> AuthorDate: Wed Aug 26 23:20:05 2026 +0200 desktop: an x64 build advertises windows_x86_64, so accept it as a platform isValidPlatform() answers false for any token it does not recognise, and windows_x86_64 was never added -- the Windows entry stops at windows_x86. On a 64-bit Windows build $_OS/$_ARCH expand to Windows/X86_64, so no native extension could ever match: an x86 .oxt is rejected (correctly), and one rebuilt for x64 is rejected too, because there is no token that describes it. Only platform-independent extensions could be installed. Our own bundled extensions already stamp the right string -- solenv/inc/settings.mk builds PLATFORMID as $(RTL_OS:l)_$(RTL_ARCH:l), which is windows_x86_64 here, and extension_post.mk substitutes it into description.xml -- so the two sides simply disagreed, and the office side was the one that was wrong. Mirrors the linux_x86_64 case, which pairs linux_x86_64 with checkOSandCPU("Linux", "X86_64") the same way. Note that the SDK still stamps windows_x86 unconditionally (odk/settings/platform.mk, via UNOPKG_PLATFORM=Windows in settings.mk, which carries no architecture); an extension built with an x64 SDK will therefore still declare the wrong platform. That needs the SDK environment to learn about architecture and is left for separate work. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_012NFKmwTogkytKnrTBX5Lax --- main/desktop/source/deployment/misc/dp_platform.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/main/desktop/source/deployment/misc/dp_platform.cxx b/main/desktop/source/deployment/misc/dp_platform.cxx index 102112e38b..b43631d755 100644 --- a/main/desktop/source/deployment/misc/dp_platform.cxx +++ b/main/desktop/source/deployment/misc/dp_platform.cxx @@ -33,6 +33,7 @@ #define PLATFORM_ALL "all" #define PLATFORM_WIN_X86 "windows_x86" +#define PLATFORM_WIN_X86_64 "windows_x86_64" #define PLATFORM_LINUX_X86 "linux_x86" #define PLATFORM_LINUX_X86_64 "linux_x86_64" #define PLATFORM_KFREEBSD_X86 "kfreebsd_x86" @@ -127,6 +128,8 @@ namespace ret = true; else if (token.equals(OUSTR(PLATFORM_WIN_X86))) ret = checkOSandCPU(OUSTR("Windows"), OUSTR("x86")); + else if (token.equals(OUSTR(PLATFORM_WIN_X86_64))) + ret = checkOSandCPU(OUSTR("Windows"), OUSTR("X86_64")); else if (token.equals(OUSTR(PLATFORM_LINUX_X86))) ret = checkOSandCPU(OUSTR("Linux"), OUSTR("x86")); else if (token.equals(OUSTR(PLATFORM_LINUX_X86_64)))
