Building wolfSSL using Windows Subsystem for Linux

Microsoft and Canonical`s new tools Windows Subsystem for Linux and Bash on Ubuntu on Windows brings a familiar bash environment based on the Ubuntu user-space to Windows 10.  This allows developers to use tools available on Linux and other Unix-like systems from within Windows.

Before developers can utilize Windows Subsystem for Linux, the feature has to be installed.   

1. Open Settings
2. Click Update & Security
3. Click For Developers
4. Click Developer Mode  
5. Now open Control Panel
6. Click Programs and Features
7. Click Turn Windows features on or off.
8. Find and check Windows Subsystem for Linux (Beta)
9. Click OK and follow prompts to finish installation.

Now that WSL is installed it is time to install the Ubuntu image.  This is accomplished by launching the Windows Command Prompt and typing “bash.exe”.  Follow the prompts to finish the installation.

You now have a fully installed Linux image on Windows!  You can launch bash by either running a Windows command prompt and entering the command “bash” or you can find the shortcut “Bash on Ubuntu on Windows” in your start menu.

To setup your environment to build wolfSSL you`ll need the following:

– make
– autoconf
– gcc

These can be installed with “$ sudo apt-get install make autoconf gcc” in bash.  Finally, the steps to build and install wolfSSL for Linux are:

1. $ ./autogen.sh
2. $ ./configure
3. $ make
4. $ make install

This was tested and verified with GCC version 4.8.4 and Linux kernel 3.4.0. make in our test environment was able to build wolfSSL in 28.415s.

Additional references:
wolfSSL Embedded SSL/TLS Library
https://blogs.windows.com/buildingapps/2016/07/22/fun-with-the-windows-subsystem-for-linux/
https://msdn.microsoft.com/en-us/commandline/wsl/about
https://msdn.microsoft.com/en-us/commandline/wsl/install_guide