Fix DSO open, specifically for auth modules like GNOME keyring From: David Rothenberger 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);