Mercurial > mxe-octave
changeset 3176:0fc090129214
[MSVC] add GTK+ 3.x module (and MSVC-specific patch)
author | Michael Goffioul <michael.goffioul@gmail.com> |
---|---|
date | Thu, 25 Jul 2013 15:44:17 -0400 |
parents | f283b410a60f |
children | 9e883aedbf4d |
files | dist-files.mk index.html src/gtk3.mk src/msvc-gtk3-1.patch |
diffstat | 4 files changed, 204 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dist-files.mk Thu Jul 25 15:43:35 2013 -0400 +++ b/dist-files.mk Thu Jul 25 15:44:17 2013 -0400 @@ -126,6 +126,7 @@ gtk2-1-fixes.patch \ gtk2-test.c \ gtk2.mk \ + gtk3.mk \ gtkglarea-1-fixes.patch \ gtkglarea.mk \ gtkglext-1-fixes.patch \ @@ -295,6 +296,7 @@ msvc-glib-1.patch \ msvc-gnutls-1.patch \ msvc-graphicsmagick-1.patch \ + msvc-gtk3-1.patch \ msvc-harfbuzz-1.patch \ msvc-hdf5-1.patch \ msvc-itsol-1.patch \
--- a/index.html Thu Jul 25 15:43:35 2013 -0400 +++ b/index.html Thu Jul 25 15:44:17 2013 -0400 @@ -1324,6 +1324,11 @@ <td id="gtk2-website"><a href="http://www.gtk.org/">GTK+</a></td> </tr> <tr> + <td id="gtk3-package">gtk3</td> + <td id="gtk3-version">3.8.2</td> + <td id="gtk3-website"><a href="http://www.gtk.org/">GTK+</a></td> + </tr> + <tr> <td id="gtkglarea-package">gtkGLArea</td> <td id="gtkglarea-version">2.0.1</td> <td id="gtkglarea-website"><a href="http://www.mono-project.com/GtkGLArea/">GtkGLArea</a></td>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gtk3.mk Thu Jul 25 15:44:17 2013 -0400 @@ -0,0 +1,40 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := gtk3 +$(PKG)_IGNORE := +$(PKG)_CHECKSUM := c519b553b618588f288c70ea5dce1145588944eb +$(PKG)_SUBDIR := gtk+-$($(PKG)_VERSION) +$(PKG)_FILE := gtk+-$($(PKG)_VERSION).tar.xz +$(PKG)_URL := http://ftp.gnome.org/pub/gnome/sources/gtk+/$(call SHORT_PKG_VERSION,$(PKG))/$($(PKG)_FILE) +$(PKG)_DEPS := gettext libpng jpeg tiff jasper glib atk pango cairo gdk-pixbuf + +define $(PKG)_UPDATE + $(WGET) -q -O- 'http://git.gnome.org/browse/gtk+/refs/tags' | \ + grep '<a href=' | \ + $(SED) -n 's,.*<a[^>]*>\([0-9]*\.[0-9]*[02468]\.[^<]*\)<.*,\1,p' | \ + grep -v '^3\.9' | \ + grep '^3\.' | \ + head -1 +endef + +define $(PKG)_BUILD + cd '$(1)' && ./configure \ + $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ + $(ENABLE_SHARED_OR_STATIC) \ + --prefix='$(HOST_PREFIX)' \ + --enable-explicit-deps \ + --disable-glibtest \ + --disable-modules \ + --disable-cups \ + --disable-test-print-backend \ + --disable-gtk-doc \ + --disable-man \ + --with-included-immodules \ + --without-x \ + PKG_CONFIG='$(MXE_PKG_CONFIG)' \ + PKG_CONFIG_PATH='$(HOST_LIBDIR)/pkgconfig' \ + && $(CONFIGURE_POST_HOOK) + $(MAKE) -C '$(1)' -j '$(JOBS)' noinst_PROGRAMS= + $(MAKE) -C '$(1)' -j 1 install noinst_PROGRAMS= +endef
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/msvc-gtk3-1.patch Thu Jul 25 15:44:17 2013 -0400 @@ -0,0 +1,157 @@ +diff -ur gtk+-3.8.2-orig/gdk/Makefile.in gtk+-3.8.2/gdk/Makefile.in +--- gtk+-3.8.2-orig/gdk/Makefile.in 2013-05-13 06:26:30 -0400 ++++ gtk+-3.8.2/gdk/Makefile.in 2013-07-25 13:13:07 -0400 +@@ -67,7 +67,7 @@ + @USE_WIN32_FALSE@ $(am__append_1) $(am__append_2) \ + @USE_WIN32_FALSE@ $(am__append_4) $(am__append_6) \ + @USE_WIN32_FALSE@ $(am__append_7) +-@USE_WIN32_TRUE@am__append_5 = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def ++@USE_WIN32_TRUE@am__append_5 = -Wl,win32/rc/gdk-win32-res.o -export-symbols-regex "xXx" -Wl,$(srcdir)/gdk.def + @USE_BROADWAY_TRUE@am__append_6 = broadway/libgdk-broadway.la + @USE_WAYLAND_TRUE@am__append_7 = wayland/libgdk-wayland.la + @HAVE_INTROSPECTION_TRUE@am__append_8 = Gdk-3.0.gir +@@ -942,7 +942,7 @@ + @HAVE_INTROSPECTION_TRUE@gir_DATA = $(INTROSPECTION_GIRS) + @HAVE_INTROSPECTION_TRUE@typelibsdir = $(libdir)/girepository-1.0 + @HAVE_INTROSPECTION_TRUE@typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) +-@MS_LIB_AVAILABLE_TRUE@noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib ++@MS_LIB_AVAILABLE_FALSE@noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib + TESTS_ENVIRONMENT = srcdir="$(srcdir)" + @OS_LINUX_TRUE@TESTS = abicheck.sh + lib_LTLIBRARIES = libgdk-3.la +@@ -1717,17 +1717,17 @@ + @OS_WIN32_FALSE@install-def-file: + @OS_WIN32_FALSE@uninstall-def-file: + +-@MS_LIB_AVAILABLE_TRUE@gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def +-@MS_LIB_AVAILABLE_TRUE@ lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@ ++@MS_LIB_AVAILABLE_FALSE@gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def ++@MS_LIB_AVAILABLE_FALSE@ lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@ + +-@MS_LIB_AVAILABLE_TRUE@install-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ mkdir -p $(DESTDIR)$(libdir) +-@MS_LIB_AVAILABLE_TRUE@ $(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir) +- +-@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ -rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib + @MS_LIB_AVAILABLE_FALSE@install-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ mkdir -p $(DESTDIR)$(libdir) ++@MS_LIB_AVAILABLE_FALSE@ $(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir) ++ + @MS_LIB_AVAILABLE_FALSE@uninstall-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ -rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib ++@MS_LIB_AVAILABLE_TRUE@install-ms-lib: ++@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: + + # This places the generated .def file in srcdir, since it is expected to be there. + # (The one from a tarball is) +diff -ur gtk+-3.8.2-orig/gtk/Makefile.in gtk+-3.8.2/gtk/Makefile.in +--- gtk+-3.8.2-orig/gtk/Makefile.in 2013-05-13 06:26:32 -0400 ++++ gtk+-3.8.2/gtk/Makefile.in 2013-07-25 13:14:52 -0400 +@@ -1146,7 +1146,7 @@ + --includedir=. \ + --includedir=../gdk + +-@USE_QUARTZ_FALSE@GTK_PRINT_PREVIEW_COMMAND = "evince --unlink-tempfile --preview --print-settings %s %f" ++@USE_QUARTZ_FALSE@GTK_PRINT_PREVIEW_COMMAND = "evince --unlink-tempfile --preview --print-settings %%s %%f" + @USE_QUARTZ_TRUE@GTK_PRINT_PREVIEW_COMMAND = "open -a /Applications/Preview.app %f" + SUBDIRS = a11y native . tests + @HAVE_CUPS_FALSE@@HAVE_PAPI_CUPS_FALSE@@HAVE_PAPI_FALSE@GTK_PRINT_BACKENDS = file,lpr +@@ -1178,10 +1178,10 @@ + + @PLATFORM_WIN32_TRUE@no_undefined = -no-undefined + @OS_WIN32_TRUE@gtk_def = gtk.def +-@OS_WIN32_TRUE@gtk_win32_symbols = -export-symbols $(srcdir)/gtk.def ++@OS_WIN32_TRUE@gtk_win32_symbols = -export-symbols-regex "xXx" -Wl,$(srcdir)/gtk.def + @OS_WIN32_TRUE@gtk_win32_res = gtk-win32-res.o + @OS_WIN32_TRUE@gtk_win32_res_ldflag = -Wl,gtk-win32-res.o +-@MS_LIB_AVAILABLE_TRUE@noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib ++@MS_LIB_AVAILABLE_FALSE@noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib + TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)" + @OS_LINUX_TRUE@TESTS = abicheck.sh + libgtkincludedir = $(includedir)/gtk-3.0/gtk +@@ -6037,16 +6037,16 @@ + @OS_WIN32_FALSE@install-def-file: + @OS_WIN32_FALSE@uninstall-def-file: + +-@MS_LIB_AVAILABLE_TRUE@gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def +-@MS_LIB_AVAILABLE_TRUE@ lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@ ++@MS_LIB_AVAILABLE_FALSE@gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def ++@MS_LIB_AVAILABLE_FALSE@ lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@ + +-@MS_LIB_AVAILABLE_TRUE@install-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir) +- +-@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib + @MS_LIB_AVAILABLE_FALSE@install-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir) ++ + @MS_LIB_AVAILABLE_FALSE@uninstall-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib ++@MS_LIB_AVAILABLE_TRUE@install-ms-lib: ++@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: + + # This places the generated .def file in srcdir, since it is expected to be there. + # (The one from a tarball is) +diff -ur gtk+-3.8.2-orig/gtk/gtk-launch.c gtk+-3.8.2/gtk/gtk-launch.c +--- gtk+-3.8.2-orig/gtk/gtk-launch.c 2013-03-09 15:03:18 -0500 ++++ gtk+-3.8.2/gtk/gtk-launch.c 2013-07-25 13:14:26 -0400 +@@ -117,7 +117,9 @@ + info = G_APP_INFO (g_desktop_app_info_new (desktop_file_name)); + g_free (desktop_file_name); + #else ++#ifndef _MSC_VER + #warning Please add support for creating AppInfo from id for your OS ++#endif + g_printerr (_("Creating AppInfo from id not supported on non unix operating systems")); + #endif + args++; +diff -ur gtk+-3.8.2-orig/gtk/tests/testing.c gtk+-3.8.2/gtk/tests/testing.c +--- gtk+-3.8.2-orig/gtk/tests/testing.c 2013-03-09 15:03:21 -0500 ++++ gtk+-3.8.2/gtk/tests/testing.c 2013-07-25 13:38:15 -0400 +@@ -138,7 +138,11 @@ + static void + test_text_access (void) + { ++#ifdef _MSC_VER ++# define N_WIDGETS 3 ++#else + const int N_WIDGETS = 3; ++#endif + GtkWidget *widgets[N_WIDGETS]; + int i = 0; + widgets[i++] = gtk_test_create_widget (GTK_TYPE_LABEL, NULL); +diff -ur gtk+-3.8.2-orig/libgail-util/Makefile.in gtk+-3.8.2/libgail-util/Makefile.in +--- gtk+-3.8.2-orig/libgail-util/Makefile.in 2013-05-13 06:26:32 -0400 ++++ gtk+-3.8.2/libgail-util/Makefile.in 2013-07-25 13:19:45 -0400 +@@ -473,8 +473,8 @@ + && DISPLAY=:$$XID && export DISPLAY + + @PLATFORM_WIN32_TRUE@no_undefined = -no-undefined +-@OS_WIN32_TRUE@export_symbols = -export-symbols $(srcdir)/gailutil.def +-@MS_LIB_AVAILABLE_TRUE@noinst_DATA = gailutil.lib ++@OS_WIN32_TRUE@export_symbols = -export-symbols-regex "xXx" -Wl,$(srcdir)/gailutil.def ++@MS_LIB_AVAILABLE_FALSE@noinst_DATA = gailutil.lib + lib_LTLIBRARIES = libgailutil-3.la + util_c_sources = \ + gailmisc.c \ +@@ -936,13 +936,13 @@ + @OS_WIN32_FALSE@install-def-file: + @OS_WIN32_FALSE@uninstall-def-file: + +-@MS_LIB_AVAILABLE_TRUE@install-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ $(INSTALL) gailutil.lib $(DESTDIR)$(libdir) +- +-@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: +-@MS_LIB_AVAILABLE_TRUE@ -rm $(DESTDIR)$(libdir)/gailutil.lib + @MS_LIB_AVAILABLE_FALSE@install-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ $(INSTALL) gailutil.lib $(DESTDIR)$(libdir) ++ + @MS_LIB_AVAILABLE_FALSE@uninstall-ms-lib: ++@MS_LIB_AVAILABLE_FALSE@ -rm $(DESTDIR)$(libdir)/gailutil.lib ++@MS_LIB_AVAILABLE_TRUE@install-ms-lib: ++@MS_LIB_AVAILABLE_TRUE@uninstall-ms-lib: + + gailutil.lib: libgailutil-3.la gailutil.def + lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgailutil-3.0-$(GAIL_LT_CURRENT_MINUS_AGE).dll -def:gailutil.def -out:$@