Description
Update: now that adding support for Windows on Arm64 is under way for various Eclipse repositories, here's the central TODO list to keep track of various tasks done and/or under way:
- support for Eclipse on Windows on Arm64 platform java-native-access/jna#1466
- add support for Windows on Arm64 to
eclipse.platform.swt
submodule- Handle validation of uxtheme.dll undocumented exported functions in ARM64 builds eclipse.platform.swt#1048
- Compile SWT natives for Windows on Arm64 (WoA). eclipse.platform.swt#1045
- Update WebView2Loader.dll to WebView2 1.0.1150.38 eclipse.platform.swt#1137
- Make requirement of o.e.swt for swt.win32.aarch64 temporarily optional eclipse.platform.swt#1158. This is temporary measure to have successful build; to be reverted later.
- [win32][arm64] Support Dark Theme on newer Windows builds eclipse.platform.swt#1172
- add support for Windows on Arm64 to
equinox
submodule- Add support for Windows on Arm64 (WoA). eclipse-equinox/equinox#559
- Migrate equinox.security.win32 to JNA to enhance CPU-arch compatibility eclipse-equinox/equinox#564
- Integrate Equinox launcher and executable natives build into the Equinox Jenkins pipeline eclipse-equinox/equinox#575
- [Build] Perform native binaries build as part of the Jenkins pipeline eclipse-equinox/equinox#603
- Remove temporary win32.aarch64 environment from exe-feature eclipse-equinox/equinox#621
- add support for Windows on Arm64 to
rt.equinox.p2
submodule - add support for Windows on Arm64 to
eclipse.platform
submodule- Add missing SWT for Windows on Arm64 (WoA) fragment eclipse.platform#1311
- Auto-refresh fragment for Windows on Arm64 (WoA) platform. eclipse.platform#1350
- Native file info fragment for Windows on Arm64 (WoA) platform. eclipse.platform#1351
- Migrate the Windows native file-system refresh monitor to JNA eclipse.platform#1394
- add support for Windows on Arm64 to
eclipse.platform.ui
submodule - add support for Windows on Arm64 to
eclipse.platform.releng.aggregator
- Adapt to equinox.security.win32 renaming and adjust arch requirements #1942
- The SDK4Mvn.aggr needs a win32/win32/aarch64 configuration #1953
- Add win32.aarch64 environment to eclipse-platform-parent and publish win32.aarch64 artifacts #1917
- [I-Build] Copy built products for Windows on Arm to publication area #2017
- Add N&N for support of Windows on ARM www.eclipse.org-eclipse#169
- Packages for Windows on ARM eclipse-packaging/packages#162
I'm trying to build the Eclipse SDKs for Windows 11 on Arm64 (WoA), using this repo. I hope this is the right repo to start with, which is the umbrella repo for all others.
The environment triplet I use for it is win32/win32/aarch64
, following the existing win32/win32/x86_64
triplet as a guide.
After re-compiling many *.exe and *.dll native files for WoA in various repos (from existing C code mostly unchanged), and adding many new win32.aarch64
folders (most of them are duplicates of the existing win32.x86_64 ones), I've managed to build successfully this aggregator repo, and got the following new zip files in eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/products
(in addition to other supporting os/arch zip files there):
org.eclipse.platform.ide-win32.win32.aarch64.zip
org.eclipse.sdk.ide-win32.win32.aarch64.zip
After unzipping the org.eclipse.sdk.ide-win32.win32.aarch64.zip
file, I discover that, in its eclipse/plugins
folder, the following 6 bundles are missing:
org.eclipse.core.filesystem.win32.aarch64_<version>.jar
org.eclipse.core.net.win32.aarch64.source_<version>.jar
org.eclipse.core.net.win32.aarch64_<version>.jar
org.eclipse.core.resources.win32.aarch64_<version>.jar
org.eclipse.equinox.security.win32.aarch64.source_<version>.jar
org.eclipse.equinox.security.win32.aarch64_<version>.jar
When compared to the org.eclipse.sdk.ide-win32.win32.x86_64.zip
distribution, those bundles (of relevant x86_64
arch) do exist there. So somehow they got missing from the final zip file for aarch64
during the build.
The missing bundles are crucial for the Eclipse SDK to properly start up, but I have no idea how they got missed out from the build artifacts. I think I must have skipped over some crucial file(s) somewhere which produced this missing result.
Is there a file somewhere in the repo to indicate which bundles to be included (in the plugins
folder of the zip file) for each SDK?
PS. The missing bundles are actually produced in their own Maven modules during the build, in the eclipse.platform
& equinox
submodules. Once I manually add 4 of them (the other 2 are source bundles) to the plugins
folder, and also add their missing entries to the configuration\org.eclipse.equinox.simpleconfigurator\bundles.info
file, starting it up with eclipse.exe
works nicely!
PPS. Especially and crucially for WoA, eclipse.exe
can only start up after I add the -Dorg.osgi.framework.os.name=win32,win
entry to the eclipse.ini
file, to help it resolve the critical com.sun.jna
bundle at runtime.