Mercurial > mxe-octave
diff src/msvc-cairo-1.patch @ 3167:6aaa1723e277
[MSVC] enable Cairo compilation (and bump version to 1.12.14)
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Mon, 22 Jul 2013 15:40:11 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msvc-cairo-1.patch Mon Jul 22 15:40:11 2013 -0400 @@ -0,0 +1,142 @@ +diff -ur cairo-1.12.14-orig/perf/cairo-analyse-trace.c cairo-1.12.14/perf/cairo-analyse-trace.c +--- cairo-1.12.14-orig/perf/cairo-analyse-trace.c 2012-02-01 19:48:14 -0500 ++++ cairo-1.12.14/perf/cairo-analyse-trace.c 2013-07-22 13:51:18 -0400 +@@ -53,7 +53,19 @@ + #include <sys/stat.h> + + #ifdef _MSC_VER ++#ifdef __CLGCC__ ++#include <dirent.h> ++#else + #include "dirent-win32.h" ++#endif ++ ++#ifndef R_OK ++#define R_OK 4 ++#endif ++ ++#ifndef S_ISDIR ++#define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) ++#endif + + static char * + basename_no_ext (char *path) +@@ -212,8 +224,8 @@ + { + char *trace_cpy, *name; + const cairo_script_interpreter_hooks_t hooks = { +- .closure = args, +- .surface_create = surface_create, ++ /*.closure =*/ args, ++ /*.surface_create =*/ surface_create, + }; + + trace_cpy = xstrdup (trace); +diff -ur cairo-1.12.14-orig/perf/cairo-perf-trace.c cairo-1.12.14/perf/cairo-perf-trace.c +--- cairo-1.12.14-orig/perf/cairo-perf-trace.c 2013-01-29 08:54:51 -0500 ++++ cairo-1.12.14/perf/cairo-perf-trace.c 2013-07-22 13:51:41 -0400 +@@ -54,7 +54,19 @@ + #include <sys/stat.h> + + #ifdef _MSC_VER ++#ifdef __CLGCC__ ++#include <dirent.h> ++#else + #include "dirent-win32.h" ++#endif ++ ++#ifndef R_OK ++#define R_OK 4 ++#endif ++ ++#ifndef S_ISDIR ++#define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) ++#endif + + static char * + basename_no_ext (char *path) +diff -ur cairo-1.12.14-orig/src/Makefile.in cairo-1.12.14/src/Makefile.in +--- cairo-1.12.14-orig/src/Makefile.in 2013-02-10 08:39:15 -0500 ++++ cairo-1.12.14/src/Makefile.in 2013-07-22 13:16:42 -0400 +@@ -1639,7 +1639,7 @@ + #MAINTAINERCLEANFILES += $(srcdir)/Makefile.win32.features + AM_CPPFLAGS = -I$(srcdir) $(CAIRO_CFLAGS) + AM_LDFLAGS = $(CAIRO_LDFLAGS) +-@OS_WIN32_TRUE@export_symbols = -export-symbols cairo.def ++@OS_WIN32_TRUE@export_symbols = -export-symbols-regex "xXx" -Wl,cairo.def + @OS_WIN32_TRUE@cairo_def_dependency = cairo.def + cairoincludedir = $(includedir)/cairo + +@@ -2720,7 +2720,6 @@ + $(EGREP) '^cairo_.* \(' | \ + sed -e 's/[ ].*//' | \ + sort; \ +- echo LIBRARY libcairo-$(CAIRO_VERSION_SONUM).dll; \ + ) >$@ + @ ! grep -q cairo_ERROR $@ || ($(RM) $@; false) + +diff -ur cairo-1.12.14-orig/src/cairo-ft-font.c cairo-1.12.14/src/cairo-ft-font.c +--- cairo-1.12.14-orig/src/cairo-ft-font.c 2013-01-03 15:06:16 -0500 ++++ cairo-1.12.14/src/cairo-ft-font.c 2013-07-22 13:13:21 -0400 +@@ -66,6 +66,9 @@ + + #if HAVE_UNISTD_H + #include <unistd.h> ++#if defined (_MSC_VER) && ! defined (R_OK) ++#define R_OK 4 ++#endif + #else + #define access(p, m) 0 + #endif +diff -ur cairo-1.12.14-orig/test/bitmap-font.c cairo-1.12.14/test/bitmap-font.c +--- cairo-1.12.14-orig/test/bitmap-font.c 2010-06-13 15:58:21 -0400 ++++ cairo-1.12.14/test/bitmap-font.c 2013-07-22 13:39:06 -0400 +@@ -36,6 +36,10 @@ + #define FONT "6x13.pcf" + #define TEXT_SIZE 13 + ++#if defined (_MSC_VER) && ! defined (S_ISREG) ++# define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) ++#endif ++ + static cairo_bool_t + font_extents_equal (const cairo_font_extents_t *A, + const cairo_font_extents_t *B) +diff -ur cairo-1.12.14-orig/test/ft-show-glyphs-table.c cairo-1.12.14/test/ft-show-glyphs-table.c +--- cairo-1.12.14-orig/test/ft-show-glyphs-table.c 2010-06-13 15:58:21 -0400 ++++ cairo-1.12.14/test/ft-show-glyphs-table.c 2013-07-22 13:36:00 -0400 +@@ -88,7 +88,9 @@ + { + charcode = FT_Get_First_Char(face, &idx); + while (idx && (i < NUM_GLYPHS)) { +- glyphs[i] = (cairo_glyph_t) {idx, PAD + GRID_SIZE * (i/GRID_ROWS), PAD + TEXT_SIZE + GRID_SIZE * (i%GRID_ROWS)}; ++ glyphs[i].index = idx; ++ glyphs[i].x = PAD + GRID_SIZE * (i/GRID_ROWS); ++ glyphs[i].y = PAD + TEXT_SIZE + GRID_SIZE * (i%GRID_ROWS); + i++; + charcode = FT_Get_Next_Char(face, charcode, &idx); + } +diff -ur cairo-1.12.14-orig/util/cairo-gobject/Makefile.in cairo-1.12.14/util/cairo-gobject/Makefile.in +--- cairo-1.12.14-orig/util/cairo-gobject/Makefile.in 2013-02-10 08:39:17 -0500 ++++ cairo-1.12.14/util/cairo-gobject/Makefile.in 2013-07-22 13:28:22 -0400 +@@ -388,7 +388,7 @@ + $(NULL) + + libcairo_gobject_la_CFLAGS = $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS) +-libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) ++libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex "^cairo_gobject_.*" + libcairo_gobject_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(GOBJECT_LIBS) + all: all-am + +diff -ur cairo-1.12.14-orig/util/cairo-script/Makefile.in cairo-1.12.14/util/cairo-script/Makefile.in +--- cairo-1.12.14-orig/util/cairo-script/Makefile.in 2013-02-10 08:39:17 -0500 ++++ cairo-1.12.14/util/cairo-script/Makefile.in 2013-07-22 13:28:01 -0400 +@@ -480,7 +480,7 @@ + $(NULL) + + libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS) +-libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) ++libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) -export-symbols-regex "^cairo_script_.*" + libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS) -lz + csi_replay_SOURCES = csi-replay.c + csi_replay_CFLAGS = $(CAIRO_CFLAGS)