configure.ac                            |   14 +++++++++++++-
 solenv/gbuild/platform/WNT_ARM64_MSC.mk |   27 +++++++++++++++++++++++++++
 solenv/gbuild/platform/com_MSC_class.mk |    2 +-
 solenv/gbuild/platform/windows.mk       |    1 +
 4 files changed, 42 insertions(+), 2 deletions(-)

New commits:
commit 03ce1e85428d4a273910bf7ca758ce050e95720c
Author:     Jan-Marek Glogowski <glo...@fbihome.de>
AuthorDate: Fri Jul 17 23:17:37 2020 +0200
Commit:     Jan-Marek Glogowski <glo...@fbihome.de>
CommitDate: Wed Sep 16 23:56:21 2020 +0200

    configure + gbuild: handle Windows Arm64
    
    Change-Id: Idfc20c1234d693d6b402158b8bc782bd17cd3f4b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102850
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de>

diff --git a/configure.ac b/configure.ac
index 5acf53a3601c..be73281b3e05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3390,6 +3390,16 @@ cygwin*)
         WIN_HOST_BITS=32
         WIN_OTHER_ARCH="x64"
         ;;
+    aarch64)
+        CPUNAME=ARM64
+        RTL_ARCH=arm64
+        PLATFORMID=windows_arm64
+        WINDOWS_X64=1
+        SCPDEFS="$SCPDEFS -DWINDOWS_ARM64"
+        WIN_HOST_ARCH="arm64"
+        WIN_HOST_BITS=64
+        with_ucrt_dir=no
+        ;;
     *)
         AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
         ;;
@@ -3398,6 +3408,7 @@ cygwin*)
     case "$build_cpu" in
     x86_64) WIN_BUILD_ARCH="x64" ;;
     i*86) WIN_BUILD_ARCH="x86" ;;
+    aarch64) WIN_BUILD_ARCH="arm64" ;;
     *)
         AC_MSG_ERROR([Unsupported build_cpu $build_cpu for host_os $host_os])
         ;;
@@ -3792,7 +3803,7 @@ if test "$_os" = "WINNT"; then
             AC_MSG_RESULT([not found])
             AC_MSG_WARN([Installation set will not contain 64-bit Explorer 
extensions])
         fi
-    else
+    elif test "$WIN_HOST_ARCH" = "x64"; then
         CXX_X64_BINARY=$CXX
     fi
     AC_SUBST(BUILD_X64)
@@ -10901,6 +10912,7 @@ if test "$_os" = "WINNT"; then
     case "$WIN_HOST_ARCH" in
     x86) assembler=ml.exe ;;
     x64) assembler=ml64.exe ;;
+    arm64) assembler=armasm64.exe ;;
     esac
 
     AC_MSG_CHECKING([for the MSVC assembler ($assembler)])
diff --git a/solenv/gbuild/platform/WNT_ARM64_MSC.mk 
b/solenv/gbuild/platform/WNT_ARM64_MSC.mk
new file mode 100644
index 000000000000..67e1d5736736
--- /dev/null
+++ b/solenv/gbuild/platform/WNT_ARM64_MSC.mk
@@ -0,0 +1,27 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements. See the NOTICE file distributed
+#   with this work for additional information regarding copyright
+#   ownership. The ASF licenses this file to you under the Apache
+#   License, Version 2.0 (the "License"); you may not use this file
+#   except in compliance with the License. You may obtain a copy of
+#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+#
+
+gb_CPPU_ENV := msca
+gb_CPUDEFS := -D_ARM64_=1
+
+include $(GBUILDDIR)/platform/com_MSC_defs.mk
+
+include $(GBUILDDIR)/platform/com_MSC_class.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index c27fc0c95446..d69f7f46004d 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -189,7 +189,7 @@ cat $${RESPONSEFILE} | sed 's/ /\n/g' | grep -v '^$$' > 
$${RESPONSEFILE}.1 && \
 mv $${RESPONSEFILE}.1 $${RESPONSEFILE} &&
 endef
 
-MSC_SUBSYSTEM_VERSION=$(COMMA)6.01
+MSC_SUBSYSTEM_VERSION=$(COMMA)$(if $(filter ARM64,$(CPUNAME)),6.02,6.01)
 
 # the sort on the libraries is used to filter out duplicates to keep 
commandline
 # length in check - otherwise the dupes easily hit the limit when linking 
mergedlib
diff --git a/solenv/gbuild/platform/windows.mk 
b/solenv/gbuild/platform/windows.mk
index e30c5ad54455..14763e6dd4ea 100644
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -47,6 +47,7 @@ gb_MSBUILD_CONFIG := $(if 
$(MSVC_USE_DEBUG_RUNTIME),Debug,Release)
 gb_MSBUILD_PLATFORM := $(strip \
        $(if $(filter INTEL,$(CPUNAME)),Win32) \
        $(if $(filter X86_64,$(CPUNAME)),x64) \
+       $(if $(filter ARM64,$(CPUNAME)),ARM64) \
        )
 gb_MSBUILD_CONFIG_AND_PLATFORM := \
        /p:Configuration=$(gb_MSBUILD_CONFIG) \
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to