Linux: * install dependencies via distribution's package manager - i.e. with Ubuntu 18.04; "$ sudo apt install zlib1g-dev liblzma-dev libbz2-dev" * Build IFW macOS: * install missing dependencies, i.e. with homebrew - "$ brew install libiconv xz" * Append env: export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH" export C_INCLUDE_PATH="/usr/local/include:$C_INCLUDE_PATH" export CPLUS_INCLUDE_PATH="/usr/local/include:$CPLUS_INCLUDE_PATH" export LIBRARY_PATH="/usr/local/opt/libiconv/lib:$LIBRARY_PATH" export C_INCLUDE_PATH="/usr/local/opt/libiconv/include:$C_INCLUDE_PATH" export CPLUS_INCLUDE_PATH="/usr/local/opt/libiconv/include:$CPLUS_INCLUDE_PATH" * Build IFW Win: * Get sources: https://tukaani.org/xz/ https://zlib.net/ https://www.sourceware.org/bzip2/ * Build bzip2: - makefile.msc: replace "CFLAGS=..." -> "CFLAGS= -DWIN32 -MT -Ox -D_FILE_OFFSET_BITS=64 -nologo" - nmake -f path/to/makefile * Build zlib: - ./win32/makefile.msc: replace "CFLAGS=..." -> "CFLAGS= -nologo -MT -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)" - nmake -f path/to/makefile * Build liblzma - copy "./windows/vs2017" -> "./windows/vs2015" - "./windows/vs2015/liblzma.vcxproj": replace in each "v141" -> "v140" - msbuild /property:Configuration=ReleaseMT path/to/proj * Append env variables (example prefix "C:\GNU\"): set INCLUDE=%INCLUDE%;C:\GNU\bzip2;C:\GNU\zlib;C:\GNU\xz\src\liblzma\api set LIB=%LIB%;C:\GNU\bzip2;C:\GNU\zlib;C:\GNU\xz\windows\vs2015\ReleaseMT\X64\liblzma * Build IFW