If ccache is availble, use it. It can improve a lot the compilation time.
We do not change the meson_cross_file.txt as, for now, meson doesn't
support ccache when cross-compiling.
Make `kiwix-build.py` also fail if sub-command fail instead of just print
an error message and quit.
`kiwix-deploy.py` is far more simple and already fails miserably if a
sub-command fails.
By default, at first connection, the user has to accept the server
host_key.
As we are running on travis, there is no user.
Make ssh automatically add new host_key to know_hosts file.
We cannot install it on travis (for now ?) and we don't use it anyway.
This have somehow to be fixed as the wine tool will be necessary to test
binaries and we want tests.
Use a standard name libz.(so|a) if we are using mingw (as we do on linux).
This patch somehow deprecate the previous commit (patch) but both patches
are the right thing to do.
We need this one especially for others dependencies using pkg-config.
The generated .pc always use the '-lz' option and so, we need the correct
names for the lib.
zlib may be installed under the libzlibstatic.a or libzlib.dll.so names.
xapian correctly detect those name but use '-lz' option for xapian_inspec
binary.
Fedora provides a set of (powerfull) tools to correctly pass the right
options to compilation tools (configure, cmake, ...)
This is great but we must not use them as we want to cross-compile from
other distribution (ubuntu).
Now, we do not use those tools and we can easily port cross-compilation to
ubuntu.
We have to loop over the dependencies and their packages to know which
dependency we may skip.
So we must not skip the install_packages step too early.
Now that meson.build script add itself the needed link flags to link
static binaries, we don't need to add them by ourself.
Just pass the right option to meson.
By installing distribution packages we avoid us a lot of recompilation.
It also made use standard build, and it's just better :)
We also install all needed packages automatically so user has less work
to do.
Only Fedora packages are listed for now.
Ubuntu packages have to be done.
Duplicate sources must be detected from their classes.
So add a optional arguments key_function to remove_duplicates to use
a custom key to compare elems and use it to remove duplicate sources
using their classes.