66 lines
2.7 KiB
Diff
66 lines
2.7 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 3840f22..ef444c2 100644
|
|
--- a/subversion/libsvn_fs/fs-loader.c
|
|
+++ b/subversion/libsvn_fs/fs-loader.c
|
|
@@ -155,7 +155,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-" SVN_DSO_SUFFIX_FMT,
|
|
+ libname = apr_psprintf(pool,
|
|
+#ifdef __CYGWIN__
|
|
+ "cygsvn_fs_%s-" SVN_DSO_SUFFIX_FMT,
|
|
+#else
|
|
+ "libsvn_fs_%s-" SVN_DSO_SUFFIX_FMT,
|
|
+#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 ac07545..4c2825c 100644
|
|
--- a/subversion/libsvn_ra/ra_loader.c
|
|
+++ b/subversion/libsvn_ra/ra_loader.c
|
|
@@ -143,7 +143,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-" SVN_DSO_SUFFIX_FMT,
|
|
+ libname = apr_psprintf(pool,
|
|
+#ifdef __CYGWIN__
|
|
+ "cygsvn_ra_%s-" SVN_DSO_SUFFIX_FMT,
|
|
+#else
|
|
+ "libsvn_ra_%s-" SVN_DSO_SUFFIX_FMT,
|
|
+#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 ae1957e..e26968e 100644
|
|
--- a/subversion/libsvn_subr/auth.c
|
|
+++ b/subversion/libsvn_subr/auth.c
|
|
@@ -508,7 +508,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);
|