Cygwin

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

cygwin-x

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?

  1. Download the installer
  2. Run the installer
  3. Add Cygwin path to the Windows Environment Variable:
    1. Click on the Start menu
    2. Right click on Computer
    3. Select "Properties"
    4. Click on "Advanced system settings"
    5. Click on "Environment Variables"
    6. In the system variables section, locate the path variable and click edit, and append ;C:\Cygwin\bin
    7. 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.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License