| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Add warning flags for the just fixed warnings
to the build. This is in order to ensure that
pango builds in ci as a subproject of gtk.
|
| |
|
|\
| |
| |
| |
| | |
meson: fix darwin_versions
See merge request GNOME/pango!105
|
| |
| |
| |
| | |
The darwin_versions argument should take into account the interface_age
|
|/ |
|
|
|
|
|
| |
We can't do without anymore, so report a clear
error if harfbuzz is not found.
|
|\
| |
| |
| |
| | |
meson: do not set -Werror=redundant-decls for gcc on Windows target.
See merge request GNOME/pango!41
|
| |
| |
| |
| |
| |
| | |
When cross-compiling with MinGW64, system headers have various redundant
declarations. This commit makes pango cross-buildable with MinGW64 while
not removing the warning-errors for other OSes.
|
|\ \
| | |
| | |
| | |
| | | |
build: Only use fallback dep for FontConfig when needed/requested
See merge request GNOME/pango!94
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ /
| |
| |
| |
| |
| | |
Only use the fallback when we are sure that we can't find the Cairo
headers and libraries, where applicable, and ensure that it is used, as
it is really a hard dependency.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unfortunately the CMake dependency discovery mechanism is broken in
Meson, so on MSVC builds we still look first for the HarfBuzz headers
and .lib's, and ensure that they are 2.0.0 or later, before we try to
use the fallback dependency.
We do, however, want to make use of the fallback if HarfBuzz cannot be
found since HarfBuzz is now a hard dependency of Pango for all builds.
|
| |
| |
| |
| | |
This reverts commit f972ba0562823a8d55ad02ff9609481a884c79f8.
|
| |
| |
| |
| |
| | |
Only link libpangoxft and libpangocairo
against xft and cairo.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | | |
Replace deprecated Harfbuzz API
See merge request GNOME/pango!39
|
| |/
| |
| |
| | |
We're going to use newer API to replace deprecated calls.
|
| |
| |
| |
| |
| |
| | |
This is necessary now, since we bumped the glib req
beyond what the stable gnom eruntime currently
provides.
|
|/
|
|
| |
Require GLib 2.59.2, for G_TYPE_UNICODE_SCRIPT.
|
|
|
|
| |
We're going to add new api, so add version markers etc.
|
|
|
|
|
|
| |
Requires the latest Meson.
Closes https://gitlab.gnome.org/GNOME/pango/issues/320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
glib, fribidi, harfbuzz, fontconfig, freetype, cairo
+ small fixes when building as a subproject
Only fribidi and glib have been added as wraps because the rest are
not upstream yet and can be found at:
https://github.com/centricular/harfbuzz
https://github.com/centricular/fontconfig
https://github.com/centricular/cairo
https://github.com/centricular/freetype2
They need testing on non-Linux platforms.
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/pango/issues/324
|
|\
| |
| |
| |
| | |
Use non-deprecated API for adding instance private data
See merge request GNOME/pango!18
|
| |
| |
| |
| |
| | |
We want to use G_ADD_PRIVATE, so we need a slightly less ancient version
of GLib than 2.34.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of using templates, ask Meson to generate the pkgconfig files
for us. This ensures that the generated files are:
- always valid
- always up to date with the build
- only built when needed without convoluted checks
|
| |
| |
| |
| |
| |
| | |
We can ask Meson to check compiler and linker arguments and return us
the list of arguments it found, instead of checking one at a time, or
none at all.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We have the API version and we build the inclusion path from it, but we
should have a variable with the versioned namespace ('pango' + API
version) and build paths using join_paths() instead.
We're also going to use the versioned namespace elsewhere soon.
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The Darwin linker doesn't want equal signs here.
Closes: #304
|
|
|
|
| |
We use hb_variation_t that was added in harfbuzz 1.4.2.
|
|
|
|
| |
I’m assuming the new API is thread-safe as claimed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many of Pango's dependencies do not support a build system for Visual
Studio that would generate the pkg-config files for them, so we need to
try to look for them using cc.has_header() and cc.find_library() for
them, namely for Cairo, FreeType, FontConfig and HarfBuzz as fallbacks.
For Cairo, things are more complicated as there are multiple build
options and configurations for it, so we need to check for those that we
need after we find the Cairo headers and libraries by:
-Including the respective headers (for cairo-win32.h, cairo-ps.h,
cairo-pdf.h, cairo-quartz.h and cairo-xlib.h, since these features
must have been enabled when Cairo is built and installed in order for
those headers to be succesfully included)
-For pangocairo with FreeType support, we need to check whether the
FontConfig support is built into Cairo as well, as FontConfig support
is actually required in Cairo for this.
-For Cairo/PNG output surface support, check whether Cairo is built with
PNG output surface support.
We also need to update how pangocairo.pc and pangoft2 are generated:
-On builds where pkg-config files can be found for cairo, freetype,
fontconfig and/or harfbuzz:
Generate it with "Requires: pango <depedencies>" as before, otherwise
for MSVC builds where we find these libraries manually, we don't put
these packages under "Requires:..." or "Requires.private:...", but
instead put them under "Libs:", linking to each dep as -l<.lib file
name>
This is so that pangocairo.pc and pangooft2.pc can be correctly used by
items that need to make use of it, such as g-ir-scanner.
https://bugzilla.gnome.org/show_bug.cgi?id=783274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible that we can have the following situations, at least on
Windows:
-FreeType present, FontConfig missing
-Cairo-FT present, with no FontConfig support.
As gen-script-for-lang requires FontConfig, and PangoFT2 depends on
HarfBuzz, FontConfig and Freetype, we need to check for them before we
build PangoFT2, and so that we could include PangoFT2 support in
PangoCairo.
The tests and pango-view have an optional dependency on PangoFT2, so we
need to also check whether we built PangoFT2 before we try to build
things related to PangoFT2.
For the tools, since gen-script-for-lang.c depends on FontConfig, check
for it as well before we build it.
https://bugzilla.gnome.org/show_bug.cgi?id=783274
|
|
|
|
|
| |
Follow up of commit d4f3370336a40907f528a41e75a55fe4f50c1a11.
Maintaining two build systems is tricky!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes meson.build to match what configure.ac already does. The
code doesn’t have separate conditions for whether fontconfig and
freetype are available: if freetype compilation is enabled, it assumes
that fontconfig is also available.
Previously, systems with freetype available, but no fontconfig, would
fail to compile Pango due to trying to link against non-existent
fontconfig symbols.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://bugzilla.gnome.org/show_bug.cgi?id=792363
|