* Do not set HAVE_*_H defines for disabled features
It seems the mac build fails if we set the defines like this so
let's try avoiding including the header file alltogether. I didn't
expect ssl to look at that define but there you go.
Maybe fixes#337
* Try to silence a few more warnings
Spotted on mac:
435493605
* Do not set HAVE_*_H defines for disabled features
It seems the mac build fails if we set the defines like this so
let's try avoiding including the header file alltogether. I didn't
expect ssl to look at that define but there you go.
Maybe fixes#337
* Try to silence a few more warnings
Spotted on mac:
435493605
* booleans, how do they work
The config-netpgp.h file in this repo is directly used by
delta-android, so we should not delete it. Instead we add a way
for the meson build to use it's own config.h file.
These actually switch on and off code, as opposed to the other HAVE
detction macros which only switch off header includes (and maybe
things would break if they're not there, but that's an existing bug
in netpgp). So we want to be sure that they are present when we
need them. This is what features are for.
This configures these features in delta-core as well.
Also swithc to the static-pic-lib scheme. The build_target() call
still does not work transparently for --default_library=both in case
of not a subproject, so there's not much to gain from it. Basically
meson does not support building monolith libraries very easily (no
one does afaik).
These now do all the dection rather than hardcoding things. It
also removes the dependency of bzip2 for the delta-core build,
bzip2 is now a feature and delta-core disables it.
This can now create a few things:
- Build a shared lib linked against system libs
- Build a static lib linked against system libs
- Build a shared "fat" lib using internal deps
- Build a static lib using interal deps
The readme needs updating.
Using the system-libetpan causes pain to people who have out-dated
library versions, additionally it is nice to by default create a
library which uses dependencies as close as possible to the android
version for testing purposes. This makes sure that the bundeled
sub-projects are used by default.
Additionally it makes sure to not install these bundeled dependencies
and only statically link the libdeltachat.so against them. This is
beneficial to not conflict with any system-installed versions of these
libraries, especially since some bundled libraries are stripped down
and would not provide indirect users of the library the full library
functionality.
It does still provide an option to use the system-provided libetpan if
desired however, this makes sure libdeltachat plays nice with normal
package managers etc.
This makes sure that at meson/configure time the build will fail
with an error saying the library can't be found. This is much
better then a mysterious link error right at the end of the
compilation.