aboutsummaryrefslogtreecommitdiffstats
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile.am51
-rw-r--r--win32/README13
-rw-r--r--win32/dummy.la32
-rw-r--r--win32/libemiscwidgets.def20
-rw-r--r--win32/libevolution-addressbook.def14
-rw-r--r--win32/libevolution-calendar.def30
-rw-r--r--win32/libevolution-mail.def10
-rw-r--r--win32/libfilter.def15
8 files changed, 185 insertions, 0 deletions
diff --git a/win32/Makefile.am b/win32/Makefile.am
new file mode 100644
index 0000000000..e1f874f372
--- /dev/null
+++ b/win32/Makefile.am
@@ -0,0 +1,51 @@
+EXTRA_DIST =
+ README \
+ dummy.la \
+ libemiscwidgets.def \
+ libevolution-addressbook.def \
+ libevolution-calendar.def \
+ libevolution-mail.def \
+ libfilter.def
+
+if OS_WIN32
+BOOTSTRAP_LIBS = \
+ libemiscwidgets.la \
+ libevolution-addressbook.la \
+ libevolution-calendar.la \
+ libevolution-mail.la \
+ libfilter.la
+endif
+
+noinst_DATA = $(BOOTSTRAP_LIBS)
+
+# Yes, it's a bit silly to repeat the same command sequence here
+# multiple times, but on the other hand there are subtle differences:
+# Part of the DLLs have -0 in the name, part don't. (Those linked with
+# libtool's -module -avoid-version options don't get the -0 suffix.)
+
+libemiscwidgets.la: dummy.la libemiscwidgets.def
+ sed -e s!%DLL%!libemiscwidgets-0! -e s!%LIB%!libemiscwidgets! -e s!%PFX%!$(prefix)! <dummy.la >$@
+ mkdir -p .libs
+ dlltool --output-lib=.libs/libemiscwidgets.dll.a --dllname=libemiscwidgets-0.dll --input-def=libemiscwidgets.def
+
+libevolution-addressbook.la: dummy.la libevolution-addressbook.def
+ sed -e s!%DLL%!libevolution-addressbook! -e s!%LIB%!libevolution-addressbook! -e s!%PFX%!$(prefix)! <dummy.la >$@
+ mkdir -p .libs
+ dlltool --output-lib=.libs/libevolution-addressbook.dll.a --dllname=libevolution-addressbook.dll --input-def=libevolution-addressbook.def
+
+libevolution-calendar.la: dummy.la libevolution-calendar.def
+ sed -e s!%DLL%!libevolution-calendar! -e s!%LIB%!libevolution-calendar! -e s!%PFX%!$(prefix)! <dummy.la >$@
+ mkdir -p .libs
+ dlltool --output-lib=.libs/libevolution-calendar.dll.a --dllname=libevolution-calendar.dll --input-def=libevolution-calendar.def
+
+libevolution-mail.la: dummy.la libevolution-mail.def
+ sed -e s!%DLL%!libevolution-mail! -e s!%LIB%!libevolution-mail! -e s!%PFX%!$(prefix)! <dummy.la >$@
+ mkdir -p .libs
+ dlltool --output-lib=.libs/libevolution-mail.dll.a --dllname=libevolution-mail.dll --input-def=libevolution-mail.def
+
+libfilter.la: dummy.la libfilter.def
+ sed -e s!%DLL%!libfilter-0! -e s!%LIB%!libfilter! -e s!%PFX%!$(prefix)! <dummy.la >$@
+ mkdir -p .libs
+ dlltool --output-lib=.libs/libfilter.dll.a --dllname=libfilter-0.dll --input-def=libfilter.def
+
+CLEANFILES = $(BOOTSTRAP_LIBS)
diff --git a/win32/README b/win32/README
new file mode 100644
index 0000000000..5316131c1f
--- /dev/null
+++ b/win32/README
@@ -0,0 +1,13 @@
+This directory contains .def files for some of the DLLs in
+Evolution. 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
index 0000000000..2198d97ac3
--- /dev/null
+++ b/win32/dummy.la
@@ -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%/bin'
diff --git a/win32/libemiscwidgets.def b/win32/libemiscwidgets.def
new file mode 100644
index 0000000000..ed66e8d2cc
--- /dev/null
+++ b/win32/libemiscwidgets.def
@@ -0,0 +1,20 @@
+EXPORTS
+ e_calendar_item_get_date_range
+ e_calendar_item_get_selection
+ e_calendar_item_get_type
+ e_calendar_item_get_week_number
+ e_calendar_item_normalize_date
+ e_calendar_item_set_selection
+ e_combo_button_get_label
+ e_combo_button_get_type
+ e_combo_button_popup_menu
+ e_map_add_point
+ e_map_get_closest_point
+ e_map_get_magnification
+ e_map_new
+ e_map_point_get_color_rgba
+ e_map_point_get_location
+ e_map_point_set_color_rgba
+ e_map_window_to_world
+ e_map_zoom_out
+ e_map_zoom_to_location
diff --git a/win32/libevolution-addressbook.def b/win32/libevolution-addressbook.def
new file mode 100644
index 0000000000..c29ec7fad9
--- /dev/null
+++ b/win32/libevolution-addressbook.def
@@ -0,0 +1,14 @@
+EXPORTS
+ addressbook_load
+ addressbook_load_cancel
+ addressbook_load_default_book
+ e_minicard_activate_editor
+ e_minicard_get_type
+ e_minicard_view_get_type
+ eab_load_error_dialog
+ eab_merging_book_add_contact
+ eab_merging_book_commit_contact
+ eab_prompt_save_dialog
+ eab_show_contact_editor
+ eab_show_contact_list_editor
+ eab_view_get_type
diff --git a/win32/libevolution-calendar.def b/win32/libevolution-calendar.def
new file mode 100644
index 0000000000..ac9e2fb41d
--- /dev/null
+++ b/win32/libevolution-calendar.def
@@ -0,0 +1,30 @@
+EXPORTS
+ e_calendar_view_get_calendar
+ e_calendar_view_get_selected_time_range
+ e_calendar_view_get_type
+ e_calendar_view_new_appointment
+ e_calendar_view_new_appointment_for
+ e_day_view_convert_time_to_display
+ e_day_view_ensure_rows_visible
+ e_day_view_find_event_from_item
+ e_day_view_get_event_position
+ e_day_view_get_long_event_position
+ e_day_view_get_type
+ e_day_view_main_item_get_type
+ e_day_view_top_item_get_day_label
+ e_day_view_update_calendar_selection_time
+ e_week_view_find_event_from_item
+ e_week_view_get_span_position
+ e_week_view_get_type
+ e_week_view_jump_to_button_item
+ e_week_view_main_item_get_type
+ gnome_calendar_get_current_view_widget
+ gnome_calendar_get_e_calendar_widget
+ gnome_calendar_get_search_bar_widget
+ gnome_calendar_get_task_pad
+ gnome_calendar_get_timezone
+ gnome_calendar_get_type
+ gnome_calendar_get_view
+ gnome_calendar_get_view_notebook_widget
+ gnome_calendar_get_visible_time_range
+ goto_dialog
diff --git a/win32/libevolution-mail.def b/win32/libevolution-mail.def
new file mode 100644
index 0000000000..e76e78dedc
--- /dev/null
+++ b/win32/libevolution-mail.def
@@ -0,0 +1,10 @@
+EXPORTS
+ em_popup_new
+ em_popup_target_new_attachments
+ em_utils_prompt_user
+ mail_component_get_folder
+ mail_component_peek_base_directory
+ mail_msg_free
+ mail_msg_new
+ mail_tool_uri_to_folder
+ mail_thread_queued
diff --git a/win32/libfilter.def b/win32/libfilter.def
new file mode 100644
index 0000000000..3c84225131
--- /dev/null
+++ b/win32/libfilter.def
@@ -0,0 +1,15 @@
+EXPORTS
+ filter_rule_build_code
+ filter_rule_clone
+ filter_rule_get_widget
+ filter_rule_new
+ filter_rule_set_name
+ filter_rule_set_source
+ filter_rule_validate
+ filter_rule_xml_decode
+ filter_rule_xml_encode
+ rule_context_add_rule
+ rule_context_find_rule
+ rule_context_next_rule
+ rule_context_save
+ rule_editor_new