[evolution-ews] Miscellaneous Win32 related build fixes



commit 29e0c4c7201becd9cf4de8b5701ca2f5c2bfa1a7
Author: Milan Crha <mcrha redhat com>
Date:   Fri Oct 17 20:06:17 2014 +0200

    Miscellaneous Win32 related build fixes
    
    - Initialize libtool, thus the 'host' variable is properly initialized
      in the check for a Win32 build.
    - Build libcamelews-priv.la as a shared library in Win32, to avoid symbol
      duplication.
    - Store shared libraries into 'bin' folder in Win32.

 configure.ac          |   19 ++++++++++++++++---
 src/camel/Makefile.am |    4 ++++
 2 files changed, 20 insertions(+), 3 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 6013713..33e221e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,18 +85,24 @@ AC_PROG_LN_S
 AC_PROG_MAKE_SET
 
 dnl ******************************
+dnl Initialize libtool
+dnl ******************************
+LT_PREREQ(2.2)
+LT_INIT(disable-static win32-dll)
+
+dnl ******************************
 dnl Check for Win32
 dnl ******************************
 
 AC_MSG_CHECKING([for Win32])
 case "$host" in
 *-mingw*)
-       os_win32=yes
+       os_win32='yes'
        NO_UNDEFINED='-no-undefined'
        SOCKET_LIBS='-lws2_32'
        ;;
 *)
-       os_win32=no
+       os_win32='no'
        NO_UNDEFINED='-no-undefined'
        SOCKET_LIBS=''
        ;;
@@ -346,7 +352,14 @@ AC_SUBST(camel_providerdir)
 privincludedir=`$PKG_CONFIG --variable=privincludedir libedataserver-1.2`
 AC_SUBST(privincludedir)
 
-privlibdir=`$PKG_CONFIG --variable=privlibdir evolution-data-server-1.2`
+if test "$os_win32" = yes; then
+       dnl On Win32 there is no "rpath" mechanism. We install the private
+       dnl shared libraries in $libdir, meaning the DLLs will actually be in
+       dnl $bindir. This means just having $bindir in PATH will be enough.
+       privlibdir=$libdir
+else
+       privlibdir=`$PKG_CONFIG --variable=privlibdir evolution-data-server-1.2`
+fi
 AC_SUBST(privlibdir)
 
 edataserver_privincludedir=`$PKG_CONFIG --variable=privincludedir libedataserver-1.2`
diff --git a/src/camel/Makefile.am b/src/camel/Makefile.am
index af5bc7b..24e7233 100644
--- a/src/camel/Makefile.am
+++ b/src/camel/Makefile.am
@@ -1,6 +1,10 @@
 NULL =
 
+if OS_WIN32
+lib_LTLIBRARIES = libcamelews-priv.la
+else
 noinst_LTLIBRARIES = libcamelews-priv.la
+endif
 
 ENUM_TYPES = camel-ews-enums.h
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]