Use Cygwin to build libiconv on Windows CI #14999
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves part of #14802. This uses the official releases and build instructions.
To compile code with this PR using a Windows Crystal compiler without this PR, either the new library files (
lib\iconv.lib
,lib\iconv-dynamic.lib
,iconv-2.dll
) shall be copied to that existing Crystal installation, orCRYSTAL_LIBRARY_PATH
shall include the newlib
directory so that the@[Link]
annotation will pick up the newiconv-2.dll
on program builds. Otherwise, compiled programs will continue to look for the oldlibiconv.dll
, and silently break if it is not in%PATH%
(which is hopefully rare since most of the time Crystal itself is also in%PATH%
).Cygwin's location is currently hardcoded to
C:\cygwin64
, the default installation location for 64-bit Cygwin.Cygwin itself doesn't have native ARM64 support, but cross-compilation should be possible by simply using the x64-to-ARM64 cross tools MSVC developer prompt on an ARM64 machine.