Although most of the parameters used for file naming when building
libraries and introspection data can be replaced by variables, the
actual naming can create a lot of confusion.
This naming scheme has been improved by using clearer names and by
also using a prefix in them.
Libraries build by gitg expose a number of includes in their public
headers belonging to different libraries. Therefore, these libraries
are indirect dependencies of the library to be built.
With this in mind, these indirect dependencies are also included
when a direct dependency is included, so there is no need to include
them again.
Dependency hierarchy has been fixed and duplicated dependencies
removed.
Created `pkg-config` files requirements have also been fixed.
Used meson modules and directory definitions were placed at the end
of the root meson build file. However, this is recommended to be
placed at the start of the file, so they are usable early.
Following meson portng guidelines[0], `source_root()` and
`build_root()` functions have also been replaced.
[0] https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting
meson generates the config.h file with multiple defines to be used
as guards, in the same way as autotools does. However, almost all of
them are not used.
This patch removes the unused defines.
https://bugzilla.gnome.org/show_bug.cgi?id=788796
The project license has a different license from the one in the
source code files: GPL2 in the project's description, and GPL2 or
later in the source code files.
The default options for warning level and the no undefined flag when
linking have also the default options already used by meson.
This patch fixes the project license and also removes the default
options which are already used by meson.
https://bugzilla.gnome.org/show_bug.cgi?id=788796
Following the new meson porting guidelines, this patch renames the
build options. The list of changes is as follows:
- Remove the enable prefix from boolean options.
- The character separator from multi-word options has been changed
to underscore.
The warning compiler options are also removed because meson's
compiler related options should be used.
https://bugzilla.gnome.org/show_bug.cgi?id=788796
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=788796