More and more software in the Epeios project relies on third-party frameworks (Node.js, Chromium Embeded Framework…). However, these software do not interact directly with these frameworks, but through a wrapper (NJSq for Node.js, XDHCEFq for Chromium Embeded Framework…). Therefore, this software are typical dynamic libraries, which also uses only standard/system C/C++ libraries (no v8.h
or node.h
header inclusion for components intended for Node.js, or capi/cef_…. h
for components intended to be used with Chromium Embedded Framework, for example). Hence, only a standard C++ development environment, as described below, is required to compile most Epeios software.
Regarding he wrappers, in addition to a C++ development environment, they will require elements specific to the environments for which they are intended. More details on these elements are available on the page dedicated to each wrapper.
For GNU/Linux (or other POSIX-compliant OSes, except macOS), to compile the software you have to launch the make
command (the GNU make command and the proper development environment have to be installed) from the root directory of the package (where there should be a Makefile
).
You can override the default compiler by defining the CXX
environment variable or by passing a CXX
argument to the make
command. The two recognized compilers are GNU GCC (CXX=g++
, which is the default one) and Clang (CXX=clang++
).
Apart from the common IA-32 and AMD64 architectures, you can also compile for both AArch32 and AArch64 ARM architectures. This means that you can compile for and on devices like the Raspberry Pi (or Banana Pi, or ODROID…) natively in 32-bit and even in 64-bit on the new ones, if the installed GNU/Linux distribution is also 64-bit.
To obtain macOS binaries, you have compile the software by launching the make
command (you have to install XCode in order to do this) in the root directory of the package (where there should be a Makefile
).
In the releases
section of the Github repository, you should find the Windows binaries. You also still need the sources of the software, because of all extra files needed to launch it (usually at least the .xlcl
and .xcfg
suffixed files ; see the documentation of the corresponding software component for more details).
If you want to compile it, you will find a .vcxproj
suffixed file, which can be used to compile the software using Visual C++ from Microsoft.
Additionally, under Windows with Cygwin, given you have the proper development environment, you can compile it by launching make
from the root directory of the package (where there should be a Makefile
). This will give you a binary which uses the Cygwin POSIX API. If you want an application which directly uses the Windows API, you can use the MinGW compiler under Cygwin. You then have to launch make target=win
.