aboutsummaryrefslogtreecommitdiffstats
path: root/win32
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2005-06-16 03:05:11 +0800
committerTor Lillqvist <tml@src.gnome.org>2005-06-16 03:05:11 +0800
commit039812d8add16b44e9fdb2918e692e1a5e2458df (patch)
treedf08c1d72b974f46459f11d624142bccb685a760 /win32
parent66ef21857ab86f54789eca8a52687b1e915ac624 (diff)
downloadgsoc2013-evolution-039812d8add16b44e9fdb2918e692e1a5e2458df.tar.gz
gsoc2013-evolution-039812d8add16b44e9fdb2918e692e1a5e2458df.tar.zst
gsoc2013-evolution-039812d8add16b44e9fdb2918e692e1a5e2458df.zip
win32/README win32/Makefile.am win32/dummy.la win32/libemiscwidgets.def
2005-06-15 Tor Lillqvist <tml@novell.com> * win32/README * win32/Makefile.am * win32/dummy.la * win32/libemiscwidgets.def * win32/libevolution-addressbook.def * win32/libevolution-calendar.def * win32/libevolution-mail.def * win32/libfilter.def: New files. Build bootstrap import libraries for some of Evolution's DLLs to work around circular dependencies between some of the shared libraries. Circular dependecies are problematic on Win32 where one can't have undefined symbols in executables (or shared libraries). svn path=/trunk/; revision=29508
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