aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--configure.in12
2 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 84ed9656c8..14686a4f0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,22 @@
no need to use both EXTRA_GNOME_CFLAGS and GNOME_FULL_CFLAGS,
EXTRA_GNOME_CFLAGS is enough. (Ditto for _LIBS.)
+ (privsolibdir): New autoconf variable. On Unix it is identical to
+ privlibdir, on Win32 identical to libdir.
+
+ There is no RPATH mechanism in Win32 DLLs or EXEs. The intention
+ is that Evolution's private shared libraries will be marked in the
+ Makefile.am files as privsolib_LTLIBRARIES. They will thus on
+ Windows get installed in libdir. The DLLs will actually get
+ installed in bindir, thanks to libtool magic. It will thus suffice
+ to have bindir in PATH.
+
+ This also means that we can use gnome_win32_get_prefixes() in
+ libeutil to find out the installation location on the end-user
+ machine based on the location of the DLL. gnome_win32_get_prefixes()
+ assumes the DLL is in a "bin" subfolder of the end-user
+ installation prefix.
+
* win32/Makefile.am (EXTRA_DIST): Fix typo. Add libetable and
libetext.
diff --git a/configure.in b/configure.in
index 6f1c15bf74..208b73a287 100644
--- a/configure.in
+++ b/configure.in
@@ -1405,6 +1405,18 @@ dnl --- etc)
privlibdir='${libdir}'/evolution/$BASE_VERSION
AC_SUBST(privlibdir)
+if test "$os_win32" = yes; then
+ # On Win32 there is no "rpath" mechanism. We install the private
+ # shared libraries in $libdir, meaning the DLLs will actually be in
+ # $bindir. This means just having $bindir in PATH will be enough. This
+ # also means gnome_win32_get_prefixes() will be able to deduce the
+ # installation folder correctly.
+ privsolibdir=$libdir
+else
+ privsolibdir=$privlibdir
+fi
+AC_SUBST(privsolibdir)
+
privlibexecdir='${libexecdir}'/evolution/$BASE_VERSION
AC_SUBST(privlibexecdir)