view src/gtk2-1-fixes.patch @ 2858:7c6b29399d05

New script to make shared libraries from static libraries. This script should only be used as a temporary solution for those packages which do not have Makefiles that can be easily fixed to generate shared libraries. It would be better to fix the build systems of these libraries to correctly generate shared libraries using CMake or autotools.
author John W. Eaton <jwe@octave.org>
date Thu, 15 Nov 2012 16:14:26 -0500
parents 207751177c95
children
line wrap: on
line source

This file is part of MXE.
See index.html for further information.

Contains ad hoc patches for cross building.

From 2e42ff35296c81959a8fab06aa8d3dacf19632d8 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:43:43 +0200
Subject: [PATCH 01/10] s,DllMain,static _disabled_DllMain,


diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c
index dc139be..be2a7ee 100644
--- a/gdk/win32/gdkmain-win32.c
+++ b/gdk/win32/gdkmain-win32.c
@@ -65,7 +65,7 @@ const GOptionEntry _gdk_windowing_args[] = {
 };
 
 int __stdcall
-DllMain (HINSTANCE hinstDLL,
+gdk_DllMain (HINSTANCE hinstDLL,
 	 DWORD     dwReason,
 	 LPVOID    reserved)
 {
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index d081f70..aa2973d 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -74,7 +74,7 @@
 static HMODULE gtk_dll;
 
 BOOL WINAPI
-DllMain (HINSTANCE hinstDLL,
+gtk_DllMain (HINSTANCE hinstDLL,
 	 DWORD     fdwReason,
 	 LPVOID    lpvReserved)
 {
-- 
1.7.7.3


From 86527a238545e47b4770531c79f5f2ead59aab85 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:46:20 +0200
Subject: [PATCH 02/10] s,__declspec(dllimport),,


diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index 506f35d..f40de41 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -41,7 +41,7 @@
 #  ifdef GDK_COMPILATION
 #    define GDKVAR __declspec(dllexport)
 #  else
-#    define GDKVAR extern __declspec(dllimport)
+#    define GDKVAR extern 
 #  endif
 #else
 #  define GDKVAR extern
diff --git a/gtk/gtkdebug.h b/gtk/gtkdebug.h
index 2190973..0a1c43c 100644
--- a/gtk/gtkdebug.h
+++ b/gtk/gtkdebug.h
@@ -66,7 +66,7 @@ typedef enum {
 #  ifdef GTK_COMPILATION
 #    define GTKVAR __declspec(dllexport)
 #  else
-#    define GTKVAR extern __declspec(dllimport)
+#    define GTKVAR extern 
 #  endif
 #else
 #  define GTKVAR extern
diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h
index bbea9cd..059d7d0 100644
--- a/gtk/gtkmain.h
+++ b/gtk/gtkmain.h
@@ -69,7 +69,7 @@ typedef gint	(*GtkKeySnoopFunc)	    (GtkWidget	  *grab_widget,
 #ifdef GTK_COMPILATION
 #define GTKMAIN_C_VAR __declspec(dllexport)
 #else
-#define GTKMAIN_C_VAR extern __declspec(dllimport)
+#define GTKMAIN_C_VAR extern 
 #endif
 #else
 #define GTKMAIN_C_VAR extern
diff --git a/gtk/gtktexttypes.h b/gtk/gtktexttypes.h
index c624aea..b792ea5 100644
--- a/gtk/gtktexttypes.h
+++ b/gtk/gtktexttypes.h
@@ -46,7 +46,7 @@ typedef struct _GtkTextMarkBody GtkTextMarkBody;
 #ifdef GTK_COMPILATION
 #define VARIABLE __declspec(dllexport)
 #else
-#define VARIABLE extern __declspec(dllimport)
+#define VARIABLE extern 
 #endif
 #else
 #define VARIABLE extern
-- 
1.7.7.3


From 7277a7022eb4ffb498475d969057d3a57e687222 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 15:03:28 +0200
Subject: [PATCH 03/10] s,__declspec(dllexport),,


diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index f40de41..07cfb4e 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -39,7 +39,7 @@
 
 #ifdef G_OS_WIN32
 #  ifdef GDK_COMPILATION
-#    define GDKVAR __declspec(dllexport)
+#    define GDKVAR 
 #  else
 #    define GDKVAR extern 
 #  endif
diff --git a/gtk/gtkdebug.h b/gtk/gtkdebug.h
index 0a1c43c..507ff69 100644
--- a/gtk/gtkdebug.h
+++ b/gtk/gtkdebug.h
@@ -64,7 +64,7 @@ typedef enum {
 
 #ifdef G_OS_WIN32
 #  ifdef GTK_COMPILATION
-#    define GTKVAR __declspec(dllexport)
+#    define GTKVAR 
 #  else
 #    define GTKVAR extern 
 #  endif
diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h
index 059d7d0..8c360d0 100644
--- a/gtk/gtkmain.h
+++ b/gtk/gtkmain.h
@@ -67,7 +67,7 @@ typedef gint	(*GtkKeySnoopFunc)	    (GtkWidget	  *grab_widget,
  */
 #ifdef G_PLATFORM_WIN32
 #ifdef GTK_COMPILATION
-#define GTKMAIN_C_VAR __declspec(dllexport)
+#define GTKMAIN_C_VAR 
 #else
 #define GTKMAIN_C_VAR extern 
 #endif
diff --git a/gtk/gtktexttypes.h b/gtk/gtktexttypes.h
index b792ea5..f382a64 100644
--- a/gtk/gtktexttypes.h
+++ b/gtk/gtktexttypes.h
@@ -44,7 +44,7 @@ typedef struct _GtkTextMarkBody GtkTextMarkBody;
 
 #ifdef G_OS_WIN32
 #ifdef GTK_COMPILATION
-#define VARIABLE __declspec(dllexport)
+#define VARIABLE 
 #else
 #define VARIABLE extern 
 #endif
-- 
1.7.7.3


From 604fcdb64972a82c6a430c36debc9f66c7f05d90 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:17:22 +0200
Subject: [PATCH 04/10] fix gtk+-2.0.pc.in


diff --git a/gtk+-2.0.pc.in b/gtk+-2.0.pc.in
index 46853e1..7f3eb22 100644
--- a/gtk+-2.0.pc.in
+++ b/gtk+-2.0.pc.in
@@ -11,5 +11,5 @@ Name: GTK+
 Description: GTK+ Graphical UI Library (${target} target)
 Version: @VERSION@
 Requires: gdk-${target}-2.0 @GTK_PACKAGES@
-Libs: -L${libdir} -lgtk-${target}-@GTK_API_VERSION@ @GTK_EXTRA_LIBS@
+Libs: -L${libdir} -lgtk-${target}-@GTK_API_VERSION@ @GTK_DEP_LIBS@ -lwinspool -lcomctl32 -lcomdlg32
 Cflags: -I${includedir}/gtk-2.0 @GTK_EXTRA_CFLAGS@
-- 
1.7.7.3


From a778e96b43b556389f1e3a6712072eaee9e2adb2 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:48:31 +0200
Subject: [PATCH 05/10] disable gtkbuiltincache


diff --git a/gtk/Makefile.in b/gtk/Makefile.in
index 76981d8..b6d170f 100644
--- a/gtk/Makefile.in
+++ b/gtk/Makefile.in
@@ -2888,7 +2888,7 @@ stamp-icons: $(STOCK_ICONS)
 	) done 								\
 	&& touch stamp-icons
 
-gtkbuiltincache.h: @REBUILD@ stamp-icons
+_disabled_gtkbuiltincache.h: @REBUILD@ stamp-icons
 	$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
 	$(gtk_update_icon_cache_program) --force --ignore-theme-index		\
 	   --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
-- 
1.7.7.3


From 58310acc28f8e6994281eacac1989e8e6c51c150 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:49:50 +0200
Subject: [PATCH 06/10] disable test-inline-pixbufs.h


diff --git a/demos/Makefile.in b/demos/Makefile.in
index 9f90d09..2e4f967 100644
--- a/demos/Makefile.in
+++ b/demos/Makefile.in
@@ -432,7 +432,7 @@ LDADDS = \
 	$(GTK_DEP_LIBS)							\
 	$(MATH_LIB)
 
-BUILT_SOURCES = test-inline-pixbufs.h
+BUILT_SOURCES = 
 testpixbuf_DEPENDENCIES = $(DEPS)
 testpixbuf_drawable_DEPENDENCIES = $(DEPS)
 testpixbuf_save_DEPENDENCIES = $(DEPS)
-- 
1.7.7.3


From 7532813f3bfe95fe088c06ce11d31c0d3d66c559 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:51:04 +0200
Subject: [PATCH 07/10] permit static building


diff --git a/configure b/configure
index 5eedff6..6380da5 100755
--- a/configure
+++ b/configure
@@ -4361,9 +4361,9 @@ if test "${enable_static+set}" = set; then :
   enableval=$enable_static; p=${PACKAGE-default}
     case $enableval in
     yes) enable_static=yes ;;
-    no) enable_static=no ;;
+    no) enable_static=yes ;;
     *)
-     enable_static=no
+     enable_static=yes
       # Look at the argument we got.  We use all the common list separators.
       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
       for pkg in $enableval; do
@@ -4376,7 +4376,7 @@ if test "${enable_static+set}" = set; then :
       ;;
     esac
 else
-  enable_static=no
+  enable_static=yes
 fi
 
 
@@ -4944,15 +4944,15 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 if test "$os_win32" = "yes"; then
   if test x$enable_static = xyes -o x$enable_static = x; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling static library build, must build as DLL on Windows." >&5
-$as_echo "$as_me: WARNING: Disabling static library build, must build as DLL on Windows." >&2;}
-    enable_static=no
+    { $as_echo "(disabled warning)" >&5
+$as_echo "(disabled warning)" >&2;}
+    enable_static=yes
   fi
   if test x$enable_shared = xno; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Enabling shared library build, must build as DLL on Windows." >&5
-$as_echo "$as_me: WARNING: Enabling shared library build, must build as DLL on Windows." >&2;}
+    { $as_echo "(disabled warning)" >&5
+$as_echo "(disabled warning)" >&2;}
   fi
-  enable_shared=yes
+  enable_shared=no
 fi
 
 enable_win32_dll=yes
@@ -8752,7 +8752,7 @@ func_stripname_cnf ()
 if test "${enable_shared+set}" = set; then :
   enableval=$enable_shared; p=${PACKAGE-default}
     case $enableval in
-    yes) enable_shared=yes ;;
+    yes) enable_shared=no ;;
     no) enable_shared=no ;;
     *)
       enable_shared=no
