From 749fb5ad4a8688da5947f8784823c334d59e0faa Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Sun, 8 May 2022 16:32:38 -0400 Subject: [PATCH] Use the official Cairo repo as a submodule. Continuing to use version 1.15.2 for now. The main difference is the lack of this change: https://github.com/openfl/libcairo/commit/70d5bd67f3fc3b904f2ce730f61e7403feb62b05 --- .gitmodules | 2 +- project/Build.xml | 11 +-- project/lib/cairo | 2 +- project/lib/cairo-files.xml | 11 ++- project/lib/overrides/cairo/cairo-features.h | 6 ++ .../overrides/cairo/configs/default/config.h | 85 +++++++++++++++++++ .../overrides/cairo/configs/linux/config.h | 85 +++++++++++++++++++ .../lib/overrides/cairo/configs/mac/config.h | 85 +++++++++++++++++++ .../overrides/cairo/configs/windows/config.h | 85 +++++++++++++++++++ 9 files changed, 359 insertions(+), 13 deletions(-) create mode 100644 project/lib/overrides/cairo/cairo-features.h create mode 100644 project/lib/overrides/cairo/configs/default/config.h create mode 100644 project/lib/overrides/cairo/configs/linux/config.h create mode 100644 project/lib/overrides/cairo/configs/mac/config.h create mode 100644 project/lib/overrides/cairo/configs/windows/config.h diff --git a/.gitmodules b/.gitmodules index 9567ac8c2..b69cb8bf0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -33,7 +33,7 @@ url = https://github.com/openfl/libharfbuzz [submodule "project/lib/cairo"] path = project/lib/cairo - url = https://github.com/openfl/libcairo + url = https://gitlab.freedesktop.org/cairo/cairo.git [submodule "project/lib/pixman"] path = project/lib/pixman url = https://gitlab.freedesktop.org/pixman/pixman.git diff --git a/project/Build.xml b/project/Build.xml index adc2b53bb..d7bb026dc 100644 --- a/project/Build.xml +++ b/project/Build.xml @@ -62,11 +62,12 @@
- - - - - + + + + + + diff --git a/project/lib/cairo b/project/lib/cairo index 70d5bd67f..ad99e1b9d 160000 --- a/project/lib/cairo +++ b/project/lib/cairo @@ -1 +1 @@ -Subproject commit 70d5bd67f3fc3b904f2ce730f61e7403feb62b05 +Subproject commit ad99e1b9d80a9dc8d185f38347d64e1db762523c diff --git a/project/lib/cairo-files.xml b/project/lib/cairo-files.xml index ae19cdc3e..ff8bcd4fd 100644 --- a/project/lib/cairo-files.xml +++ b/project/lib/cairo-files.xml @@ -2,12 +2,11 @@ - - - - - - + + + + + diff --git a/project/lib/overrides/cairo/cairo-features.h b/project/lib/overrides/cairo/cairo-features.h new file mode 100644 index 000000000..284dcf35a --- /dev/null +++ b/project/lib/overrides/cairo/cairo-features.h @@ -0,0 +1,6 @@ +#ifndef CAIRO_FEATURES_H +#define CAIRO_FEATURES_H + + + +#endif diff --git a/project/lib/overrides/cairo/configs/default/config.h b/project/lib/overrides/cairo/configs/default/config.h new file mode 100644 index 000000000..cd8228302 --- /dev/null +++ b/project/lib/overrides/cairo/configs/default/config.h @@ -0,0 +1,85 @@ +#ifndef _cairo_config_h +#define _cairo_config_h + + +// #define CAIRO_HAS_PNG_FUNCTIONS 1 +// #define CAIRO_HAS_XLIB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +// #define CAIRO_HAS_XCB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1 +// #define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +// #define CAIRO_HAS_QT_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_FONT 1 +// #define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1 +// #define CAIRO_HAS_WIN32_SURFACE 1 +// #define CAIRO_HAS_WIN32_FONT 1 +// #define CAIRO_HAS_SKIA_SURFACE 1 +// #define CAIRO_HAS_OS2_SURFACE 1 +// #define CAIRO_HAS_BEOS_SURFACE 1 +// #define CAIRO_HAS_DRM_SURFACE 1 +// #define CAIRO_HAS_GALLIUM_SURFACE 1 +// #define CAIRO_HAS_GL_SURFACE 1 +// #define CAIRO_HAS_GLESV2_SURFACE 1 +// #define CAIRO_HAS_COGL_SURFACE 1 +// #define CAIRO_HAS_DIRECTFB_SURFACE 1 +// #define CAIRO_HAS_VG_SURFACE 1 +// #define CAIRO_HAS_EGL_FUNCTIONS 1 +// #define CAIRO_HAS_GLX_FUNCTIONS 1 +// #define CAIRO_HAS_WGL_FUNCTIONS 1 +// #define CAIRO_HAS_SCRIPT_SURFACE 1 +#define CAIRO_HAS_FT_FONT 1 +// #define CAIRO_HAS_FC_FONT 1 +// #define CAIRO_HAS_PS_SURFACE 1 +// #define CAIRO_HAS_PDF_SURFACE 1 +// #define CAIRO_HAS_SVG_SURFACE 1 +// #define CAIRO_HAS_TEST_SURFACES 1 +// #define CAIRO_HAS_TEE_SURFACE 1 +// #define CAIRO_HAS_XML_SURFACE 1 +#define CAIRO_HAS_PTHREAD 1 +// #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 +// #define CAIRO_HAS_TRACE 1 +// #define CAIRO_HAS_INTERPRETER 1 +// #define CAIRO_HAS_SYMBOL_LOOKUP 1 +#define CAIRO_HAS_DLSYM 1 + + +// #define HAVE_BYTESWAP_H 1 +// #define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +// #define HAVE_SYS_INT_TYPES_H 1 +#define HAVE_UNISTD_H 1 +// #define HAVE_UINT128_T 1 +#define HAVE_UINT64_T 1 + + +// #define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +// #define HAVE_LIB_ATOMIC_OPS 1 +// #define HAVE_OS_ATOMIC_OPS 1 + +// #define HAVE_FT_LIBRARY_SETLCDFILTER 1 +// #define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 +// #define HAVE_FT_GLYPHSLOT_OBLIQUE 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 +// #define HAVE_FT_GET_X11_FONT_FORMAT 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 + +// #define HAVE_MEMFAULT 1 +// #define HAVE_LOCKDEP 1 +// #define HAVE_FCFINI 1 +// #define HAVE_CTIME_R 1 +// #define HAVE_CLOCK_GETTIME 1 + +// #define HAVE_X11_EXTENSIONS_XSHM_H 1 +// #define HAVE_X11_EXTENSIONS_SHMPROTO_H 1 +// #define HAVE_X11_EXTENSIONS_SHMSTR_H 1 + +// #define HAVE_XRENDERCREATESOLIDFILL 1 +// #define HAVE_XRENDERCREATELINEARGRADIENT 1 +// #define HAVE_XRENDERCREATERADIALGRADIENT 1 +// #define HAVE_XRENDERCREATECONICALGRADIENT 1 + +// #define HAVE_VALGRIND 1 + + +#endif \ No newline at end of file diff --git a/project/lib/overrides/cairo/configs/linux/config.h b/project/lib/overrides/cairo/configs/linux/config.h new file mode 100644 index 000000000..c3e63f61e --- /dev/null +++ b/project/lib/overrides/cairo/configs/linux/config.h @@ -0,0 +1,85 @@ +#ifndef _cairo_config_h +#define _cairo_config_h + + +// #define CAIRO_HAS_PNG_FUNCTIONS 1 +// #define CAIRO_HAS_XLIB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +// #define CAIRO_HAS_XCB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1 +// #define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +// #define CAIRO_HAS_QT_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_FONT 1 +// #define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1 +// #define CAIRO_HAS_WIN32_SURFACE 1 +// #define CAIRO_HAS_WIN32_FONT 1 +// #define CAIRO_HAS_SKIA_SURFACE 1 +// #define CAIRO_HAS_OS2_SURFACE 1 +// #define CAIRO_HAS_BEOS_SURFACE 1 +// #define CAIRO_HAS_DRM_SURFACE 1 +// #define CAIRO_HAS_GALLIUM_SURFACE 1 +// #define CAIRO_HAS_GL_SURFACE 1 +// #define CAIRO_HAS_GLESV2_SURFACE 1 +// #define CAIRO_HAS_COGL_SURFACE 1 +// #define CAIRO_HAS_DIRECTFB_SURFACE 1 +// #define CAIRO_HAS_VG_SURFACE 1 +// #define CAIRO_HAS_EGL_FUNCTIONS 1 +// #define CAIRO_HAS_GLX_FUNCTIONS 1 +// #define CAIRO_HAS_WGL_FUNCTIONS 1 +// #define CAIRO_HAS_SCRIPT_SURFACE 1 +#define CAIRO_HAS_FT_FONT 1 +// #define CAIRO_HAS_FC_FONT 1 +// #define CAIRO_HAS_PS_SURFACE 1 +// #define CAIRO_HAS_PDF_SURFACE 1 +// #define CAIRO_HAS_SVG_SURFACE 1 +// #define CAIRO_HAS_TEST_SURFACES 1 +// #define CAIRO_HAS_TEE_SURFACE 1 +// #define CAIRO_HAS_XML_SURFACE 1 +#define CAIRO_HAS_PTHREAD 1 +// #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 +// #define CAIRO_HAS_TRACE 1 +// #define CAIRO_HAS_INTERPRETER 1 +// #define CAIRO_HAS_SYMBOL_LOOKUP 1 +#define CAIRO_HAS_DLSYM 1 + + +#define HAVE_BYTESWAP_H 1 +// #define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +// #define HAVE_SYS_INT_TYPES_H 1 +#define HAVE_UNISTD_H 1 +// #define HAVE_UINT128_T 1 +#define HAVE_UINT64_T 1 + + +// #define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +// #define HAVE_LIB_ATOMIC_OPS 1 +// #define HAVE_OS_ATOMIC_OPS 1 + +// #define HAVE_FT_LIBRARY_SETLCDFILTER 1 +// #define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 +// #define HAVE_FT_GLYPHSLOT_OBLIQUE 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 +// #define HAVE_FT_GET_X11_FONT_FORMAT 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 + +// #define HAVE_MEMFAULT 1 +// #define HAVE_LOCKDEP 1 +// #define HAVE_FCFINI 1 +// #define HAVE_CTIME_R 1 +// #define HAVE_CLOCK_GETTIME 1 + +// #define HAVE_X11_EXTENSIONS_XSHM_H 1 +// #define HAVE_X11_EXTENSIONS_SHMPROTO_H 1 +// #define HAVE_X11_EXTENSIONS_SHMSTR_H 1 + +// #define HAVE_XRENDERCREATESOLIDFILL 1 +// #define HAVE_XRENDERCREATELINEARGRADIENT 1 +// #define HAVE_XRENDERCREATERADIALGRADIENT 1 +// #define HAVE_XRENDERCREATECONICALGRADIENT 1 + +// #define HAVE_VALGRIND 1 + + +#endif \ No newline at end of file diff --git a/project/lib/overrides/cairo/configs/mac/config.h b/project/lib/overrides/cairo/configs/mac/config.h new file mode 100644 index 000000000..cd8228302 --- /dev/null +++ b/project/lib/overrides/cairo/configs/mac/config.h @@ -0,0 +1,85 @@ +#ifndef _cairo_config_h +#define _cairo_config_h + + +// #define CAIRO_HAS_PNG_FUNCTIONS 1 +// #define CAIRO_HAS_XLIB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +// #define CAIRO_HAS_XCB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1 +// #define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +// #define CAIRO_HAS_QT_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_FONT 1 +// #define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1 +// #define CAIRO_HAS_WIN32_SURFACE 1 +// #define CAIRO_HAS_WIN32_FONT 1 +// #define CAIRO_HAS_SKIA_SURFACE 1 +// #define CAIRO_HAS_OS2_SURFACE 1 +// #define CAIRO_HAS_BEOS_SURFACE 1 +// #define CAIRO_HAS_DRM_SURFACE 1 +// #define CAIRO_HAS_GALLIUM_SURFACE 1 +// #define CAIRO_HAS_GL_SURFACE 1 +// #define CAIRO_HAS_GLESV2_SURFACE 1 +// #define CAIRO_HAS_COGL_SURFACE 1 +// #define CAIRO_HAS_DIRECTFB_SURFACE 1 +// #define CAIRO_HAS_VG_SURFACE 1 +// #define CAIRO_HAS_EGL_FUNCTIONS 1 +// #define CAIRO_HAS_GLX_FUNCTIONS 1 +// #define CAIRO_HAS_WGL_FUNCTIONS 1 +// #define CAIRO_HAS_SCRIPT_SURFACE 1 +#define CAIRO_HAS_FT_FONT 1 +// #define CAIRO_HAS_FC_FONT 1 +// #define CAIRO_HAS_PS_SURFACE 1 +// #define CAIRO_HAS_PDF_SURFACE 1 +// #define CAIRO_HAS_SVG_SURFACE 1 +// #define CAIRO_HAS_TEST_SURFACES 1 +// #define CAIRO_HAS_TEE_SURFACE 1 +// #define CAIRO_HAS_XML_SURFACE 1 +#define CAIRO_HAS_PTHREAD 1 +// #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 +// #define CAIRO_HAS_TRACE 1 +// #define CAIRO_HAS_INTERPRETER 1 +// #define CAIRO_HAS_SYMBOL_LOOKUP 1 +#define CAIRO_HAS_DLSYM 1 + + +// #define HAVE_BYTESWAP_H 1 +// #define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +// #define HAVE_SYS_INT_TYPES_H 1 +#define HAVE_UNISTD_H 1 +// #define HAVE_UINT128_T 1 +#define HAVE_UINT64_T 1 + + +// #define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +// #define HAVE_LIB_ATOMIC_OPS 1 +// #define HAVE_OS_ATOMIC_OPS 1 + +// #define HAVE_FT_LIBRARY_SETLCDFILTER 1 +// #define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 +// #define HAVE_FT_GLYPHSLOT_OBLIQUE 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 +// #define HAVE_FT_GET_X11_FONT_FORMAT 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 + +// #define HAVE_MEMFAULT 1 +// #define HAVE_LOCKDEP 1 +// #define HAVE_FCFINI 1 +// #define HAVE_CTIME_R 1 +// #define HAVE_CLOCK_GETTIME 1 + +// #define HAVE_X11_EXTENSIONS_XSHM_H 1 +// #define HAVE_X11_EXTENSIONS_SHMPROTO_H 1 +// #define HAVE_X11_EXTENSIONS_SHMSTR_H 1 + +// #define HAVE_XRENDERCREATESOLIDFILL 1 +// #define HAVE_XRENDERCREATELINEARGRADIENT 1 +// #define HAVE_XRENDERCREATERADIALGRADIENT 1 +// #define HAVE_XRENDERCREATECONICALGRADIENT 1 + +// #define HAVE_VALGRIND 1 + + +#endif \ No newline at end of file diff --git a/project/lib/overrides/cairo/configs/windows/config.h b/project/lib/overrides/cairo/configs/windows/config.h new file mode 100644 index 000000000..2d4c5aeab --- /dev/null +++ b/project/lib/overrides/cairo/configs/windows/config.h @@ -0,0 +1,85 @@ +#ifndef _cairo_config_h +#define _cairo_config_h + + +// #define CAIRO_HAS_PNG_FUNCTIONS 1 +// #define CAIRO_HAS_XLIB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XRENDER_SURFACE 1 +// #define CAIRO_HAS_XCB_SURFACE 1 +// #define CAIRO_HAS_XLIB_XCB_FUNCTIONS 1 +// #define CAIRO_HAS_XCB_SHM_FUNCTIONS 1 +// #define CAIRO_HAS_QT_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_SURFACE 1 +// #define CAIRO_HAS_QUARTZ_FONT 1 +// #define CAIRO_HAS_QUARTZ_IMAGE_SURFACE 1 +// #define CAIRO_HAS_WIN32_SURFACE 1 +// #define CAIRO_HAS_WIN32_FONT 1 +// #define CAIRO_HAS_SKIA_SURFACE 1 +// #define CAIRO_HAS_OS2_SURFACE 1 +// #define CAIRO_HAS_BEOS_SURFACE 1 +// #define CAIRO_HAS_DRM_SURFACE 1 +// #define CAIRO_HAS_GALLIUM_SURFACE 1 +// #define CAIRO_HAS_GL_SURFACE 1 +// #define CAIRO_HAS_GLESV2_SURFACE 1 +// #define CAIRO_HAS_COGL_SURFACE 1 +// #define CAIRO_HAS_DIRECTFB_SURFACE 1 +// #define CAIRO_HAS_VG_SURFACE 1 +// #define CAIRO_HAS_EGL_FUNCTIONS 1 +// #define CAIRO_HAS_GLX_FUNCTIONS 1 +// #define CAIRO_HAS_WGL_FUNCTIONS 1 +// #define CAIRO_HAS_SCRIPT_SURFACE 1 +#define CAIRO_HAS_FT_FONT 1 +// #define CAIRO_HAS_FC_FONT 1 +// #define CAIRO_HAS_PS_SURFACE 1 +// #define CAIRO_HAS_PDF_SURFACE 1 +// #define CAIRO_HAS_SVG_SURFACE 1 +// #define CAIRO_HAS_TEST_SURFACES 1 +// #define CAIRO_HAS_TEE_SURFACE 1 +// #define CAIRO_HAS_XML_SURFACE 1 +// #define CAIRO_HAS_PTHREAD 1 +// #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 +// #define CAIRO_HAS_TRACE 1 +// #define CAIRO_HAS_INTERPRETER 1 +// #define CAIRO_HAS_SYMBOL_LOOKUP 1 +// #define CAIRO_HAS_DLSYM 1 + + +// #define HAVE_BYTESWAP_H 1 +// #define HAVE_INTTYPES_H 1 +// #define HAVE_STDINT_H 1 +// #define HAVE_SYS_INT_TYPES_H 1 +// #define HAVE_UNISTD_H 1 +// #define HAVE_UINT128_T 1 +// #define HAVE_UINT64_T 1 + + +// #define HAVE_INTEL_ATOMIC_PRIMITIVES 1 +// #define HAVE_LIB_ATOMIC_OPS 1 +// #define HAVE_OS_ATOMIC_OPS 1 + +// #define HAVE_FT_LIBRARY_SETLCDFILTER 1 +// #define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 +// #define HAVE_FT_GLYPHSLOT_OBLIQUE 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 +// #define HAVE_FT_GET_X11_FONT_FORMAT 1 +// #define HAVE_FT_LOAD_SFNT_TABLE 1 + +// #define HAVE_MEMFAULT 1 +// #define HAVE_LOCKDEP 1 +// #define HAVE_FCFINI 1 +// #define HAVE_CTIME_R 1 +// #define HAVE_CLOCK_GETTIME 1 + +// #define HAVE_X11_EXTENSIONS_XSHM_H 1 +// #define HAVE_X11_EXTENSIONS_SHMPROTO_H 1 +// #define HAVE_X11_EXTENSIONS_SHMSTR_H 1 + +// #define HAVE_XRENDERCREATESOLIDFILL 1 +// #define HAVE_XRENDERCREATELINEARGRADIENT 1 +// #define HAVE_XRENDERCREATERADIALGRADIENT 1 +// #define HAVE_XRENDERCREATECONICALGRADIENT 1 + +// #define HAVE_VALGRIND 1 + + +#endif \ No newline at end of file