LXE – Linux cross-toolchain environment Copyright: 2015-2018 Boris Pek <tehnick-8@yandex.ru> License: MIT (Expat) Homepage: https://github.com/sibuserv/lxe History: This project was inspired by MXE (http://mxe.cc/) and was made for own purpose. Now it is the part of simple build server which builds for a few old GNU/Linux distributions (i486, i586 and x86_64), MS Windows (i686 and x86_64) and Adroid (ARMv7 and x86). Maybe one day it will be able to build C++ apps for OS X too. Description: This project may be useful when you need to build your applications for a few old GNU/Linux distributions and you do not want to manage a number of chroot environments and/or use a hypervisor (like QEMU, VirtualBox or VMware) with full operating systems. It requires significantly less amount of disk space and CPU power. And it is much simpler and faster than Open Build Service, Jenkins, etc. Important notes: If you want to distribute statically linked binaries, you have to check the license compatibility very carefully. Even if your project is free and/or open-source software. (But for personal use or for use within your company you may mix libraries as you wish.) Dependencies: bash, gcc, binutils, libtool, realpath, pkg-config, make, autoreconf, automake, cmake, wget, curl, tar (with gzip, bzip2 and xz support), patch, sed, find, du, python, python-libxml2 (for some versions of mesa) Examples of usage: make make qt5 make qtbase qtserialport qtscript make gdal freeglut make "download" make "download ffmpeg sdl2" make list make clean make distclean make version make help Some useful links: https://github.com/sibuserv/sibuserv https://github.com/sibuserv/mxe https://github.com/mxe/mxe https://habrahabr.ru/post/198142/ Other notes: If your program actively uses OpenGL from Mesa project and your program is built using modern GCC (from gcc-extra package), it will not be enough to link your program with libstdc++ statically (GCC option -static-libstdc++). You will also need to distribute the copy of libstdc++.so.6 library with your application and use RPATH (for example '-Wl,rpath,$ORIGIN' or '-Wl,rpath,$ORIGIN/lib') and/or use launch script with properly set LD_LIBRARY_PATH (or LD_PRELOAD) environment variable.