@@ -8761,14 +8761,14 @@ if test "${enable_shared+set}" = set; then :
       for pkg in $enableval; do
 	IFS="$lt_save_ifs"
 	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
+	  enable_shared=no
 	fi
       done
       IFS="$lt_save_ifs"
       ;;
     esac
 else
-  enable_shared=yes
+  enable_shared=no
 fi
 
 
@@ -12632,7 +12632,7 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
   # are all built from PIC.
   case $host_os in
   aix3*)
-    test "$enable_shared" = yes && enable_static=no
+    test "$enable_shared" = yes && enable_static=yes
     if test -n "$RANLIB"; then
       archive_cmds="$archive_cmds~\$RANLIB \$lib"
       postinstall_cmds='$RANLIB $lib'
@@ -12641,7 +12641,7 @@ $as_echo_n "checking whether to build shared libraries... " >&6; }
 
   aix[4-9]*)
     if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
+      test "$enable_shared" = yes && enable_static=yes
     fi
     ;;
   esac
-- 
1.7.7.3


From 821882bb862fc86b7152eba82966163d054b488e Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:53:18 +0200
Subject: [PATCH 08/10] no -Wl


diff --git a/configure b/configure
index 6380da5..7283f17 100755
--- a/configure
+++ b/configure
@@ -23788,7 +23788,7 @@ fi
 fi
 
 if test "x$gdktarget" = "xwin32"; then
