Files
MSYS2-packages/subversion/13-dso_open.patch
2014-11-05 23:30:55 +03:00

66 lines
2.6 KiB
Diff

Fix DSO open, specifically for auth modules like GNOME keyring
From: David Rothenberger <daveroth@acm.org>
support. Thanks to Yaakov for the patch.
http://cygwin.com/ml/cygwin/2012-03/msg00835.html
---
subversion/libsvn_fs/fs-loader.c | 7 ++++++-
subversion/libsvn_ra/ra_loader.c | 7 ++++++-
subversion/libsvn_subr/auth.c | 4 ++++
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/subversion/libsvn_fs/fs-loader.c b/subversion/libsvn_fs/fs-loader.c
index 336b84f..63ef3cc 100644
--- a/subversion/libsvn_fs/fs-loader.c
+++ b/subversion/libsvn_fs/fs-loader.c
@@ -121,7 +121,12 @@ load_module(fs_init_func_t *initfunc, const char *name, apr_pool_t *pool)
_("Invalid name for FS type '%s'"),
name);
- libname = apr_psprintf(pool, "libsvn_fs_%s-%d.so.%d",
+ libname = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_fs_%s-%d-%d.dll",
+#else
+ "libsvn_fs_%s-%d.so.%d",
+#endif
name, SVN_VER_MAJOR, SVN_SOVERSION);
funcname = apr_psprintf(pool, "svn_fs_%s__init", name);
diff --git a/subversion/libsvn_ra/ra_loader.c b/subversion/libsvn_ra/ra_loader.c
index d9cb96b..ae17d84 100644
--- a/subversion/libsvn_ra/ra_loader.c
+++ b/subversion/libsvn_ra/ra_loader.c
@@ -141,7 +141,12 @@ load_ra_module(svn_ra__init_func_t *func,
const char *compat_funcname;
apr_status_t status;
- libname = apr_psprintf(pool, "libsvn_ra_%s-%d.so.%d",
+ libname = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_ra_%s-%d-%d.dll",
+#else
+ "libsvn_ra_%s-%d.so.%d",
+#endif
ra_name, SVN_VER_MAJOR, SVN_SOVERSION);
funcname = apr_psprintf(pool, "svn_ra_%s__init", ra_name);
compat_funcname = apr_psprintf(pool, "svn_ra_%s_init", ra_name);
diff --git a/subversion/libsvn_subr/auth.c b/subversion/libsvn_subr/auth.c
index a999711..6f88853 100644
--- a/subversion/libsvn_subr/auth.c
+++ b/subversion/libsvn_subr/auth.c
@@ -455,7 +455,11 @@ svn_auth_get_platform_specific_provider(svn_auth_provider_object_t **provider,
const char *library_label, *library_name;
const char *provider_function_name, *version_function_name;
library_name = apr_psprintf(pool,
+#ifdef __CYGWIN__
+ "cygsvn_auth_%s-%d-%d.dll",
+#else
"libsvn_auth_%s-%d.so.%d",
+#endif
provider_name,
SVN_VER_MAJOR, SVN_SOVERSION);
library_label = apr_psprintf(pool, "svn_%s", provider_name);