Add support for CLANGARM64 target (#3916)

**This requires an ARM64-machine with Windows 11 installed (which
supports x64 emulation for MSYS2)**

### The main idea

- Use the main MSYS2/git-sdk-64 setup, which works on Windows 11 on ARM
thanks to x64-emulation
- Configure the official `clangarm64` MSYS2 repo
- Install `mingw-w64-clang-aarch64-toolchain` which contains the
ARM64-native Clang compiler
This commit is contained in:
Johannes Schindelin 2022-10-28 17:48:47 +02:00 коммит произвёл Matthew John Cheetham
Родитель 25c68906b7 66cb5e4507
Коммит 8e7b5908df
2 изменённых файлов: 29 добавлений и 0 удалений

25
.github/workflows/clangarm64-build.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,25 @@
name: CLANG build ARM64
on:
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
clang-build:
runs-on: [Windows, ARM64]
env:
NO_PERL: 1
steps:
- uses: actions/checkout@v3
- uses: git-for-windows/setup-git-for-windows-sdk@v1
with:
flavor: makepkg-git
architecture: aarch64
# This assumes that the job is running on a self-hosted runner,
# in which case we need to cleanup SDK files.
cleanup: true
- name: Build Git CLANGARM64
run: make -j`nproc`

Просмотреть файл

@ -701,6 +701,10 @@ ifeq ($(uname_S),MINGW)
prefix = /mingw64
HOST_CPU = x86_64
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
else ifeq (CLANGARM64,$(MSYSTEM))
prefix = /clangarm64
HOST_CPU = aarch64
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
else
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
BASIC_LDFLAGS += -Wl,--large-address-aware