Hello, GCC development branch includes experimental support Windows on ARM64 (WOA), which will be officially released next year with version 15, at least according to latest news. So, I compiled it and I created a number of packages for CYGWIN including binutils, gcc, mingw runtime and several libraries, not released yet to my repository. Although the "aarch64-w64-mingw32" target is still experimental, I have to say that this cross compiler worked very well, at least until now. However, some problems appear because there are some thirdy party tools not expecting to have mingw combined with something different than i686 or x86_64. For example, it is impossible to create a shared library when using libtool, more details could be found here: https://savannah.gnu.org/support/?111081 For this reason, you have to use CMake or other alternative tools instead of autotools.
Actually, another problem can happen when creating the packages for CYGWIN with CYGPORT utility. For example, I tried to build a noarch package of libpng for CYGWIN, by using the new aarch64-w64-mingw32. I have used CMake to bypass the above trouble with libtool. Unfortunately, the build process still fails because it didn't compile the sources for adding the functions with NEON acceleration. The cause of the problem is the variable CMAKE_SYSTEM_PROCESSOR that is empty. This is not a bug of CMake, because CMAKE_SYSTEM_PROCESSOR is typically set into CMAKE_TOOLCHAIN_FILE by the user when cross compiling. At the moment, I bypassed the trouble by adding "-DCMAKE_SYSTEM_PROCESSOR=aarch64" to CYGCMAKE_ARGS into my script. I gave a look into /usr/share/cygport/cygclass/cmake.cygclass and it seems to me that there is nothing for setting the CPU type. Perhaps it would be worth to add support for setting CMAKE_SYSTEM_PROCESSOR into cmake.cygclass, by checking the content of ${CTARGET}, if it exists with a known CPU. Thank you very much for your time. Sincerely, Carlo Bramini. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple