diff options
author | Tor Lillqvist <tml@novell.com> | 2005-06-16 03:05:11 +0800 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2005-06-16 03:05:11 +0800 |
commit | 039812d8add16b44e9fdb2918e692e1a5e2458df (patch) | |
tree | df08c1d72b974f46459f11d624142bccb685a760 /win32 | |
parent | 66ef21857ab86f54789eca8a52687b1e915ac624 (diff) | |
download | gsoc2013-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.am | 51 | ||||
-rw-r--r-- | win32/README | 13 | ||||
-rw-r--r-- | win32/dummy.la | 32 | ||||
-rw-r--r-- | win32/libemiscwidgets.def | 20 | ||||
-rw-r--r-- | win32/libevolution-addressbook.def | 14 | ||||
-rw-r--r-- | win32/libevolution-calendar.def | 30 | ||||
-rw-r--r-- | win32/libevolution-mail.def | 10 | ||||
-rw-r--r-- | win32/libfilter.def | 15 |
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 |