summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gmail.com>2022-08-09 15:28:35 +0000
committerEmmanuele Bassi <ebassi@gmail.com>2022-08-09 15:28:35 +0000
commitf49eb1b4bdcafe94c5aa33fdcee754613931588a (patch)
treecfbda716ca59952ec711cc861c73842aa2dc6bb1
parent2d88dac38974bdc1e7a09142c101867db4ce69df (diff)
parent89fce0c2a1887b139b8a1bfbeb30c3d243c56f52 (diff)
downloadgdk-pixbuf-f49eb1b4bdcafe94c5aa33fdcee754613931588a.tar.gz
Merge branch 'disable_relocation_on_static' into 'master'
Disable relocation when built as a static libary on Windows See merge request GNOME/gdk-pixbuf!136
-rw-r--r--gdk-pixbuf/gdk-pixbuf-io.c5
-rw-r--r--gdk-pixbuf/queryloaders.c2
-rw-r--r--meson.build4
3 files changed, 5 insertions, 6 deletions
diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c
index 182781178..e207d8143 100644
--- a/gdk-pixbuf/gdk-pixbuf-io.c
+++ b/gdk-pixbuf/gdk-pixbuf-io.c
@@ -182,6 +182,8 @@ get_file_formats (void)
return file_formats;
}
+#ifdef GDK_PIXBUF_RELOCATABLE // implies that gdk-pixbuf is built as a dll on windows
+
#ifdef G_OS_WIN32
/* DllMain function needed to tuck away the gdk-pixbuf DLL handle */
@@ -203,9 +205,6 @@ DllMain (HINSTANCE hinstDLL,
}
#endif
-
-#ifdef GDK_PIXBUF_RELOCATABLE
-
gchar *
gdk_pixbuf_get_toplevel (void)
{
diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c
index ddcae7b6f..1d39b442e 100644
--- a/gdk-pixbuf/queryloaders.c
+++ b/gdk-pixbuf/queryloaders.c
@@ -280,7 +280,7 @@ query_module (GString *contents, const char *dir, const char *file)
g_free (path);
}
-#ifdef G_OS_WIN32
+#if defined(G_OS_WIN32) && defined(GDK_PIXBUF_RELOCATABLE)
static char *
get_libdir (void)
diff --git a/meson.build b/meson.build
index ed82464e4..6b123847f 100644
--- a/meson.build
+++ b/meson.build
@@ -382,7 +382,7 @@ endif
# Determine whether we enable application bundle relocation support, and we use
# this always on Windows
if host_system == 'windows'
- relocatable = true
+ relocatable = (get_option('default_library') != 'static')
else
relocatable = get_option('relocatable')
endif
@@ -447,7 +447,7 @@ summary('MediaLib', use_medialib, section: 'Build')
summary('Introspection', build_gir, section: 'Build')
summary('Documentation', build_docs, section: 'Build')
summary('Manual pages', get_option('man'), section: 'Build')
-summary('Relocatable', get_option('relocatable'), section: 'Build')
+summary('Relocatable', relocatable, section: 'Build')
summary('Build tests', get_option('tests'), section: 'Build')
summary('Installed tests', get_option('installed_tests'), section: 'Build')