Commit graph

22 commits

Author SHA1 Message Date
Matthias Clasen
f6a3f6d8ad Don't build fontconfig on Windows
mesons 'auto' is too eager to build things. Building
fontconfig as a subproject on Windows is not the right
thing, unless it was explictly requested.
2021-04-19 11:49:31 -04:00
Uli Schlachter
7788000be0 Merge branch 'meson-allow-skipping-of-run-check-for-ipc-rmid-deferred-release-in-cross-build' into 'master'
meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE

Closes #408

See merge request cairo/cairo!134
2021-03-05 08:08:55 +00:00
Uli Schlachter
55a5951742 meson: Move libspectre to test_deps
libspectre is only used for ps tests. Adding it to "deps" needlessly
makes it show up in cairo.pc's Requires.private.

Fixes: https://gitlab.freedesktop.org/cairo/cairo/-/issues/425
Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-03-01 14:06:02 +01:00
Tim-Philipp Müller
1bec56ea8a meson: allow skipping of run check for IPC_RMID_DEFERRED_RELEASE
The run check is particularly annoying in cross-compile scenarios,
so allow bypassing the check by having the user provide the value
via a cross file or native file:

  [properties]
  ipc_rmid_deferred_release = true

Closes #408
2021-02-25 10:56:45 +00:00
Jan Alexander Steffens (heftig)
3468c67fe9 meson: add xlib-xcb option and disable by default
Just like autotools does.

Closes #438.
2021-02-25 01:29:53 +00:00
Tim-Philipp Müller
f7ac4181d6 meson: declare dependancy on libcairo_dep for overrides
When declaring a dependency on a feature, say `dependency('cairo-png')`
the resulting object did not depend on cairo and thus was missing
basic things like, `cairo.h` from its include dir.

Make it so overrides do in fact include the basic cairo functionality
needed for them to work.

Related:
https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/236
2021-02-24 03:03:07 +02:00
Tim-Philipp Müller
e30259f623 cairo-trace: fix build with newer versions of bfd
And update configure/meson checks to check for the new function.

Drop libiberty.h check since it's only needed by backtrace-symbols.c
which we're about to remove.

Closes #391, #460
2021-02-23 12:29:58 +00:00
Tim-Philipp Müller
e0cf7b869f meson: add symbol-lookup option to allow disabling bfd/libiberty usage
Can be used to workaround build issues caused by changes
in the bfd API until those have been resolved.

https://gitlab.freedesktop.org/cairo/cairo/-/issues/460
https://gitlab.freedesktop.org/cairo/cairo/-/issues/391
2021-02-23 10:35:42 +00:00
Tim-Philipp Müller
d8d16562ec meson: fix macOS build and add macOS ci
Fixes #441
2021-01-04 20:08:06 +00:00
Tim-Philipp Müller
e9ccb1d8d0 meson: fix library versioning
Fixes #442
2020-12-15 00:22:37 +00:00
Nirbheek Chauhan
ab7b45feb7 meson: Fix libpng fallback dependency variable
The libpng subproject dependency variable name was wrong. It's
libpng_dep:

https://github.com/mesonbuild/libpng/blob/1.6.37/meson.build#L110
2020-11-10 16:18:50 +05:30
Tim-Philipp Müller
c3e48e63a2 meson: extract meson version from cairo-version.h
Same as autotools does. Arguably it would be better to do
it the other way round and generate cairo-version.h from
the version in meson.build or configure.ac but for now
let's do this so it's at least in sync with the autotools
build and only one file has to be edited for releases.
2020-10-21 11:45:54 +00:00
Xavier Claessens
f896701502 meson: cairo-ft depends on fontconfig if available
cairo-ft.h includes fontconfig.h when CAIRO_HAS_FC_FONT is defined, so
it must appear in the pc file and the corresponding
declare_dependency(). This fix build issue in harfbuzz when cairo and
fontconfig are built as subproject.
2020-10-07 12:04:35 -04:00
Xavier Claessens
084404cd15 meson: Use pkgmod.generate() for all cairo pc files
Also override each dependency so they can be used when cairo is used as
subproject.
2020-10-06 10:58:04 -04:00
Tim-Philipp Müller
4ea2991a40 Retire dummy cairo-version.h header to fix meson subproject build
It was originally added to make bisecting easier,
but has outlived its usefuleness now.

Going forward we'll have just a single cairo-version.h
header file, the one with the real version numbers.

This is needed to fix the case where cairo is being
built as a Meson subproject, but also simplifies
things in general.

Fixes #421
2020-09-29 15:50:53 +00:00
Tim-Philipp Müller
01683a5882 meson: ensure srcdir doesn't contain autotools build artifacts
.. such as config.h or other generated files such as cairo-features.h,
as those might be accidentally included by the meson build and cause
weird to debug build issues.

Fixes #423
2020-09-19 14:07:28 +01:00
George Matsumura
9a3ad1df1c build: Include correct poll.h
Including sys/poll.h when poll.h is available produces a compile
warning on some systems, but only sys/poll.h is present on others
such as AIX. This makes sure the most suitable poll.h is included
in each situation.

Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>
2020-09-05 12:15:57 +00:00
George Matsumura
47881a965e cogl: Add build version requirement
This ensures that build configuration for the cogl backend will fail
if an insufficiently new version of cogl is present, making it easier
to find the root cause of a build failure.

Signed-off-by: George Matsumura <gmmatsumura01@bvsd.org>
2020-09-04 20:44:53 -06:00
George Matsumura
2f39018c2c meson: Remove unconditional disable of cogl backend build 2020-08-25 03:26:27 -06:00
Tim-Philipp Müller
88d773e627 meson: add summary and flip some options to disabled by default
.. to match autotools.
2020-08-14 14:22:27 +00:00
Nirbheek Chauhan
efc508bdb9 meson: Fix win32 libs in cairo-win32*.pc files
Fixes https://gitlab.freedesktop.org/cairo/cairo/-/issues/419
2020-08-06 02:06:45 +05:30
Mathieu Duponchelle
596a82f2d1 Add meson build definitions
Co-Authored by:
Nirbheek Chauhan <nirbheek@centricular.com>
lb90 <luca.bacci982@gmail.com>
Tim-Philipp Müller <tim@centricular.com>
2020-07-31 12:21:50 +01:00