This adds the org.eclipse.swt.win32.aarch64 fragment and contains
changes to the build.bat file, to support compiling the SWT natives for
the Windows on Arm64 (WoA) platform.
On a WoA box, run the following commands to produce the
SWT natives (swt*.dll) for WoA:
cd binaries\org.eclipse.swt.win32.win32.aarch64
mvn clean process-resources -Dnative=win32.win32.aarch64
and the swt*.dll files for WoA will be created in the current directory.
Cross-compiling between the x64 and Arm64 platforms, where either of
them can be host or target, is also possible, after setting up the
TARGET_ARCH environment variable with correct target architecture value,
and with the SWT_JAVA_HOME property pointing to an available JDK of
the target architecture.
For example, to cross-compile on an x64 host and produce SWT natives for
Arm64 target, run the following commands:
set TARGET_ARCH=arm64
cd binaries\org.eclipse.swt.win32.win32.aarch64
mvn clean process-resources -Dnative=win32.win32.aarch64
-DSWT_JAVA_HOME=\path\to\arm64_jdk
and the swt*.dll files for WoA will be created in the current directory.
Note the above SWT_JAVA_HOME property in the command line which points
to an available Arm64 JDK of the target architecture.
Similarly, to cross-compile on an Arm64 host and produce SWT natives for
x64 target, run the following commands:
set TARGET_ARCH=x64
cd binaries\org.eclipse.swt.win32.win32.x86_64
mvn clean process-resources -Dnative=win32.win32.x86_64
-DSWT_JAVA_HOME=\path\to\x64_jdk
and the swt*.dll files for x64 will be created in the current directory.
Note that for cross-compiling between x64 and Arm64 to work, install the
MSVC compiler version 2022, with mandatory build tools for both
platforms included in the installation.
Once the SWT natives for Arm64 are generated, the SWT binaries module's
files can be produced with the following build commands in current
directory:
mvn clean verify -DskipTests=true
and the module's jar/zip files will be produced in the target directory:
org.eclipse.swt.win32.win32.aarch64-<version>.jar
org.eclipse.swt.win32.win32.aarch64-<version>-sources.jar
swt-<version>-win32-win32-aarch64.zip
Also add the WebView2Loader.dll version 1.0.1150.38 (matching the
swt.win32.x86_64 fragment), obtained from the NuGet package
microsoft.web.webview2
https://nuget.info/packages/Microsoft.Web.WebView2/1.0.1150.38
located in the sub-folder build/native/arm64