27 Oct
2009
27 Oct
'09
6:06 p.m.
Howdy, dovecot-2.0.alpha2 doesn't compile on Mac OS X. First, trivially, there's a typo in array.h: --- a/src/lib/array.h 2009-10-08 10:04:35.000000000 -0500 +++ b/src/lib/array.h 2009-10-27 10:35:58.000000000 -0500 @@ -72,7 +72,7 @@ (elem)++) # define array_foreach_modifiable(array, elem) \ for (elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \ - buffer_get_modifiable_data((array)- >arr.buffer, NULL)) + \ + buffer_get_modifiable_data((array)->arr.buffer, NULL) + \ (array)->arr.buffer->used; \ elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer- >used); \ (elem)++) Second, Mac OS X can't link loadable modules against other loadable modules (http://www.finkproject.org/doc/porting/porting.en.html#shared.lib-and-mod ): --- a/src/plugins/fts-squat/Makefile.am 2009-10-18 16:28:45.000000000 -0500 +++ b/src/plugins/fts-squat/Makefile.am 2009-10-27 10:35:58.000000000 -0500 @@ -10,8 +10,9 @@ module_LTLIBRARIES = \ lib21_fts_squat_plugin.la -lib21_fts_squat_plugin_la_LIBADD = \ - ../fts/lib20_fts_plugin.la +# Apple can't link loadable modules against other loadable modules +#lib21_fts_squat_plugin_la_LIBADD = \ +# ../fts/lib20_fts_plugin.la lib21_fts_squat_plugin_la_SOURCES = \ fts-squat-plugin.c \ --- a/src/plugins/imap-acl/Makefile.am 2009-10-09 13:02:15.000000000 -0500 +++ b/src/plugins/imap-acl/Makefile.am 2009-10-27 10:35:58.000000000 -0500 @@ -14,8 +14,9 @@ imap_module_LTLIBRARIES = \ lib02_imap_acl_plugin.la -lib02_imap_acl_plugin_la_LIBADD = \ - ../acl/lib01_acl_plugin.la +# Apple can't link loadable modules against other loadable modules +#lib02_imap_acl_plugin_la_LIBADD = \ +# ../acl/lib01_acl_plugin.la lib02_imap_acl_plugin_la_SOURCES = \ imap-acl-plugin.c --- a/src/plugins/imap-quota/Makefile.am 2009-10-09 13:02:15.000000000 -0500 +++ b/src/plugins/imap-quota/Makefile.am 2009-10-27 10:35:58.000000000 -0500 @@ -13,8 +13,9 @@ imap_module_LTLIBRARIES = \ lib11_imap_quota_plugin.la -lib11_imap_quota_plugin_la_LIBADD = \ - ../quota/lib10_quota_plugin.la +# Apple can't link loadable modules against other loadable modules +#lib11_imap_quota_plugin_la_LIBADD = \ +# ../quota/lib10_quota_plugin.la lib11_imap_quota_plugin_la_SOURCES = \ imap-quota-plugin.c --- a/src/plugins/mail-log/Makefile.am 2009-10-09 13:02:15.000000000 -0500 +++ b/src/plugins/mail-log/Makefile.am 2009-10-27 10:35:58.000000000 -0500 @@ -13,8 +13,9 @@ module_LTLIBRARIES = \ lib20_mail_log_plugin.la -lib20_mail_log_plugin_la_LIBADD = \ - ../notify/lib15_notify_plugin.la +# Apple can't link loadable modules against other loadable modules +#lib20_mail_log_plugin_la_LIBADD = \ +# ../notify/lib15_notify_plugin.la lib20_mail_log_plugin_la_SOURCES = \ mail-log-plugin.c --- a/src/plugins/trash/Makefile.am 2009-10-09 13:02:15.000000000 -0500 +++ b/src/plugins/trash/Makefile.am 2009-10-27 10:35:58.000000000 -0500 @@ -10,8 +10,9 @@ module_LTLIBRARIES = \ lib11_trash_plugin.la -lib11_trash_plugin_la_LIBADD = \ - ../quota/lib10_quota_plugin.la +# Apple can't link loadable modules against other loadable modules +#lib11_trash_plugin_la_LIBADD = \ +# ../quota/lib10_quota_plugin.la lib11_trash_plugin_la_SOURCES = \ trash-plugin.c Third, for cross-compiling the value of WORDS_BIGENDIAN needs to be tested, not its presence: --- a/src/lib-index/mail-transaction-log-file.c 2009-10-15 21:26:13.000000000 -0500 +++ b/src/lib-index/mail-transaction-log-file.c 2009-10-27 10:35:58.000000000 -0500 @@ -189,7 +189,7 @@ hdr->hdr_size = sizeof(struct mail_transaction_log_header); hdr->indexid = log->index->indexid; hdr->create_stamp = ioloop_time; -#ifndef WORDS_BIGENDIAN +#if !WORDS_BIGENDIAN hdr->compat_flags |= MAIL_INDEX_COMPAT_LITTLE_ENDIAN; #endif @@ -404,7 +404,7 @@ /* we have compatibility flags */ enum mail_index_header_compat_flags compat_flags = 0; -#ifndef WORDS_BIGENDIAN +#if !WORDS_BIGENDIAN compat_flags |= MAIL_INDEX_COMPAT_LITTLE_ENDIAN; #endif if (file->hdr.compat_flags != compat_flags) {