diff options
author | Tor Lillqvist <tml@iki.fi> | 2011-07-01 02:23:55 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2011-07-01 02:24:04 +0300 |
commit | b2320b1e49ee98dcc269fa2cc23655b805e6500e (patch) | |
tree | 9b65794985f051b7bc0bdc30f3da48dfddd21d15 /cairo | |
parent | ed0f6feebd0726931a8de289fa5f1720374297e0 (diff) |
Enable building the "quartz" font backend without the "quartz" surface, for iOS
The quartz surface code won't build for iOS, but the font code
will. So let's try to use it. Maybe later make the surface build, too,
it might be trivial.
Diffstat (limited to 'cairo')
-rw-r--r-- | cairo/cairo-1.8.0.patch | 72 | ||||
-rw-r--r-- | cairo/cairo/makefile.mk | 12 |
2 files changed, 78 insertions, 6 deletions
diff --git a/cairo/cairo-1.8.0.patch b/cairo/cairo-1.8.0.patch index f2ce5b67bfd4..70b3c2fd7d49 100644 --- a/cairo/cairo-1.8.0.patch +++ b/cairo/cairo-1.8.0.patch @@ -197,6 +197,14 @@ diff -ur misc/build/cairo-1.8.0.org/configure misc/build/cairo-1.8.0/configure { echo "$as_me:$LINENO: checking for X" >&5 +@@ -29865,7 +29865,6 @@ + quartz_font_NONPKGCONFIG_LIBS="$ac_env_quartz_font_NONPKGCONFIG_LIBS_value" + + +- use_quartz_font=$use_quartz + + cairo_cv_quartz_font_use=$use_quartz_font + cairo_cv_quartz_font_cache_vars=" BASE REQUIRES CFLAGS NONPKGCONFIG_CFLAGS LIBS NONPKGCONFIG_LIBS" @@ -31723,7 +31723,7 @@ if test "x$png_REQUIRES" = x; then @@ -283,3 +291,67 @@ diff -ur misc/build/cairo-1.8.0.org/src/cairo-ps-surface.c misc/build/cairo-1.8. decimal_point_len = strlen (decimal_point); assert (decimal_point_len != 0); +--- misc/build/cairo-1.8.0.org/src/cairo-quartz.h ++++ misc/build/cairo-1.8.0/src/cairo-quartz.h +@@ -57,26 +57,28 @@ + cairo_public CGContextRef + cairo_quartz_surface_get_cg_context (cairo_surface_t *surface); + ++#endif /* CAIRO_HAS_QUARTZ_SURFACE */ ++ + #if CAIRO_HAS_QUARTZ_FONT + + /* + * Quartz font support + */ + ++#include <CoreGraphics/CoreGraphics.h> ++ + cairo_public cairo_font_face_t * + cairo_quartz_font_face_create_for_cgfont (CGFontRef font); + ++#if !TARGET_OS_IPHONE ++ + cairo_public cairo_font_face_t * + cairo_quartz_font_face_create_for_atsu_font_id (ATSUFontID font_id); ++ ++#endif /* !TARGET_OS_IPHONE */ + + #endif /* CAIRO_HAS_QUARTZ_FONT */ + + CAIRO_END_DECLS + +-#else +- +-# error Cairo was not compiled with support for the quartz backend +- +-#endif /* CAIRO_HAS_QUARTZ_SURFACE */ +- + #endif /* CAIRO_QUARTZ_H */ +--- misc/build/cairo-1.8.0.org/src/cairo-quartz-font.c ++++ misc/build/cairo-1.8.0/src/cairo-quartz-font.c +@@ -39,7 +39,9 @@ + #include <dlfcn.h> + + #include "cairo-quartz.h" ++#if !TARGET_OS_IPHONE + #include "cairo-quartz-private.h" ++#endif + + /* CreateWithFontName exists in 10.5, but not in 10.4; CreateWithName isn't public in 10.4 */ + static CGFontRef (*CGFontCreateWithFontNamePtr) (CFStringRef) = NULL; +@@ -766,6 +766,8 @@ + } + + ++#if !TARGET_OS_IPHONE ++ + /* + * compat with old ATSUI backend + */ +@@ -808,3 +808,5 @@ + { + return cairo_quartz_font_face_create_for_atsu_font_id (font_id); + } ++ ++#endif /* !TARGET_OS_IPHONE */ diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk index 5cae5f05ff49..70dfdb069a95 100644 --- a/cairo/cairo/makefile.mk +++ b/cairo/cairo/makefile.mk @@ -143,21 +143,21 @@ cairo_CFLAGS+=-march=i486 CONFIGURE_DIR= -.IF "$(OS)"=="ANDROID" -# No pkg-config in the Android NDK +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +# No pkg-config on MacOSX (for iOS) or in the Android NDK CONFIGURE_ACTION=cp $(SRC_ROOT)$/$(PRJNAME)$/cairo$/dummy_pkg_config . && .$/configure .ELSE CONFIGURE_ACTION=.$/configure .ENDIF .IF "$(OS)"=="IOS" -CONFIGURE_FLAGS=--disable-shared +CONFIGURE_FLAGS=--disable-shared --disable-xlib --disable-quartz --enable-quartz-font=yes .ELSE CONFIGURE_FLAGS=--disable-static --enable-xlib .ENDIF -.IF "$(OS)"=="ANDROID" -CONFIGURE_FLAGS+=--disable-ft +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +CONFIGURE_FLAGS+=--disable-ft PKG_CONFIG=./dummy_pkg_config .ELSE CONFIGURE_FLAGS+=--enable-ft .ENDIF @@ -222,7 +222,7 @@ OUT2LIB+=src$/release$/*.lib OUT2BIN+=src$/release$/*.dll .ENDIF .ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" -OUT2LIB+=src$/.libs$/libcairo-1.a +OUT2LIB+=src$/.libs$/libcairo*.a .ELSE OUT2LIB+=src$/.libs$/libcairo.so* .ENDIF |