-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
60 lines (50 loc) · 2.28 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
LXE – Linux cross-toolchain environment
Copyright: 2015-2018 Boris Pek <[email protected]>
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.