https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8b55d712a75d2da462a96…
commit 8b55d712a75d2da462a96adff4f6684c0b43e2d6
Author: Stanislav Motylkov <x86corez(a)gmail.com>
AuthorDate: Wed May 25 18:38:41 2022 +0300
Commit: Stanislav Motylkov <x86corez(a)gmail.com>
CommitDate: Wed May 25 21:10:17 2022 +0300
[GITHUB] Add MSVC ARM64 builder
This builds only some applications for now.
CORE-17518
---
.github/workflows/build.yml | 17 +++++++++++++++--
sdk/include/c++/stlport/stl/config/features.h | 2 +-
win32ss/user/user32/user32.spec | 4 ++--
3 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b45b9b1d87b..50f2c5ac91b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -141,7 +141,7 @@ jobs:
strategy:
matrix:
toolset: ['14.2', '14.1'] # VS 2019, 2017
- arch: [arm]
+ arch: [arm, arm64]
config: [Debug, Release]
fail-fast: false
runs-on: windows-latest
@@ -156,9 +156,16 @@ jobs:
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" |
Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath
$env:GITHUB_ENV -Encoding utf8 -Append
- name: Activate VS cmd (arm)
+ if: ${{ matrix.arch == 'arm' }}
uses: ilammy/msvc-dev-cmd@v1
with:
- arch: x86_arm
+ arch: amd64_arm
+ toolset: ${{matrix.toolset}}
+ - name: Activate VS cmd (arm64)
+ if: ${{ matrix.arch == 'arm64' }}
+ uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v2
@@ -167,11 +174,17 @@ jobs:
- name: Configure
run: cmake -S src -B build -G Ninja
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}}
-DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build base module
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target base/all
- name: Build control panel applets
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target dll/cpl/all
- name: Build rosapps
+ if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
+ - name: Build some applications (arm64)
+ if: ${{ matrix.arch == 'arm64' }}
+ run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr
winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v2
with:
diff --git a/sdk/include/c++/stlport/stl/config/features.h
b/sdk/include/c++/stlport/stl/config/features.h
index aacbf2904d5..3379bff5473 100644
--- a/sdk/include/c++/stlport/stl/config/features.h
+++ b/sdk/include/c++/stlport/stl/config/features.h
@@ -162,7 +162,7 @@
# if defined (_MIPSEB) || defined (__sparc) || defined (_AIX) || \
defined (__hpux) || defined (macintosh) || defined (_MAC)
# define _STLP_BIG_ENDIAN 1
-# elif defined (__i386) || defined (_M_IX86) || defined (_M_ARM) || \
+# elif defined (__i386) || defined (_M_IX86) || defined (_M_ARM) || defined (_M_ARM64)
|| \
defined (__amd64__) || defined (_M_AMD64) || defined (__x86_64__) || \
defined (__alpha__)
# define _STLP_LITTLE_ENDIAN 1
diff --git a/win32ss/user/user32/user32.spec b/win32ss/user/user32/user32.spec
index c7097cc662b..6af9bbc06b0 100644
--- a/win32ss/user/user32/user32.spec
+++ b/win32ss/user/user32/user32.spec
@@ -252,8 +252,8 @@
251 stdcall GetClassInfoExW(long wstr ptr)
252 stdcall GetClassInfoW(long wstr ptr)
253 stdcall GetClassLongA(long long)
-@ stdcall -arch=x86_64 GetClassLongPtrA(ptr long)
-@ stdcall -arch=x86_64 GetClassLongPtrW(ptr long)
+@ stdcall -arch=x86_64,arm64 GetClassLongPtrA(ptr long)
+@ stdcall -arch=x86_64,arm64 GetClassLongPtrW(ptr long)
254 stdcall GetClassLongW(long long)
255 stdcall GetClassNameA(long ptr long)
256 stdcall GetClassNameW(long ptr long)