https://github.com/bmatzelle/gow/wiki - alternative
http://unxutils.sourceforge.net/
http://technet.microsoft.com/hi-in/interopmigration/bb380242%28en-us%29.aspx
http://gnuwin32.sourceforge.net/
http://sourceforge.net/projects/gnuwin32/
http://getgnuwin32.sourceforge.net/
UWIN
http://msys2.sourceforge.net/
http://www.hanselman.com/blog/MakingABetterSomewhatPrettierButDefinitelyMoreFunctionalWindowsCommandLine.aspx
http://www.mingw.org/wiki/MSYS
http://alternativeto.net/software/microsoft-windows-sdk/
http://alternativeto.net/software/unxutils/
http://alternativeto.net/software/speedlinux/
https://news.ycombinator.com/item?id=8577359
http://devtidbits.com/2011/07/01/cygwin-walkthrough-and-beginners-guide-is-it-linux-for-windows-or-a-posix-compatible-alternative-to-powershell/
http://serverfault.com/questions/83456/cygwin-package-management
https://www.youtube.com/watch?v=uTeH7vm8JZU
http://www.cs.rpi.edu/~magdon/courses/cs1/labs/lab1/cygwin.pdf
https://cygwin.com/cygwin-ug-net/using-effectively.html
http://www.howtogeek.com/howto/41382/how-to-use-linux-commands-in-windows-with-cygwin/ - done reading
http://x.cygwin.com/docs/ug/cygwin-x-ug.pdf
http://www.wikihow.com/Use-Cygwin
http://lifehacker.com/179514/geek-to-live--introduction-to-cygwin-part-i - done reading
https://cygwin.com/cygwin-ug-net/cygwin-ug-net.pdf
https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html
https://developer.mozilla.org/en-US/docs/Windows_build_prerequisites_using_cygwin
http://www.nongnu.org/cygbuild/manual/index.html
http://cs.calvin.edu/curriculum/cs/112/resources/installingEclipse/cygwin/
http://w3.pppl.gov/~bdavis/swdoc/LinkingTips.txt - compiling
What is Cygwin?
Cygwin is a set of libraries and tools that allow us to re-compile Linux software so that they can be run on Windows.
How can we install Cygwin?
- Download the installer
- Run the installer
- Add Cygwin path to the Windows Environment Variable:
- Click on the Start menu
- Right click on Computer
- Select "Properties"
- Click on "Advanced system settings"
- Click on "Environment Variables"
- In the system variables section, locate the path variable and click edit, and append ;C:\Cygwin\bin
- Click OK a couple of times.
How can we use Cygwin?
Once installed, you can launch the Cygwin shell, which is basically a terminal window, or a command prompt for executing Unix commands. You can launch the Cygwin shell from the Windows Start menu. The Cygwin shell starts in the C:\Cygwin\home\<user> folder, but when you do a pwd, it display /home/<user>. This is your Unix home directory.
If you need to use a Cygwin program to read or write a file located outside of c:\cygwin, you can use a pathname beginning with /cygdrive/c/ for this purpose. If you have a Windows d: drive, use /cygdrive/d/ in the same way to access its contents from Cygwin programs.
Both pwd and ls work in the normal Windows command prompt. You can also see that /cygdrive/c is automatically added to the location.
For example, to determine the MD5 checksum of a file:
md5sum /cygdrive/c/Khai/mysql-5.6.28-winx64.zip
How can we determine the version of Cygwin?
cygcheck -V
uname -a
How can we determine if the Cygwin that we have is 64-bit or 32-bit?
uname -a
If we are using 64-bit, we'll see x86_64, otherwise, we are using 32-bit.
How can we install a package manager?
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
How can we install additional packages?
apt-cyg install libtirpc-devel
How can we install all the packages that are required for compiling software?
I wish that someone can provide me with a apt-cyg command that would download and install all the packages that are typically needed for compiling software. Maybe someday I will create such command myself.
apt-cyg install wget
apt-cyg install clang binutils bison make cmake flex clang-analyzer ccache libtool perl pcre libpcre-devel zlib readline pkg-config libiconv libiconv-devel gcc-core gcc-g++ gcc-objc gcc-objc++ autoconf autogen automake diffutils sharutils gccmakedep libapr1 libapr1-devel libaprutil1 libaprutil1-devel autobuild libclang libclang-devel libclang-devel-static
How can we compile Linux / Unix software on Cygwin?
Use the standard compilation:
./configure
make
make install
Check with the software documentation for detail on various options that we need to specify for the ./configure command.