x86_64-pc-cygwin

Tier: 3

Windows targets supporting Cygwin. The *-cygwin targets are not intended as native target for applications, a developer writing Windows applications should use the *-pc-windows-* targets instead, which are native Windows.

Cygwin is only intended as an emulation layer for Unix-only programs which do not support the native Windows targets.

Target maintainers

Requirements

This target is cross compiled. It needs x86_64-pc-cygwin-gcc as linker.

The target_os of the target is cygwin, and it is unix.

Building the target

For cross-compilation you want LLVM with llvm/llvm-project#121439 (merged) applied to fix the LLVM codegen on importing external global variables from DLLs. No native builds on Cygwin now. It should be possible theoretically though, but might need a lot of patches.

Building Rust programs

Rust does not yet ship pre-compiled artifacts for this target. To compile for this target, you will either need to build Rust with the target enabled (see "Building the target" above), or build your own copy of core by using build-std or similar.

Testing

Created binaries work fine on Windows with Cygwin.

Cross-compilation toolchains and C code

Compatible C code can be built with GCC shipped with Cygwin. Clang is untested.