| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
|
|
|
|
|
|
|
| |
This reverts commit 82cfabbabaade239beb26136cb28c98156552ea5.
This change broke GTK ci, and it takes more work to fix it than
I can invest atm. We can try again when GTK is ready for it.
|
|
|
|
|
|
|
| |
Yielding option means that if pango is built as a subproject, it will
take the value of that option from the parent project (e.g. gst-build).
For that to work it must be of the same type, which is "feature" instead
of "boolean" in all GStreamer modules.
|
|
|
|
|
|
|
|
| |
Added meson features for explicitly enabling or disabling the dependencies freetype and fontconfig such that they won't be used even if present on the system.
The meson option use_fontconfig was changed to fontconfig with these possible values:
* 'enabled' (equivalent to old use_fontconfig=true)
* 'auto' (equivalent to old use_fontconfig=false)
* 'disabled' (equivalent to old use_fontconfig=false AND report an error if fontconfig is required on this system).
|
|
|
|
| |
Added meson features for disabling the dependencies libthai, cairo and xft such that they won't be used even if present on the system. Changed meson dependencies for some tests accordingly.
|
|
|
|
|
| |
Add support for adding sysprof marks.
Strongly inspired by equivalent GLib support.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows and macOS only optionally requires FontConfig, so:
-Add an option, for Windows and macOS, whether we want to use FontConfig
on these platforms. This is ignored on *NIX, where FontConfig will
always be used.
-We still look for FontConfig first via pkg-config files, and on MSVC
builds, via looking for its headers and .lib files. If FontConfig is
required (or requested) but is not found, we then use the fallback
dependency for it.
|
|
|
|
| |
Closes: https://gitlab.gnome.org/GNOME/pango/issues/354
|
|
|
|
|
|
|
|
| |
Use 'gtk_doc' for documentation and 'introspection'
for, well, introspection. This matches what the rest
of the stack does.
Fixes https://gitlab.gnome.org/GNOME/pango/issues/364
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building introspection should not be gated on cross-compilation: it's
perfectly acceptable to use an helper binary to run the introspection
scanner when cross-compiling — in fact, it's what projects like Yocto
do. Instead, we should have an option to disable the introspection
generation explicitly.
Additionally, when building introspection data for ancillary Pango
libraries, like PangoCairo or PangoXft, we should depend on the GIR
target, instead of adding an `--include-uninstalled` extra argument for
the introspection scanner; this allows building Pango as a sub-project
of another project, and lets Meson deal with the appropriate paths and
arguments when invoking the scanner.
|
| |
|
|
Meson is a meta build system that is:
- fast
- simpler to understand and use
- portable to multiple platforms through different backends
- well integrated with the GNOME platform
- well maintained
Using Meson allows us to build Pango much more quickly, and on all the
platforms we currently target, without any loss of functionality,
compared to Autotools.
Some timing comparisons with hot ccache for both build systems:
* autogen.sh: * meson
real 0m11.149s real 0m2.525s
user 0m8.153s user 0m1.609s
sys 0m2.363s sys 0m1.206s
* make -j$(($(nproc) + 2)) * ninja
real 0m9.186s real 0m3.387s
user 0m16.295s user 0m6.887s
sys 0m5.337s sys 0m1.318s
--------------------------------------------------------------
* autotools * meson + ninja
real 0m27.669s real 0m5.772s
user 0m45.622s user 0m8.465s
sys 0m10.698s sys 0m2.357s
System: Intel Core i7-7500U, SSD, 16GB of RAM
|