external/cairo/Library_cairo.mk | 8 external/cairo/StaticLibrary_pixman.mk | 2 external/cairo/configs/wnt_cairo_config.h | 417 +++--------------------------- 3 files changed, 62 insertions(+), 365 deletions(-)
New commits: commit 4857a2ba16088593dabc3c43b70fe48d9b34c0d9 Author: Tor Lillqvist <[email protected]> AuthorDate: Sun Jan 11 01:17:48 2026 +0200 Commit: Tor Lillqvist <[email protected]> CommitDate: Sun Jan 11 16:55:36 2026 +0100 Make cairo and pixman build on Windows again Change-Id: Icbed00952f6fcc04bd29c5946d7ea626ef5113f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196990 Reviewed-by: Tor Lillqvist <[email protected]> Tested-by: Jenkins diff --git a/external/cairo/Library_cairo.mk b/external/cairo/Library_cairo.mk index e850760ce51d..eef60531c1c5 100644 --- a/external/cairo/Library_cairo.mk +++ b/external/cairo/Library_cairo.mk @@ -34,6 +34,7 @@ $(eval $(call gb_Library_add_defs,cairo,\ -wd5294 \ -wd5286 \ -wd5287 \ + -DCAIRO_COMPILATION \ )) $(eval $(call gb_Library_use_static_libraries,cairo, \ @@ -178,4 +179,11 @@ $(eval $(call gb_Library_add_generated_cobjects,cairo,\ ) \ )) +$(eval $(call gb_Library_add_generated_cobjects,cairo,\ + $(addprefix UnpackedTarball/cairo/util/, \ + cairo-missing/strndup \ + ) \ +)) + + # vim: set noet sw=4 ts=4: diff --git a/external/cairo/StaticLibrary_pixman.mk b/external/cairo/StaticLibrary_pixman.mk index 94e998775736..0503cd704fbb 100644 --- a/external/cairo/StaticLibrary_pixman.mk +++ b/external/cairo/StaticLibrary_pixman.mk @@ -65,6 +65,8 @@ $(eval $(call gb_StaticLibrary_add_generated_cobjects,pixman,\ pixman-radial-gradient \ pixman-region16 \ pixman-region32 \ + pixman-region64f \ + pixman-riscv \ pixman-solid-fill \ $(if $(filter-out AARCH64,$(CPUNAME)), \ pixman-sse2 \ diff --git a/external/cairo/configs/wnt_cairo_config.h b/external/cairo/configs/wnt_cairo_config.h index 3e4c51d1cd58..56cd4d83174e 100644 --- a/external/cairo/configs/wnt_cairo_config.h +++ b/external/cairo/configs/wnt_cairo_config.h @@ -1,453 +1,140 @@ -/* config.h for Windows build of cairo, manually created from one for Linux: */ +/* config.h for Windows build of cairo, manually created from one for Linux. */ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ +/* + * *Not* autogenerated by the Meson build system. + */ -/* Define if building universal (internal helper macro) */ -/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#pragma once -/* whether memory barriers are needed around atomic operations */ -/* #undef ATOMIC_OP_NEEDS_MEMORY_BARRIER */ +#undef ATOMIC_OP_NEEDS_MEMORY_BARRIER -/* Define to 1 if the PDF backend can be tested (need poppler and other - dependencies for pdf2png) */ -/* #undef CAIRO_CAN_TEST_PDF_SURFACE */ +#undef CAIRO_HAS_DLSYM -/* Define to 1 if the PS backend can be tested (needs ghostscript) */ -/* #undef CAIRO_CAN_TEST_PS_SURFACE */ +#undef CAIRO_HAS_INTERPRETER -/* Define to 1 if the SVG backend can be tested */ -/* #undef CAIRO_CAN_TEST_SVG_SURFACE */ +#undef CAIRO_HAS_PTHREAD -/* Define to 1 if the Win32 Printing backend can be tested (needs ghostscript) - */ -/* #undef CAIRO_CAN_TEST_WIN32_PRINTING_SURFACE */ +#undef CAIRO_HAS_REAL_PTHREAD -/* Define to 1 if dlsym is available */ -/* #undef CAIRO_HAS_DLSYM */ +#undef CAIRO_HAS_TRACE -/* Define to 1 to enable cairo's cairo-script-interpreter feature */ -/* #undef CAIRO_HAS_INTERPRETER */ - -/* Define to 1 to enable cairo's pthread feature */ -/* #undef CAIRO_HAS_PTHREAD */ - -/* Define to 1 if we have full pthread support */ -/* #undef CAIRO_HAS_REAL_PTHREAD */ - -/* Define to 1 if libspectre is available */ -/* #undef CAIRO_HAS_SPECTRE */ - -/* Define to 1 to enable cairo's symbol-lookup feature */ -/* #undef CAIRO_HAS_SYMBOL_LOOKUP */ - -/* Define to 1 to enable cairo's test surfaces feature */ -/* #undef CAIRO_HAS_TEST_SURFACES */ - -/* Define to 1 to enable cairo's cairo-trace feature */ -/* #undef CAIRO_HAS_TRACE */ - -/* Define to 1 to disable certain code paths that rely heavily on double - precision floating-point calculation */ -/* #undef DISABLE_SOME_FLOATING_POINT */ - -/* Define to 1 if your system stores words within floats with the most - significant word first */ -/* #undef FLOAT_WORDS_BIGENDIAN */ - -/* Define to (0) if freetype2 does not support color fonts */ -/* #undef FT_HAS_COLOR */ - -/* Enable pixman glyph cache */ #define HAS_PIXMAN_GLYPHS 1 -/* Define to 1 if you have the `alarm' function. */ -/* #undef HAVE_ALARM */ +#undef HAS_PIXMAN_r8g8b8_sRGB -/* Define to 1 if you have the binutils development files installed */ -/* #undef HAVE_BFD */ +#undef HAVE_ALARM -/* Define to 1 if your compiler supports the __builtin_return_address() - intrinsic. */ -/* #undef HAVE_BUILTIN_RETURN_ADDRESS */ +#undef HAVE_ALLOCA_H -/* Define to 1 if you have the <byteswap.h> header file. */ -/* #undef HAVE_BYTESWAP_H */ +#undef HAVE_BYTESWAP_H -/* Define to 1 if you have the `clock_gettime' function. */ -/* #undef HAVE_CLOCK_GETTIME */ +#undef HAVE_C11_ATOMIC_PRIMITIVES -/* Define to 1 if you have the `ctime_r' function. */ -/* #undef HAVE_CTIME_R */ +#undef HAVE_CLOCK_GETTIME -/* Enable if your compiler supports the GCC __atomic_* atomic primitives */ -/* #undef HAVE_CXX11_ATOMIC_PRIMITIVES */ +#undef HAVE_CTIME_R -/* Define to 1 if you have the <dlfcn.h> header file. */ -/* #undef HAVE_DLFCN_H */ +#undef HAVE_DRAND48 -/* Define to 1 if you have the `drand48' function. */ -/* #undef HAVE_DRAND48 */ - -/* Define to 1 if you have the `FcFini' function. */ #define HAVE_FCFINI 1 -/* Define to 1 if you have the `FcInit' function. */ #define HAVE_FCINIT 1 -/* Define to 1 if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 -/* Define to 1 if you have the `feclearexcept' function. */ #define HAVE_FECLEAREXCEPT 1 -/* Define to 1 if you have the `fedisableexcept' function. */ #define HAVE_FEDISABLEEXCEPT 1 -/* Define to 1 if you have the `feenableexcept' function. */ #define HAVE_FEENABLEEXCEPT 1 -/* Define to 1 if you have the <fenv.h> header file. */ #define HAVE_FENV_H 1 -/* Define to 1 if you have the `flockfile' function. */ -/* #undef HAVE_FLOCKFILE */ - -/* Define to 1 if you have the `fork' function. */ -/* #undef HAVE_FORK */ - -/* Define to 1 if you have the `FT_Done_MM_Var' function. */ -#define HAVE_FT_DONE_MM_VAR 1 +#undef HAVE_FLOCKFILE -/* Define to 1 if you have the `FT_Get_Var_Design_Coordinates' function. */ -#define HAVE_FT_GET_VAR_DESIGN_COORDINATES 1 +#undef HAVE_FORK -/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */ -#define HAVE_FT_GET_X11_FONT_FORMAT 1 +#undef HAVE_FT_COLR_V1 -/* Define to 1 if you have the `FT_GlyphSlot_Embolden' function. */ -#define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 +#undef HAVE_FT_LOAD_NO_SVG -/* Define to 1 if you have the `FT_GlyphSlot_Oblique' function. */ -#define HAVE_FT_GLYPHSLOT_OBLIQUE 1 +#undef HAVE_FT_SVG_DOCUMENT -/* Define to 1 if you have the `FT_Library_SetLcdFilter' function. */ -#define HAVE_FT_LIBRARY_SETLCDFILTER 1 +#undef HAVE_FUNLOCKFILE -/* Define to 1 if you have the `FT_Load_Sfnt_Table' function. */ -#define HAVE_FT_LOAD_SFNT_TABLE 1 +#undef HAVE_GETLINE -/* Define to 1 if you have the `FT_Palette_Set_Foreground_Color' function. */ -#define HAVE_FT_PALETTE_SET_FOREGROUND_COLOR 1 +#undef HAVE_GMTIME_R -/* Define to 1 if you have the `funlockfile' function. */ -/* #undef HAVE_FUNLOCKFILE */ +#define HAVE_INTTYPES_H 1 -/* Enable if your compiler supports the legacy GCC __sync_* atomic primitives - */ -/* #undef HAVE_GCC_LEGACY_ATOMICS */ +#undef HAVE_LIBGEN_H -/* Whether you have gcov */ -/* #undef HAVE_GCOV */ +#undef HAVE_LINK -/* Define to 1 if you have the `getline' function. */ -#define HAVE_GETLINE 1 +#undef HAVE_LOCALTIME_R -/* Define to 1 if you have the `gmtime_r' function. */ -/* #undef HAVE_GMTIME_R */ - -/* Define to 1 if you have the <inttypes.h> header file. */ -/* #undef HAVE_INTTYPES_H */ - -/* Define to 1 if you have the <io.h> header file. */ -/* #undef HAVE_IO_H */ - -/* Define to 1 if you have the <libgen.h> header file. */ -/* #undef HAVE_LIBGEN_H */ - -/* Define to 1 if you have the `rt' library (-lrt). */ -/* #undef HAVE_LIBRT */ - -/* Enable if you have libatomic-ops-dev installed */ -/* #undef HAVE_LIB_ATOMIC_OPS */ - -/* Define to 1 if you have the `link' function. */ -/* #undef HAVE_LINK */ - -/* Define to 1 if you have the `localtime_r' function. */ -/* #undef HAVE_LOCALTIME_R */ - -/* Define to 1 if you have the Valgrind lockdep tool */ -/* #undef HAVE_LOCKDEP */ - -/* Define to 1 if you have lzo available */ -/* #undef HAVE_LZO */ - -/* Define to 1 if you have the Valgrind memfault tool */ -/* #undef HAVE_MEMFAULT */ - -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to non-zero if your system has mkdir, and to 2 if your version of - mkdir requires a mode parameter */ #define HAVE_MKDIR 2 -/* Define to 1 if you have the `mmap' function. */ -/* #undef HAVE_MMAP */ - -/* Define to 1 if you have the `newlocale' function. */ - /* #undef HAVE_NEWLOCALE */ +#undef HAVE_MMAP -/* Enable if you have MacOS X atomic operations */ -/* #undef HAVE_OS_ATOMIC_OPS */ +#undef HAVE_NEWLOCALE -/* Define to 1 if you have the <poll.h> header file. */ -/* #undef HAVE_POLL_H */ +#undef HAVE_POLL_H -/* Define to 1 if you have the `poppler_page_render' function. */ -/* #undef HAVE_POPPLER_PAGE_RENDER */ - -/* Define to 1 if you have the `raise' function. */ #define HAVE_RAISE 1 -/* Define to 1 if you have the `rsvg_pixbuf_from_file' function. */ -/* #undef HAVE_RSVG_PIXBUF_FROM_FILE */ - -/* Define to 1 if you have the `sched_getaffinity' function. */ -/* #undef HAVE_SCHED_GETAFFINITY */ - -/* Define to 1 if you have the <sched.h> header file. */ -/* #undef HAVE_SCHED_H */ - -/* Define to 1 if you have the <setjmp.h> header file. */ -#define HAVE_SETJMP_H 1 +#undef HAVE_SCHED_GETAFFINITY -/* Define to 1 if you have the <signal.h> header file. */ -#define HAVE_SIGNAL_H 1 +#undef HAVE_SCHED_H -/* Define to 1 if you have the <stdint.h> header file. */ -/* MSC does have <stdint.h> but cairo seems to compile better without it */ -/* #undef HAVE_STDINT_H */ +#undef HAVE_SETJMP_H -/* Define to 1 if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 +#undef HAVE_SIGNAL_H -/* Define to 1 if you have the <strings.h> header file. */ -/* #undef HAVE_STRINGS_H */ +#define HAVE_STDINT_H 1 -/* Define to 1 if you have the <string.h> header file. */ -#define HAVE_STRING_H 1 +#undef HAVE_STRND -/* Define to 1 if you have the `strndup' function. */ -#define HAVE_STRNDUP 1 +#undef HAVE_STRTOD_L -/* Define to 1 if you have the `strtod_l' function. */ -/* #undef HAVE_STRTOD_L */ +#undef HAVE_SYS_IOCTL_H -/* Define to 1 if you have the <sys/int_types.h> header file. */ -/* #undef HAVE_SYS_INT_TYPES_H */ +#undef HAVE_SYS_MMAN_H -/* Define to 1 if you have the <sys/ioctl.h> header file. */ -/* #undef HAVE_SYS_IOCTL_H */ +#undef HAVE_SYS_POLL_H -/* Define to 1 if you have the <sys/mman.h> header file. */ -/* #undef HAVE_SYS_MMAN_H */ +#undef HAVE_SYS_SOCKET_H -/* Define to 1 if you have the <sys/poll.h> header file. */ -/* #undef HAVE_SYS_POLL_H */ - -/* Define to 1 if you have the <sys/socket.h> header file. */ -/* #undef HAVE_SYS_SOCKET_H */ - -/* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 -/* Define to 1 if you have the <sys/types.h> header file. */ -/* #undef HAVE_SYS_TYPES_H */ +#undef HAVE_SYS_UN_H -/* Define to 1 if you have the <sys/un.h> header file. */ -/* #undef HAVE_SYS_UN_H */ +#undef HAVE_SYS_WAIT_H -/* Define to 1 if you have the <sys/wait.h> header file. */ -/* #undef HAVE_SYS_WAIT_H */ +#undef HAVE_TERMIOS_H -/* Define to 1 if you have the <time.h> header file. */ #define HAVE_TIME_H 1 -/* Define to 1 if typeof works with your compiler. */ -#define HAVE_TYPEOF 1 - -/* Define to 1 if the system has the type `uint128_t'. */ -/* #undef HAVE_UINT128_T */ - -/* Define to 1 if the system has the type `uint64_t'. */ -/* #undef HAVE_UINT64_T */ - -/* Define to 1 if you have the <unistd.h> header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define to 1 if you have Valgrind */ -/* #undef HAVE_VALGRIND */ - -/* Define to 1 if you have the `waitpid' function. */ -/* #undef HAVE_WAITPID */ - -/* Define to 1 if you have the <X11/extensions/shmproto.h> header file. */ -/* #undef HAVE_X11_EXTENSIONS_SHMPROTO_H */ - -/* Define to 1 if you have the <X11/extensions/shmstr.h> header file. */ -/* #undef HAVE_X11_EXTENSIONS_SHMSTR_H */ +#define HAVE_UINT64_T 1 -/* Define to 1 if you have the <X11/extensions/XShm.h> header file. */ -/* #undef HAVE_X11_EXTENSIONS_XSHM_H */ +#undef HAVE_UNISTD_H -/* Define to 1 if you have the <xlocale.h> header file. */ -/* #undef HAVE_XLOCALE_H */ +#undef HAVE_WAITPID -/* Define to 1 if you have the `XRenderCreateConicalGradient' function. */ -/* #undef HAVE_XRENDERCREATECONICALGRADIENT */ - -/* Define to 1 if you have the `XRenderCreateLinearGradient' function. */ -/* #undef HAVE_XRENDERCREATELINEARGRADIENT */ - -/* Define to 1 if you have the `XRenderCreateRadialGradient' function. */ -/* #undef HAVE_XRENDERCREATERADIALGRADIENT */ - -/* Define to 1 if you have the `XRenderCreateSolidFill' function. */ -/* #undef HAVE_XRENDERCREATESOLIDFILL Ä/ - -/* Define to 1 if you have zlib available */ #define HAVE_ZLIB 1 -/* Define to 1 if the system has the type `__uint128_t'. */ -/* #undef HAVE___UINT128_T */ - -/* Define to 1 if shared memory segments are released deferred. */ -/* #undef IPC_RMID_DEFERRED_RELEASE */ - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "https://gitlab.freedesktop.org/cairo/cairo/-/issues" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME USE_cairo_INSTEAD - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING USE_cairo_version_OR_cairo_version_string_INSTEAD - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME USE_cairo_INSTEAD - -/* Define to the home page for this package. */ -#define PACKAGE_URL "https://cairographics.org/" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION USE_cairo_version_OR_cairo_version_string_INSTEAD - -/* Shared library file extension */ -#define SHARED_LIB_EXT "dll" +#undef HAVE___UINT128_T -/* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 -/* The size of `long', as computed by sizeof. */ #define SIZEOF_LONG 4 -/* The size of `long long', as computed by sizeof. */ #define SIZEOF_LONG_LONG 8 -/* The size of `size_t', as computed by sizeof. */ #define SIZEOF_SIZE_T 8 -/* The size of `void *', as computed by sizeof. */ #define SIZEOF_VOID_P 8 -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Define to the value your compiler uses to support the warn-unused-result - attribute */ #define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -/* # undef WORDS_BIGENDIAN */ -# endif -#endif - - -/* Deal with multiple architecture compiles on Mac OS X */ -#ifdef __APPLE_CC__ -#ifdef __BIG_ENDIAN__ -#define WORDS_BIGENDIAN 1 -#define FLOAT_WORDS_BIGENDIAN 1 -#else -/* #undef WORDS_BIGENDIAN */ -/* #undef FLOAT_WORDS_BIGENDIAN */ -#endif -#endif - - -/* Define to 1 if the X Window System is missing or not being used. */ -/* #undef X_DISPLAY_MISSING */ - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef _FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef _LARGE_FILES */ - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Define to __typeof__ if your compiler spells it that way. */ -/* #undef typeof */
