win32/README win32/Makefile.am win32/dummy.la New files. Bootstrap import
authorTor Lillqvist <tml@novell.com>
Wed, 14 Sep 2005 15:15:03 +0000 (15:15 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Wed, 14 Sep 2005 15:15:03 +0000 (15:15 +0000)
2005-09-14  Tor Lillqvist  <tml@novell.com>

* win32/README
* win32/Makefile.am
* win32/dummy.la
* win32/libedataserverui.def: New files. Bootstrap import library
for libedataserverui. Needed in servers/exchange/storage where
libexchange-storage-1.2.la links to libedataserverui before it has
been built.

* configure.in: Add -ldnsapi to SOCKET_LIBS on Win32. Always
enable LDAP and Exchange on Win32, don't need to test. AC_OUTPUT
also win32/Makefile.

* Makefile.am: Add win32 to SUBDIRS.

ChangeLog
Makefile.am
configure.in
win32/Makefile.am [new file with mode: 0644]
win32/README [new file with mode: 0644]
win32/dummy.la [new file with mode: 0644]
win32/libedataserverui.def [new file with mode: 0644]

index f4d9019..4e2f846 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2005-09-14  Tor Lillqvist  <tml@novell.com>
+
+       * win32/README
+       * win32/Makefile.am
+       * win32/dummy.la
+       * win32/libedataserverui.def: New files. Bootstrap import library
+       for libedataserverui. Needed in servers/exchange/storage where
+       libexchange-storage-1.2.la links to libedataserverui before it has
+       been built.
+
+       * configure.in: Add -ldnsapi to SOCKET_LIBS on Win32. Always
+       enable LDAP and Exchange on Win32, don't need to test. AC_OUTPUT
+       also win32/Makefile.
+
+       * Makefile.am: Add win32 to SUBDIRS.
+
 2005-09-01  Parthasarathi Susarla <sparthasarathi@novell.com>
        
        * confugure.in : Add API_VERSION to config.h
index 40dcd43..a6a94cb 100644 (file)
@@ -1,8 +1,8 @@
 AUTOMAKE_OPTIONS = 1.6
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
 
-SUBDIRS = libdb libedataserver servers camel addressbook calendar libedataserverui src docs art po
-DIST_SUBDIRS= libedataserver servers camel addressbook calendar libedataserverui src docs art po
+SUBDIRS = libdb win32 libedataserver servers camel addressbook calendar libedataserverui src docs art po
+DIST_SUBDIRS= win32 libedataserver servers camel addressbook calendar libedataserverui src docs art po
 
 changelogs =                   \
        ChangeLog
index 23408b1..12b2305 100644 (file)
@@ -147,7 +147,7 @@ case "$host" in
     os_win32=yes
     AC_CACHE_VAL(have_addrinfo, [have_addrinfo=yes])
     NO_UNDEFINED='-no-undefined'
-    SOCKET_LIBS='-lws2_32'
+    SOCKET_LIBS='-lws2_32 -ldnsapi'
     DL_LIB=''
     SOFTOKN3_LIB=''
     ;;
@@ -1021,6 +1021,7 @@ esac
 dnl **************************************************
 dnl LDAP support.
 dnl **************************************************
+if test "$os_win32" != yes; then
 EVO_LDAP_CHECK(no)
 case $with_openldap in
 no)
@@ -1056,6 +1057,16 @@ dnl support. Make him aware of this with a warning message at the end.
                msg_no_ntlm="yes"
        fi
 fi
+else # Win32
+LDAP_CFLAGS=""
+LDAP_LIBS="-lwldap32"
+AC_SUBST(LDAP_CFLAGS)
+AC_SUBST(LDAP_LIBS)
+AC_DEFINE(HAVE_LDAP,1,[Define if you have LDAP support])
+AM_CONDITIONAL(ENABLE_LDAP, true)
+msg_no_ntlm=no
+msg_exchange="yes"
+fi # Win32
 
 GLIB_REQUIRED="2.4.0"
 LIBBONOBO_REQUIRED="2.4.2"
@@ -1323,6 +1334,7 @@ servers/exchange/lib/Makefile
 servers/exchange/storage/Makefile
 servers/exchange/storage/libexchange-storage.pc 
 src/Makefile
+win32/Makefile
 docs/Makefile
 docs/reference/Makefile
 docs/reference/addressbook/Makefile
diff --git a/win32/Makefile.am b/win32/Makefile.am
new file mode 100644 (file)
index 0000000..8b3640e
--- /dev/null
@@ -0,0 +1,19 @@
+EXTRA_DIST =                           \
+       dummy.la                        \
+       libedataserverui.def
+
+if OS_WIN32
+BOOTSTRAP_LIBS =                       \
+       libedataserverui-1.2.la
+endif
+
+noinst_DATA = $(BOOTSTRAP_LIBS)
+
+libedataserverui_current_minus_age = `expr $(LIBEDATASERVERUI_CURRENT) - $(LIBEDATASERVERUI_AGE)`
+
+libedataserverui-1.2.la: dummy.la libedataserverui.def
+       sed -e s!%DLL%!libedataserverui-1.2-$(libedataserverui_current_minus_age)! -e s!%LIB%!libedataserverui-1.2! -e s!%PFX%!$(prefix)! <dummy.la >$@
+       mkdir -p .libs
+       dlltool --output-lib=.libs/libedataserverui-1.2.dll.a --dllname=libedataserverui-1.2-$(libedataserverui_current_minus_age).dll --input-def=libedataserverui.def
+
+CLEANFILES = $(BOOTSTRAP_LIBS)
diff --git a/win32/README b/win32/README
new file mode 100644 (file)
index 0000000..b21fcca
--- /dev/null
@@ -0,0 +1,12 @@
+This directory contains .def files for some of the DLLs in EDS. They
+are used to build bootstrap import libraries for these DLLs in advance
+before they have actually been built. This is necessary because
+Evolution's shared libraries have circular dependencies, and one can't
+have unresolved symbols when building shared libraries on Win32.
+
+These .def files aren't used when building the actual DLLs in
+question. They are only used to produce bootstrap import libraries for
+them. Thus a .def file for libFOO here doesn't list all the actual
+entry points in libFOO, only those that are used by other DLLs that
+are built before libFOO. When the actual libFOO is built, we rely on
+the GNU linker's auto-export to export all public symbols.
diff --git a/win32/dummy.la b/win32/dummy.la
new file mode 100644 (file)
index 0000000..887809b
--- /dev/null
@@ -0,0 +1,32 @@
+# %LIB%.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool - well, actually not, hacked manually
+
+# The name that we can dlopen(3).
+dlname='%DLL%.dll'
+
+# Names of this library.
+library_names='%LIB%.dll.a'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=''
+
+# Version information for %LIB%
+current=0
+age=0
+revision=0
+
+# Is this an already installed library?
+installed=no
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='%PFX%/lib'
diff --git a/win32/libedataserverui.def b/win32/libedataserverui.def
new file mode 100644 (file)
index 0000000..e454185
--- /dev/null
@@ -0,0 +1,6 @@
+EXPORTS
+       e_passwords_add_password
+       e_passwords_ask_password
+       e_passwords_forget_password
+       e_passwords_get_password
+       e_passwords_remember_password