From b69bdb3f3cbfed675a66328704f57f5ecc08f5f3 Mon Sep 17 00:00:00 2001 From: Dennis Ameling Date: Tue, 4 Oct 2022 09:59:32 +0200 Subject: [PATCH 1/2] config.mak.uname: add support for clangarm64 CLANGARM64 is a relatively new MSYSTEM added by the MSYS2 team. In order to have Git build correctly for this platform, let's add some configuration for it to config.mak.uname. Signed-off-by: Dennis Ameling --- config.mak.uname | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config.mak.uname b/config.mak.uname index dacc95172d..7c4cd6701a 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -712,6 +712,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 From 0c8bf6509de7f84f92c1204ed7997b42894c42f7 Mon Sep 17 00:00:00 2001 From: Dennis Ameling Date: Tue, 4 Oct 2022 10:09:10 +0200 Subject: [PATCH 2/2] ci: create clangarm64-build.yml No GitHub-hosted ARM64 runners are available at the moment of writing, but folks can leverage self-hosted runners of this architecture. This CI pipeline comes in handy for forks of the git-for-windows/git project that have such runners available. The pipeline can be kicked off manually through a workflow_dispatch. Signed-off-by: Dennis Ameling --- .github/workflows/clangarm64-build.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/clangarm64-build.yml diff --git a/.github/workflows/clangarm64-build.yml b/.github/workflows/clangarm64-build.yml new file mode 100644 index 0000000000..79d1c7589d --- /dev/null +++ b/.github/workflows/clangarm64-build.yml @@ -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@v4 + - 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`