Cygwin est un ensemble de logiciels de développement GNU pour écrire des applications pouvant être portées facilement sur Unix. Il contient une couche d'émulation UNIX qui permet d'accéder aux utilitaires standard pouvant être utilisés à partir du shell bash fourni ou via l'invite de commande Windows. La version de développement inclut binutils, bison, byacc, dejagnu, diff, expect, flex, gas, gcc, gdb, itcl, ld, libstdc++, make, patch, tcl, tix, tk, etc.