-  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
+  GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -luuid"
    if true; then
   USE_WIN32_TRUE=
   USE_WIN32_FALSE='#'
-- 
1.7.7.3


From 80745459d75da07c53dbb83c6a79c3d9896e5fd3 Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 14:54:15 +0200
Subject: [PATCH 09/10] gio not gio-unix


diff --git a/configure b/configure
index 7283f17..50e6a86 100755
--- a/configure
+++ b/configure
@@ -24008,9 +24008,9 @@ fi
 CFLAGS="$saved_cflags"
 LDFLAGS="$saved_ldflags"
 
-# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
+# Pull in gio for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
 if test "x$gdktarget" = "xx11"; then
-  GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
+  GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend"
 else
   GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend"
 fi
-- 
1.7.7.3


From 337e54ef8aa5a4d131e9d9007dedcc42b164e68c Mon Sep 17 00:00:00 2001
From: MXE
Date: Fri, 24 Sep 2010 15:30:49 +0200
Subject: [PATCH 10/10] removed duplicate _gtk_marshal_OBJECT__VOID()


diff --git a/perf/marshalers.c b/perf/marshalers.c
index f533ab0..0a37ba4 100644
--- a/perf/marshalers.c
+++ b/perf/marshalers.c
@@ -49,43 +49,6 @@
 #endif /* !G_ENABLE_DEBUG */
 
 
-/* OBJECT:VOID (./marshalers.list:1) */
-void
-_gtk_marshal_OBJECT__VOID (GClosure     *closure,
-                           GValue       *return_value G_GNUC_UNUSED,
-                           guint         n_param_values,
-                           const GValue *param_values,
-                           gpointer      invocation_hint G_GNUC_UNUSED,
-                           gpointer      marshal_data)
-{
-  typedef GObject* (*GMarshalFunc_OBJECT__VOID) (gpointer     data1,
-                                                 gpointer     data2);
-  register GMarshalFunc_OBJECT__VOID callback;
-  register GCClosure *cc = (GCClosure*) closure;
-  register gpointer data1, data2;
-  GObject* v_return;
-
-  g_return_if_fail (return_value != NULL);
-  g_return_if_fail (n_param_values == 1);
-
-  if (G_CCLOSURE_SWAP_DATA (closure))
-    {
-      data1 = closure->data;
-      data2 = g_value_peek_pointer (param_values + 0);
-    }
-  else
-    {
-      data1 = g_value_peek_pointer (param_values + 0);
-      data2 = closure->data;
-    }
-  callback = (GMarshalFunc_OBJECT__VOID) (marshal_data ? marshal_data : cc->callback);
-
-  v_return = callback (data1,
-                       data2);
-
-  g_value_take_object (return_value, v_return);
-}
-
 /* VOID:ENUM,OBJECT,DOUBLE (./marshalers.list:2) */
 void
 _gtk_marshal_VOID__ENUM_OBJECT_DOUBLE (GClosure     *closure,
-- 
1.7.7.3