Brussels / 3 & 4 February 2018


Unix? Windows? Gentoo!

POSIX? Win32? Native Portability to the max!

In need to support Unix, Linux and Windows? Within one application ecosystem? Having a C/C++ application to natively support both Unix/Linux and Windows operating systems is known to be a mess for both the application's Source Code and Build System. Nevertheless, developers still are expected to provide exactly that - depending on the nature and lifetime of an application. This talk is about how SSI Schäfer IT Solutions is achieving the goal of concurrently providing support for both operating system worlds within one single C/C++ application ecosystem, which was originally targetting the Unix world only.

While the compilers (talking about GNU gcc and Microsoft cl.exe here) usually do have little difference in supporting various C/C++ standards, there's major difference between their commandline interface, as well as various kernel features provided by Unix/Linux and Windows operating systems. To minimize the impact on both the application's Source Code and Build System, various helper libraries and applications have evolved over time. This talk is about how Cygwin is able to run Gentoo Prefix these days - which itself does run on multiple Unix/Linux operating systems on one hand, and some wrapper around the Microsoft Visual Studio toolchain - called Parity, providing a commandline interface similar to the (more popular) MinGW toolchain on the other hand.


Michael Haubenwallner