[Cairo] fix clang-cl build (#26056)

* [cairo] fix clang-cl build

* v db
This commit is contained in:
Alexander Neumann 2022-08-01 23:21:17 +02:00 committed by GitHub
parent 4ad26901ec
commit 292b244568
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 50 additions and 2 deletions

View File

@ -0,0 +1,37 @@
diff --git a/util/cairo-script/cairo-script-objects.c b/util/cairo-script/cairo-script-objects.c
index 2d7937be3..4d55ca848 100644
--- a/util/cairo-script/cairo-script-objects.c
+++ b/util/cairo-script/cairo-script-objects.c
@@ -127,7 +127,7 @@ csi_array_append (csi_t *ctx,
return _csi_stack_push (ctx, &array->stack, csi_object_reference (obj));
}
-inline csi_status_t
+csi_status_t
_csi_array_execute (csi_t *ctx, csi_array_t *array)
{
csi_integer_t i;
diff --git a/meson.build b/meson.build
index 7b20c0c48..9cb4a82ba 100644
--- a/meson.build
+++ b/meson.build
@@ -38,7 +38,7 @@ cc = meson.get_compiler('c')
# Compiler flags
cflags = []
-if cc.get_id() != 'msvc'
+if cc.get_argument_syntax() != 'msvc'
cflags += [
'-Wmissing-declarations',
'-Werror-implicit-function-declaration',
@@ -159,8 +159,7 @@ check_headers = [
check_types = [
['uint64_t', {'headers': ['stdint.h']}],
- ['uint128_t', {'headers': ['stdint.h']}],
- ['__uint128_t']
+ ['uint128_t', {'headers': ['stdint.h']}]
]
check_funcs = [

View File

@ -1,3 +1,8 @@
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
set(PATCHES fix_clang-cl_build.patch)
endif()
vcpkg_from_gitlab(
GITLAB_URL https://gitlab.freedesktop.org
OUT_SOURCE_PATH SOURCE_PATH
@ -9,6 +14,7 @@ vcpkg_from_gitlab(
cairo_static_fix.patch
disable-atomic-ops-check.patch # See https://gitlab.freedesktop.org/cairo/cairo/-/issues/554
mingw-dllexport.patch
${PATCHES}
)
if("fontconfig" IN_LIST FEATURES)

View File

@ -1,7 +1,7 @@
{
"name": "cairo",
"version": "1.17.6",
"port-version": 3,
"port-version": 4,
"description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.",
"homepage": "https://cairographics.org",
"license": "MPL-1.1",

View File

@ -1250,7 +1250,7 @@
},
"cairo": {
"baseline": "1.17.6",
"port-version": 3
"port-version": 4
},
"cairomm": {
"baseline": "1.16.1",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "eac156360b2a89a655152bafd92c3e285adc473e",
"version": "1.17.6",
"port-version": 4
},
{
"git-tree": "c339d543f41d311c7d4282ca1efa4e400eb30b73",
"version": "1.17.6",