Benjamin Gilbert
af4f149057
meson: Don't require C++ compiler for build machine on Windows
...
We only build C++ code for the host. Fixes Meson warning:
meson.build:486: WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.
2024-09-04 21:51:25 -07:00
Benjamin Gilbert
3e97e1f16b
meson: Rename meson_options.txt to meson.options
...
The new name is a bit cleaner and is supported by all versions of Meson
that we support.
2024-09-04 20:58:30 -07:00
Adrian Johnson
39ba22d7e6
Merge branch 'coverage' into 'master'
...
Add CI jobs for static analysis and a test coverage report
See merge request cairo/cairo!574
2024-09-02 11:13:59 +00:00
Emmanuele Bassi
ad53e74fd2
Merge branch 'ebassi/release-1-18-2' into 'master'
...
Release Cairo 1.18.2
See merge request cairo/cairo!581
2024-09-01 14:02:38 +00:00
Emmanuele Bassi
e90b49ed50
Post-release version bump to 1.18.3
2024-09-01 14:21:28 +01:00
Emmanuele Bassi
200441e685
Release Cairo 1.18.2
2024-09-01 14:09:23 +01:00
Federico Mena Quintero
dd4da92782
Keep artifacts for the static-scan job
2024-08-27 21:20:53 -06:00
Federico Mena Quintero
acb5e2e80a
CI: Add a job for static analysis
...
We add this in a new 'analysis' stage in the CI, which is where we'll
put jobs for sanitizers, test coverage reports, etc.
2024-08-27 21:20:00 -06:00
Federico Mena Quintero
e6e76c5c25
Move the analysis stage to just before deploy
2024-08-27 21:18:41 -06:00
Federico Mena Quintero
2366646d93
Deploy the coverage report to gitlab pages
...
It should appear in https://cairo.pages.gitlab.freedesktop.org/coverage
2024-08-27 21:18:40 -06:00
Federico Mena Quintero
744f4d75b3
CI: Add a basic test coverage job
...
Later we'll add one coverage job per backend, and aggregate all of the
results at the end for the coverage report.
2024-08-27 21:18:10 -06:00
Federico Mena Quintero
b5c6ef2853
CI: Install rust and grcov
...
The Rust toolchain is so that we can build and install grcov, which is
Mozilla's tool to aggregate test coverage data into a report.
2024-08-27 21:15:38 -06:00
Uli Schlachter
bbf385d35c
Merge branch 'remove-win32-readme' into 'master'
...
Remove README.win32
See merge request cairo/cairo!578
2024-08-10 07:27:51 +00:00
Adrian Johnson
b5b1c8505a
Remove README.win32
...
These instructions are for the autotools build. The Meson build does
not require special instructions for Windows.
2024-08-10 14:36:23 +09:30
Uli Schlachter
43e08aed8b
Merge branch 'fix_glyph_path' into 'master'
...
Fix cairo_glyph_path() early clipping
See merge request cairo/cairo!576
2024-08-02 16:57:48 +00:00
Heiko Lewin
d8c1db11dd
Fix cairo_glyph_path() early clipping
2024-07-26 08:18:20 +02:00
Adrian Johnson
2d7fcf17f7
Merge branch 'msys-clang-fix' into 'master'
...
Fix MSYS clang build error
See merge request cairo/cairo!575
2024-07-25 22:18:50 +00:00
Adrian Johnson
1d20d8f476
meson: use has_define() to check if define exists
2024-07-25 08:27:37 +09:30
Adrian Johnson
b69d569c3c
Windows should always use win32 atomics
...
instead of gcc builtins.
2024-07-25 08:25:57 +09:30
Adrian Johnson
b99f6ff534
Fix MSYS clang build error
...
../src/cairo-atomic-private.h:210:43: warning: incompatible pointer types passing 'void **' to param
eter of type 'cairo_atomic_intptr_t *' (aka 'long long *') [-Wincompatible-pointer-types]
210 | return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
| ^~~~~~~~~
../src/cairo-atomic-private.h:210:54: error: incompatible pointer to integer conversion passing 'voi
d *' to parameter of type 'cairo_atomic_intptr_t' (aka 'long long') [-Wint-conversion]
210 | return __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
| ^~~~
../src/cairo-atomic-private.h:220:43: warning: incompatible pointer types passing 'void **' to param
eter of type 'cairo_atomic_intptr_t *' (aka 'long long *') [-Wincompatible-pointer-types]
220 | (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
| ^~~~~~~~~
../src/cairo-atomic-private.h:220:54: error: incompatible pointer to integer conversion passing 'voi
d *' to parameter of type 'cairo_atomic_intptr_t' (aka 'long long') [-Wint-conversion]
220 | (void) __atomic_compare_exchange_n(x, &expected, newv, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ
_CST);
| ^~~~
2024-07-25 08:23:46 +09:30
Federico Mena Quintero
5f1fc5fa00
CI: install some more llvm/clang packages for coverage and sanitizers
2024-07-24 14:32:57 -06:00
Adrian Johnson
0275440533
Merge branch 'bugfix/compile-without-cpp' into 'master'
...
meson: only require cpp for windows
See merge request cairo/cairo!573
2024-07-18 22:32:13 +00:00
Thomas Devoogdt
5dc457fa92
meson: only require cpp for windows
...
Allow to compile meson without c++ toolchain.
Fixes:
- https://lore.kernel.org/buildroot/20240717200926.1a7db2a1@windsurf/
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
2024-07-18 10:29:19 +00:00
Adrian Johnson
5338d3f50d
Merge branch 'clang-build' into 'master'
...
Add clang build to CI
See merge request cairo/cairo!572
2024-07-05 23:10:13 +00:00
Adrian Johnson
86a6a3a2ec
offsetof is ANSI C
...
Fixes
166 | A = csi_container_of (link, csi_blob_t, list);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../util/cairo-script/cairo-script-private.h:132:33: note: expanded from macro 'csi_container_of'
132 | (type *) ((char *) mptr__ - offsetof (type, member)); \
| ^~~~~~~~~~~~~~~~~~~~~~~
../util/cairo-script/cairo-script-private.h:128:37: note: expanded from macro 'offsetof'
128 | ((char *) &((type *) 0)->member - (char *) 0)
| ^ ~~~~~~~~~~
2024-07-06 07:24:44 +09:30
Adrian Johnson
f4096fc26b
Add clang build to CI
2024-07-06 07:12:59 +09:30
Adrian Johnson
19c15cedbf
Merge branch 'various-fixes' into 'master'
...
Various fixes
Closes #851 , #850 , #849 , #848 , #847 , #846 , and #845
See merge request cairo/cairo!570
2024-06-26 22:15:15 +00:00
Adrian Johnson
64301c6105
doc: Ensure @ in "@cairo:" is escaped when referring the the font family name
...
Fixes : #851
2024-06-27 07:07:22 +09:30
Adrian Johnson
c8ce9f1900
Check return value of _cairo_boxes_copy_to_clip()
...
Fixes : #850
2024-06-27 07:07:22 +09:30
Adrian Johnson
545073d7ed
Ensure extent_y_scale is initialized
...
Fixes : #849
2024-06-27 07:07:22 +09:30
Adrian Johnson
c235bc4dee
Fix bug in cairo-trace when writing A8 images
...
Fixes : #848
2024-06-27 07:07:22 +09:30
Adrian Johnson
fff7b8f392
Make Coverity happy
...
Fixes : #847
2024-06-27 07:07:22 +09:30
Adrian Johnson
2f671582ee
Ensure face variables in cairo_stroker_t are initialized
...
Fixes : #846
2024-06-27 07:07:22 +09:30
Adrian Johnson
6967beb24e
ps: fix max form size
...
Fixes : #845
2024-06-27 07:07:22 +09:30
Adrian Johnson
16dd5cd4c2
Merge branch 'wip/otte/xlib-overflow' into 'master'
...
xlib: Enlarge array for new formats
See merge request cairo/cairo!567
2024-06-24 21:26:26 +00:00
Adrian Johnson
409a6b5229
Merge branch 'master' into 'master'
...
Fix a memory leak
See merge request cairo/cairo!568
2024-06-24 21:18:07 +00:00
Adrian Johnson
bccc70439e
Merge branch 'uninitialized-var' into 'master'
...
Avoid an uninitialized use
See merge request cairo/cairo!569
2024-06-24 21:16:38 +00:00
Matthias Clasen
f1d1f0ac77
Avoid an uninitialized use
...
Coverity complained that val may be used uninitialized in this
function, and I think it is right in this case.
2024-06-24 14:25:32 -04:00
Matthias Clasen
dd40d34fee
Fix a memory leak
...
Coverity flagged this minor memory leak.
2024-06-24 14:17:00 -04:00
Benjamin Otte
18bb4f50cf
xlib: Enlarge array for new formats
...
Fixes a potential overflow in _cairo_xlib_display_get_xrender_format().
Caught by Coverity
2024-06-24 18:08:47 +00:00
Adrian Johnson
b807b7a87a
Merge branch 'calloc' into 'master'
...
Use calloc to allocate structs
See merge request cairo/cairo!566
2024-06-24 08:46:51 +00:00
Adrian Johnson
0cae2a4a74
Use _cairo_calloc() to allocate structs
...
To avoid any possibility of uninitialized memory.
The exceptions are:
- where the allocation is immediately overwritten by a memcpy or struct copy.
- arrays of structs to avoid any performance impact (except when the
array is returned by the public API).
2024-06-21 10:32:23 +09:30
Adrian Johnson
8da24bf7fb
Make _cairo_calloc() consistent with _cairo_malloc()
...
ie
_cairo_calloc(size)
_cairo_calloc_ab(a, size)
2024-06-21 08:53:01 +09:30
Adrian Johnson
0700bb78a2
Merge branch 'ft-no-fc' into 'master'
...
Fix FreeType build failure when Fontconfig is disabled
See merge request cairo/cairo!564
2024-06-11 21:39:10 +00:00
Adrian Johnson
f1b781e99d
Build mingw-32 in CI with fontconfig disabled
...
This gives us one build in CI that has FreeType enabled and Fontconfig
disabled in order to ensure this combination builds.
Building the Fontconfig backend with Mingw is still checked in the
mingw-64 build.
2024-06-10 13:18:56 +09:30
Adrian Johnson
00ce12846a
Fix cairo-ft-font.c build failure when fontconfig not available
2024-06-10 11:07:46 +09:30
Adrian Johnson
a308881018
Merge branch 'cloexec' into 'master'
...
Set CLOEXEC when opening files
Closes #213
See merge request cairo/cairo!563
2024-06-08 22:20:17 +00:00
Adrian Johnson
b0b5562b9e
Set CLOEXEC when opening files
...
Based on the patch by Christian Persch in #213 .
Closes #213
2024-06-08 06:40:55 +09:30
Adrian Johnson
1193515f5d
Merge branch 'meson-fixes' into 'master'
...
A couple of meson fixes
See merge request cairo/cairo!561
2024-06-01 13:17:30 +00:00
Adrian Johnson
b00db10ae8
meson: Use cc.has_define instead of cc.get_define for variables that may be undefined
...
Fixes the message:
Fetching value of define "DEBUG_SVG_RENDER" : (undefined)
2024-06-01 21:34:41 +09:30