summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drop-xml-surface' into 'master'Emmanuele Bassi2023-03-021-10/+0
|\ | | | | | | | | Remove XML surface See merge request cairo/cairo!446
| * Remove XML surfaceEmmanuele Bassi2023-02-041-10/+0
| | | | | | | | | | | | According to the Debian code search tool, nothing uses it as part of the Cairo public API, and it has been disabled for a long time with nobody complaining about it.
* | Change the workaround of MinGW dwrite_3.h problemFujii Hironori2023-02-271-6/+0
| | | | | | | | | | | | | | | | | | | | The DWRITE_COLOR_GLYPH_RUN1 struct definition of the old MinGW dwrite_3.h was invalid. To work around the problem, dw-extra.h defined the correct struct definition and all necessary API from dwrite_3.h. This approach needed to redefine all necessary API. This change added DWRITE_COLOR_GLYPH_RUN1_WORKAROUND struct and use it for IDWriteColorGlyphRunEnumerator1::GetCurrentRun.
* | Enable COLRv1 fontsAdrian Johnson2023-02-091-4/+3
|/ | | | | | Now that FreeType 2.13.0 has been released with a stable COLRv1 API, the meson configuration can be updated to enable COLRv1 when this version is available.
* dwrite: create C++ dwrite headerAdrian Johnson2023-01-311-1/+1
|
* Drop cairo-glEmmanuele Bassi2023-01-271-135/+0
| | | | | | | | | The GL support in Cairo has always been a prototype, and nothing happened in the past 10+ years to make it work as it was meant to. GL support is not enabled by any downstream packagers of Cairo, so nobody should notice its absence.
* We don't use HAVE_CONFIG_H anymoreAdrian Johnson2023-01-151-3/+0
|
* Defining Windows version macros in meson.buildFujii Hironori2023-01-131-0/+6
| | | | | | | | | WINVER and _WIN32_WINNT macros were defined in each source files and headers that were including <windows.h>. However, because DirectWrite requires new Windows API, some files included <windows.h> without the version macros. This inconsistency sometimes caused troubles. Define the version macros in meson.build.
* Require -DDEBUG_ENABLE_COLR_V1 to enable the COLR v1 rendererAdrian Johnson2023-01-081-1/+5
| | | | | Once there is a FreeType release where the COLR v1 API is no longer marked experimental, we can change this to a version check.
* Integrate COLR v1 renderer with cairo-ft-font.cAdrian Johnson2023-01-081-0/+1
|
* SVG font test using cairo logoAdrian Johnson2022-12-281-0/+5
|
* Support SVG fonts in FT backendAdrian Johnson2022-12-281-0/+3
|
* meson: allow disabling DWriteBenjamin Gilbert2022-12-241-3/+3
| | | | | When building with MinGW-w64, DWrite introduces a libstdc++ dependency which may not be desired.
* Remove explicit dependency on libsspLuca Bacci2022-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | It's not needed anymore. Linking explicitly with libssp was required for toolchains where the target libc doesn't implement stack smashing protection routines on its own, and instead delegates to the generic implementations provided by libssp. Notably, this was the case of mingw-w64 toolchains. After discussion upstream with Meson developers [1], the stance taken is that Meson users (and Meson itself) shall have no knowledge of the libc internals and whether libssp is required. instead, libc's should declare a dependency on the generic libssp on their own by means of .spec files [2]. Following the discussion in Meson Github, the issue was then fixed in mingw-w64 upstream [3]. References: * https://github.com/mesonbuild/meson/issues/10673 * https://gcc.gnu.org/onlinedocs/gcc/Spec-Files.html * https://github.com/msys2/MINGW-packages/issues/13401
* meson: Only link cairo-script-interpreter with liblzoSimon McVittie2022-07-181-1/+0
| | | | | | | The rest of cairo (and therefore most external packages that depend on cairo) doesn't make any use of liblzo. Signed-off-by: Simon McVittie <smcv@debian.org>
* Meson: use an array to provide multiple argumentsLuca Bacci2022-07-061-1/+1
|
* Add color palette optionAdrian Johnson2022-06-171-1/+1
|
* Meson: link to -lssp when enabling _FORTIFY_SOURCELuca Bacci2022-06-071-1/+1
| | | | This is required for MinGW GCC
* [quartz] Require at least Mac OS X 10.7 LionJohn Ralls2022-04-241-8/+12
| | | | Allows removal of most conditional compilation and dlsym lookups.
* Fix typos in doxygen and source commentsluz paz2022-03-281-1/+1
|
* dwrite: add color font supportAdrian Johnson2022-02-271-4/+18
|
* Import win32 dwrite font backend fromAdrian Johnson2022-02-271-1/+17
| | | | | | | | | | https://hg.mozilla.org/mozilla-central/file/7338d7d940913147f8a1b1e8bd2b25ab255f4373/gfx/cairo/cairo/src and add to the meson build. I've omitted the cairo_surface_set_subpixel_antialiasing() API and its use in quartz and dwrite. Not sure if that is needed. It compiles. Not tested.
* Drop cairo-vg surfaceEmmanuele Bassi2022-02-251-17/+0
| | | | | OpenVG is a failed experiment from 10 years ago, and nobody has been using the cairo-vg surface in pretty much the same amount of time.
* Remove cairo-directfbEmmanuele Bassi2022-02-251-14/+0
| | | | | Nobody cares about DirectFB any more, not even the people that registered and maintained the DirectFB domain.
* tanis: Remove cairo-coglEmmanuele Bassi2022-02-251-16/+0
| | | | Cogl's upstream is unmaintained, and has been for the past 6 years.
* Remove cairo-drmEmmanuele Bassi2022-02-251-20/+0
| | | | | The DRM backend has always been a science experiment, but now it hasn't been built in more than 10 years, and it's completely broken.
* Drop OS/2 supportEmmanuele Bassi2022-02-251-1/+0
| | | | | | | OS/2 support was last built in Cairo 1.12, which was released 10 years ago. Additionally, OS/2 is not supported by Meson.
* Remove BeOS supportEmmanuele Bassi2022-02-251-4/+1
| | | | | | | | Nobody cares about BeOS in 2022, and it cannot be built with Meson anyway. Removing the BeOS backend also allows us to drop the dependency on a C++ compiler and simplify the Autotools build considerably by removing all the extra CXX targets.
* Remove Qt surfaceEmmanuele Bassi2022-02-251-16/+0
| | | | | It's disabled by default, and unsupported as it depends on Qt4, which has been EOL since 2015.
* meson: Add xml option and disable by defaultDavid King2022-02-151-2/+1
| | | | Just like autotools does.
* meson: Remove useless version_compare()Nirbheek Chauhan2022-01-091-65/+58
| | | | We require meson 0.56 in project() now, all these are redundant.
* Merge branch 'master' into color-font-foreground-colorAdrian Johnson2021-09-171-2/+2
|\
| * meson: fix build without libpngTim-Philipp Müller2021-09-121-1/+1
| | | | | | | | meson.build:966:2: ERROR: Expected 1 arguments, got 0.
| * Merge branch ↵Tim-Philipp Müller2021-08-281-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | 'meson-rely-on-subproject-wrap-promotion-for-indirectly-needed-wraps' into 'master' meson: rely on automatic wrap promotion from subprojects Closes #445 See merge request cairo/cairo!131
| | * meson: rely on automatic wrap promotion from subprojectsTim-Philipp Müller2021-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ship wrap files for things that are only dependencies of dependencies, such as gperf (for fontconfig), or libffi + proxy-libintl (for glib). Instead, let Meson use the wraps that these subprojects ship, which Meson will pick up automatically since v56, so there's no need for us to ship these wraps any more. Bump the Meson requirement to 0.56 accordingly. Fix expat package dep for fedora ci and bump the tag so it gets picked up. See https://mesonbuild.com/Release-notes-for-0-56-0.html#wraps-from-subprojects-are-automatically-promoted Closes #445
* | | Support color fonts that use the foreground colorAdrian Johnson2021-08-281-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | COLR fonts can have a layer with the same color as the current text color. This change passes the current color (if solid) through to the font backend where it can be used to render color fonts. scaled_glyph_lookup checks if the foreground color has changed (for glyph that require it) and requests a new color surface if required. This also fixes a bug where scaled_glyph_lookup would always request a color surface for glyphs for glyphs in color fonts that do not have color.
* | Fix malloc overflow check warningAdrian Johnson2021-08-241-0/+1
|/ | | | | | | | | | | | | | | To fix this warning: ../src/cairo-malloc-private.h:83:32: warning: comparison is always false due to limited range of data type [-Wtype-limits] 83 | ((size) != 0 && (size_t) (a) >= SIZE_MAX / (size_t) (size) ? NULL : \ | ^~ Create two new macros to do the overflow checks: _cairo_addl_size_t_overflow and _cairo_mul_size_t_overflow. Implement them using compiler builtins where available. Update cairo-malloc-private to use these fuctions and add an overflow test to test the functions.
* meson: Enable _FORTIFY_SOURCE for optimized buildsEmmanuele Bassi2021-08-151-1/+3
| | | | Otherwise we are going to get warnings from the C library.
* meson: Use warning_levelEmmanuele Bassi2021-08-151-2/+1
| | | | | Instead of using `-Wall` and `-Wextra` as compiler flags, set `warning_level=2` as the default warning option.
* meson: Build the API referenceEmmanuele Bassi2021-08-141-0/+9
| | | | | | | | The Meson build system should build the API reference using gtk-doc, like the Autotools build does. The option is called `gtk_doc`, which matches the existing practices in various projects using Meson and gtk-doc.
* copy all autotools compiler warnings to meson buildAdrian Johnson2021-08-141-2/+53
|
* Merge branch 'endian' into 'master'Adrian Johnson2021-08-141-0/+16
|\ | | | | | | | | meson: add BIGENDIAN See merge request cairo/cairo!214
| * meson: add endian checkAdrian Johnson2021-07-311-0/+16
| | | | | | | | Fixes #464
* | Added extra check for HAVE_STRNDUP in Win32 Mingw Meson buildRick Yorgason2021-08-011-1/+2
|/ | | | | | Mingw on Windows defines the strndup function, but it's not actually usable because string.h doesn't exist. See details on the Meson bug here: https://github.com/mesonbuild/meson/issues/3672 Note that although Meson marked this bug as "fixed", it's only fixed in the case where you're using `prefix : '#include <string.h>'`.
* Merge branch 'more-meson' into 'master'Uli Schlachter2021-06-171-0/+1
|\ | | | | | | | | Add more of the auto-foo build to meson See merge request cairo/cairo!183
| * meson: Add perf/ directoryUli Schlachter2021-05-151-0/+1
| | | | | | | | | | | | | | This adds the code under perf/ to meson. The only testing I did was "it builds for me". I do not have gtk+2 installed and so I did not even try whether that thing builds. Besides that, I mostly tried to stay close to the autofoo build.
* | meson: Use more dependency objectsUli Schlachter2021-05-221-2/+1
| | | | | | | | | | | | | | | | For example, to depend on cairo-script, inccairoscript was added to "include_directories:" and libcairoscript was added to "link_with:". This commit instead uses the libcairoscript_dep dependency everywhere. Signed-off-by: Uli Schlachter <psychon@znc.in>
* | meson: Move CAIRO_HAS_INTERPRETER to config.hUli Schlachter2021-05-021-2/+2
|/ | | | | | | This is what autoconf does and hopefully that means this is the correct thing to do. Signed-off-by: Uli Schlachter <psychon@znc.in>
* meson: Define HAVE_CONFIG_H as a project flagEmmanuele Bassi2021-05-011-0/+3
| | | | | | | | Precisely what Autotools does, instead of adding it as per-target C argument. Once we remove HAVE_CONFIG_H checks in every source file, we'll be able to drop it.
* Define _GNU_SOURCE in order to use memmemEmmanuele Bassi2021-04-271-0/+2
| | | | | | The memmem() function is a GNU extension, which means we need to define _GNU_SOURCE in order to avoid a compiler warning about a missing declaration.