Makefile.am 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990
  1. # -*- Makefile -*-
  2. ACLOCAL_AMFLAGS = -I autoconf
  3. SUBDIRS = . ECtools/archiver/include/kopano ECtools/backup ECtools/presence \
  4. ECtools/migration-pst \
  5. ECtools/search common/include/kopano m4lcommon/include/kopano \
  6. mapi4linux/include inetmapi/include/inetmapi provider/include \
  7. spooler/python
  8. SUBDIRS += installer po swig
  9. AM_CPPFLAGS = ${ZCPPFLAGS} ${DEBUGFLAGS} -DLDAP_THREAD_SAFE \
  10. -DMAPICONFIGDIR=\"${MAPICONFIGDIR}\" -DPKGLIBDIR='"${pkglibdir}"' \
  11. -DSOAP_CMAC='__attribute__((visibility("default")))' \
  12. -DSOAP_FMAC3=SOAP_CMAC -DSOAP_FMAC5=SOAP_CMAC -DSOAP_NMAC=SOAP_CMAC \
  13. -Iprovider/soap \
  14. -I${top_srcdir}/common \
  15. -I${top_srcdir}/libfreebusy \
  16. -I${top_srcdir}/libsync \
  17. -I${top_srcdir}/m4lcommon \
  18. -I${top_srcdir}/mapi4linux/include \
  19. -I${top_srcdir}/provider/client \
  20. -I${top_srcdir}/provider/common \
  21. -I${top_srcdir}/provider/include \
  22. -I${top_srcdir}/provider/libserver \
  23. -I${top_srcdir}/provider/plugins \
  24. -I${top_srcdir}/libfreebusy \
  25. -I${top_srcdir}/libicalmapi \
  26. -I${top_srcdir}/librosie \
  27. -I${top_srcdir}/ECtools/archiver \
  28. ${CRYPTO_CFLAGS} ${curl_CFLAGS} ${GSOAP_CFLAGS} ${ICAL_CFLAGS} \
  29. ${KRB5_CFLAGS} ${LDAP_FLAGS} ${MYSQL_INCLUDES} ${SSL_CFLAGS} \
  30. ${s3_CFLAGS} ${TCMALLOC_CFLAGS} ${tidy_CPPFLAGS} \
  31. ${VMIME_CFLAGS} ${XML2_CFLAGS}
  32. AM_CXXFLAGS = ${ZCXXFLAGS} -Wno-sign-compare -fvisibility=hidden \
  33. -fvisibility-inlines-hidden
  34. #
  35. # target programs
  36. #
  37. bin_PROGRAMS = kopano-fsck kopano-passwd kopano-stats
  38. dist_bin_SCRIPTS = ECtools/migration-imap/kopano-migration-imap \
  39. ECtools/utils/kopano-set-oof
  40. sbin_PROGRAMS = \
  41. kopano-admin kopano-archiver kopano-dagent kopano-gateway kopano-ical \
  42. kopano-monitor kopano-server kopano-spooler
  43. dist_sbin_SCRIPTS = ECtools/utils/kopano-mailbox-permissions \
  44. ECtools/archiver/scripts/kopano-archiver-aclset \
  45. ECtools/archiver/scripts/kopano-archiver-aclsync \
  46. ECtools/archiver/scripts/kopano-archiver-restore
  47. noinst_PROGRAMS = kopano-cfgchecker
  48. if HAVE_TIDY
  49. noinst_PROGRAMS += rosie-test
  50. endif
  51. check_PROGRAMS = cov-scope
  52. pkglibexec_PROGRAMS = mapitime
  53. #
  54. # target libraries
  55. #
  56. # `make install` ignores both *_LIBADD, but also calls libtool for relinking,
  57. # so the order of lib_LTLIBRARIES is important! Dependant libs go to the right.
  58. # (Order was previously implied by the SUBDIRS variable.)
  59. #
  60. if HAVE_TIDY
  61. COND_libkcrosie_la = libkcrosie.la
  62. COND_libkcrosie_ldd = libkcrosie.ldd
  63. endif
  64. lib_LTLIBRARIES = \
  65. libkcutil.la libkcmapi.la libkcssl.la libmapi.la libkchl.la \
  66. libkcfreebusy.la libkcsync.la libkcsoap.la libkcserver.la \
  67. libkcicalmapi.la ${COND_libkcrosie_la} libkcinetmapi.la \
  68. libkcarchiver.la libkcarchivercore.la
  69. noinst_LTLIBRARIES = libkcpyplug.la
  70. noinst_DATA = \
  71. kopano-archiver.ldx kopano-cfgchecker.ldx kopano-dagent.ldx \
  72. kopano-gateway.ldx kopano-ical.ldx kopano-monitor.ldx \
  73. kopano-passwd.ldx kopano-server.ldx kopano-spooler.ldx \
  74. kopano-stats.ldx \
  75. libkcarchiver.ldd libkcarchivercore.ldd libkcclient.ldd \
  76. libkccontacts.ldd libkcfreebusy.ldd libkchl.ldd libkcicalmapi.ldd \
  77. libkcinetmapi.ldd libkcmapi.ldd ${COND_libkcrosie_ldd} \
  78. libkcserver.ldd libkcssl.ldd libkcsync.ldd libkcutil.ldd libmapi.ldd
  79. # Undefined references
  80. #noinst_DATA += libkcsoap.ldd
  81. pkglib_LTLIBRARIES = libkcclient.la libkccontacts.la
  82. #
  83. # headers and other static files
  84. #
  85. pkginclude_HEADERS = \
  86. provider/common/include/kopano/pcuser.hpp \
  87. provider/libserver/include/kopano/ECPluginSharedData.h
  88. noinst_HEADERS =
  89. pkgconfdir = ${libdir}/pkgconfig
  90. pkgconf_DATA = common/kopano.pc
  91. sysconf_configdir = ${MAPICONFIGDIR}
  92. dist_sysconf_config_DATA = provider/client/kopano.inf provider/contacts/zcontacts.inf
  93. sampleconfdir = ${docdir}/example-config
  94. sampleconf_DATA = provider/client/kopano.inf provider/contacts/zcontacts.inf
  95. BUILT_SOURCES =
  96. CLEANFILES = ${noinst_DATA}
  97. EXTRA_DIST = php-ext/mapi.sym
  98. default_sym = ${top_builddir}/default.sym
  99. #
  100. # kopano-admin
  101. #
  102. kopano_admin_SOURCES = ECtools/admin/admin.cpp
  103. kopano_admin_LDADD = \
  104. libmapi.la libkcmapi.la libkcutil.la libkcssl.la libkcarchiver.la \
  105. ${PROG_LIBS} ${SSL_LIBS}
  106. #
  107. # kopano-archiver
  108. #
  109. kopano_archiver_SOURCES = ECtools/archiver/main.cpp
  110. kopano_archiver_LDADD = \
  111. libmapi.la libkcmapi.la libkcutil.la libkcarchiver.la \
  112. libkcarchivercore.la ${PROG_LIBS}
  113. #
  114. # kopano-cfgchecker
  115. #
  116. kopano_cfgchecker_SOURCES = \
  117. ECtools/cfgchecker/DAgentConfigCheck.cpp ECtools/cfgchecker/DAgentConfigCheck.h \
  118. ECtools/cfgchecker/ECConfigCheck.cpp ECtools/cfgchecker/ECConfigCheck.h \
  119. ECtools/cfgchecker/GatewayConfigCheck.cpp ECtools/cfgchecker/GatewayConfigCheck.h \
  120. ECtools/cfgchecker/IcalConfigCheck.cpp ECtools/cfgchecker/IcalConfigCheck.h \
  121. ECtools/cfgchecker/LDAPConfigCheck.cpp ECtools/cfgchecker/LDAPConfigCheck.h \
  122. ECtools/cfgchecker/MonitorConfigCheck.cpp ECtools/cfgchecker/MonitorConfigCheck.h \
  123. ECtools/cfgchecker/ServerConfigCheck.cpp ECtools/cfgchecker/ServerConfigCheck.h \
  124. ECtools/cfgchecker/SpoolerConfigCheck.cpp ECtools/cfgchecker/SpoolerConfigCheck.h \
  125. ECtools/cfgchecker/UnixConfigCheck.cpp ECtools/cfgchecker/UnixConfigCheck.h \
  126. ECtools/cfgchecker/cfg.cpp
  127. kopano_cfgchecker_LDADD = libkcutil.la libkcmapi.la libmapi.la ${PROG_LIBS}
  128. #
  129. # kopano-dagent
  130. #
  131. libkcpyplug_la_CPPFLAGS = \
  132. ${AM_CPPFLAGS} -Ispooler ${PYTHON_INCLUDES} -DSWIG_TYPE_TABLE=MAPI
  133. libkcpyplug_la_SOURCES = \
  134. spooler/PyMapiPlugin.cpp spooler/PyMapiPlugin.h \
  135. spooler/PythonSWIGRuntime.h spooler/archive.cpp spooler/archive.h
  136. libkcpyplug_la_LIBADD = \
  137. libkcarchivercore.la libkcutil.la libmapi.la ${PYTHON_LIBS}
  138. kopano_dagent_SOURCES = \
  139. spooler/DAgent.cpp spooler/LMTP.cpp spooler/LMTP.h \
  140. spooler/rules.cpp spooler/rules.h spooler/spmain.h
  141. kopano_dagent_LDADD = \
  142. libkcinetmapi.la libmapi.la libkcmapi.la libkcutil.la libkcssl.la \
  143. libkchl.la libkcarchiver.la libkcarchivercore.la libkcpyplug.la \
  144. ${PROG_LIBS} ${SSL_LIBS} ${XML2_LIBS} ${icu_uc_LIBS}
  145. #
  146. # kopano-fsck
  147. #
  148. kopano_fsck_SOURCES = \
  149. ECtools/fsck/fsck.cpp ECtools/fsck/fsck-main.cpp ECtools/fsck/fsck-calendar.cpp \
  150. ECtools/fsck/fsck-contact.cpp ECtools/fsck/fsck-task.cpp ECtools/fsck/fsck.h
  151. kopano_fsck_LDADD = libmapi.la libkcmapi.la libkcutil.la ${PROG_LIBS}
  152. #
  153. # kopano-gateway
  154. #
  155. kopano_gateway_SOURCES = \
  156. gateway/ClientProto.h gateway/Gateway.cpp \
  157. gateway/IMAP.cpp gateway/IMAP.h \
  158. gateway/POP3.cpp gateway/POP3.h
  159. kopano_gateway_LDADD = \
  160. libkcinetmapi.la libmapi.la libkcmapi.la libkcutil.la libkcssl.la \
  161. libkchl.la -lpthread \
  162. ${PROG_LIBS} ${CRYPTO_LIBS} ${SSL_LIBS} ${XML2_LIBS} ${icu_uc_LIBS}
  163. #
  164. # kopano-ical
  165. #
  166. kopano_ical_SOURCES = \
  167. caldav/CalDAV.cpp caldav/CalDavProto.cpp caldav/CalDavProto.h \
  168. caldav/CalDavUtil.cpp caldav/CalDavUtil.h \
  169. caldav/Http.cpp caldav/Http.h \
  170. caldav/ProtocolBase.cpp caldav/ProtocolBase.h \
  171. caldav/WebDav.cpp caldav/WebDav.h caldav/iCal.cpp caldav/iCal.h
  172. kopano_ical_LDADD = \
  173. libmapi.la libkcmapi.la libkcutil.la libkcicalmapi.la libkcssl.la \
  174. libkcfreebusy.la -lpthread \
  175. ${PROG_LIBS} ${SSL_LIBS} ${ICONV_LIBS} ${XML2_LIBS} \
  176. ${ICAL_LIBS} ${icu_uc_LIBS}
  177. #
  178. # kopano-monitor
  179. #
  180. kopano_monitor_SOURCES = \
  181. ECtools/monitor/ECMonitorDefs.h \
  182. ECtools/monitor/ECQuotaMonitor.cpp ECtools/monitor/ECQuotaMonitor.h \
  183. ECtools/monitor/monitor.cpp
  184. kopano_monitor_LDADD = libmapi.la libkcmapi.la libkcutil.la ${PROG_LIBS}
  185. #
  186. # kopano-passwd
  187. #
  188. kopano_passwd_SOURCES = ECtools/passwd/passwd.cpp
  189. kopano_passwd_LDADD = libmapi.la libkcmapi.la libkcutil.la ${PROG_LIBS}
  190. #
  191. # kopano-spooler
  192. #
  193. kopano_spooler_SOURCES = \
  194. spooler/Spooler.cpp spooler/mailer.cpp spooler/mailer.h spooler/spmain.h
  195. kopano_spooler_LDADD = \
  196. libkcinetmapi.la libmapi.la libkcmapi.la libkcutil.la libkcssl.la \
  197. libkcarchiver.la libkcarchivercore.la libkcpyplug.la \
  198. ${PROG_LIBS} ${XML2_LIBS}
  199. #
  200. # kopano-stats
  201. #
  202. kopano_stats_SOURCES = ECtools/stats/stats.cpp
  203. kopano_stats_CPPFLAGS = ${AM_CPPFLAGS} ${NCURSES_FLAGS}
  204. # ncurses needs to come first, because ICU_LIBS erroneously has -L/usr/lib64
  205. # which overrides the ncurses lib selection >:-(
  206. kopano_stats_LDADD = \
  207. ${NCURSES_LIBS} libmapi.la libkcmapi.la libkcutil.la ${PROG_LIBS}
  208. #
  209. # kopano-server
  210. #
  211. kopano_server_SOURCES = \
  212. provider/server/ECServer.cpp \
  213. provider/server/ECSoapServerConnection.cpp provider/server/ECSoapServerConnection.h \
  214. provider/server/ECClientUpdate.cpp provider/server/ECClientUpdate.h \
  215. provider/server/ECThreadManager.cpp provider/server/ECThreadManager.h \
  216. provider/common/SOAPHelpers.cpp provider/common/SOAPHelpers.h \
  217. provider/soap/soapServer.cpp
  218. kopano_server_LDADD = \
  219. libkcutil.la libkcmapi.la libkcssl.la \
  220. libkcserver.la libkcsoap.la ${GSOAP_LIBS} \
  221. ${PROG_LIBS} ${CRYPTO_LIBS} ${icu_uc_LIBS} ${icu_i18n_LIBS} ${DL_LIBS} \
  222. ${MYSQL_LIBS} ${SSL_LIBS} ${PAM_LIBS} ${KRB5_LIBS} -lpthread -lrt
  223. kopano_server_LDFLAGS = ${AM_LDFLAGS}
  224. #
  225. # libkcarchiver
  226. #
  227. libkcarchiver_la_SOURCES = \
  228. ECtools/archiver/ArchiverSession.cpp ECtools/archiver/ArchiverSession.h \
  229. ECtools/archiver/ArchiverSessionPtr.h \
  230. ECtools/archiver/archiver-common.cpp \
  231. ECtools/archiver/ArchiveManageImpl.cpp ECtools/archiver/ArchiveManageImpl.h \
  232. ECtools/archiver/ArchiveManage.h \
  233. ECtools/archiver/ArchiveStateCollector.cpp ECtools/archiver/ArchiveStateCollector.h \
  234. ECtools/archiver/ArchiveStateUpdater.cpp ECtools/archiver/ArchiveStateUpdater.h \
  235. ECtools/archiver/archivestateupdater_fwd.h \
  236. ECtools/archiver/helpers/ArchiveHelper.cpp ECtools/archiver/helpers/ArchiveHelper.h \
  237. ECtools/archiver/helpers/StoreHelper.cpp ECtools/archiver/helpers/StoreHelper.h \
  238. ECtools/archiver/helpers/MAPIPropHelper.cpp ECtools/archiver/helpers/MAPIPropHelper.h \
  239. ECtools/archiver/ECArchiverLogger.cpp ECtools/archiver/ECArchiverLogger.h \
  240. ECtools/archiver/ECIterators.cpp ECtools/archiver/ECIterators.h
  241. libkcarchiver_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  242. -Wl,--version-script=${default_sym}
  243. libkcarchiver_la_LIBADD = libmapi.la libkcmapi.la libkcutil.la
  244. EXTRA_libkcarchiver_la_DEPENDENCIES = ${default_sym}
  245. #
  246. # libkcarchivercore
  247. #
  248. libkcarchivercore_la_SOURCES = \
  249. ECtools/archiver/Archiver.cpp ECtools/archiver/Archiver.h \
  250. ECtools/archiver/ArchiverImpl.cpp ECtools/archiver/ArchiverImpl.h \
  251. ECtools/archiver/operations/instanceidmapper.cpp \
  252. ECtools/archiver/operations/instanceidmapper.h \
  253. ECtools/archiver/operations/instanceidmapper_fwd.h \
  254. ECtools/archiver/operations/operations.cpp \
  255. ECtools/archiver/operations/operations.h \
  256. ECtools/archiver/operations/operations_fwd.h \
  257. ECtools/archiver/operations/copier.cpp \
  258. ECtools/archiver/operations/copier.h \
  259. ECtools/archiver/operations/deleter.cpp \
  260. ECtools/archiver/operations/deleter.h \
  261. ECtools/archiver/operations/stubber.cpp \
  262. ECtools/archiver/operations/stubber.h \
  263. ECtools/archiver/operations/transaction.cpp \
  264. ECtools/archiver/operations/transaction.h \
  265. ECtools/archiver/operations/transaction_fwd.h \
  266. ECtools/archiver/operations/postsaveaction.h \
  267. ECtools/archiver/operations/postsaveiidupdater.cpp \
  268. ECtools/archiver/operations/postsaveiidupdater.h \
  269. ECtools/archiver/ArchiveControlImpl.cpp ECtools/archiver/ArchiveControlImpl.h \
  270. ECtools/archiver/arc_mysql.cpp ECtools/archiver/arc_mysql.hpp \
  271. common/database.cpp common/include/kopano/database.hpp
  272. libkcarchivercore_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  273. -Wl,--version-script=${default_sym}
  274. libkcarchivercore_la_LIBADD = \
  275. libmapi.la libkcmapi.la libkcarchiver.la \
  276. ${PROG_LIBS} ${SSL_LIBS} ${MYSQL_LIBS}
  277. EXTRA_libkcarchivercore_la_DEPENDENCIES = ${default_sym}
  278. #
  279. # libkcclient
  280. #
  281. libkcclient_la_SOURCES = \
  282. provider/client/ClientUtil.cpp provider/client/ClientUtil.h \
  283. provider/client/DLLGlobal.h \
  284. provider/client/ECABContainer.cpp provider/client/ECABContainer.h \
  285. provider/client/ECABLogon.cpp provider/client/ECABLogon.h \
  286. provider/client/ECABProp.cpp provider/client/ECABProp.h \
  287. provider/client/ECABProvider.cpp provider/client/ECABProvider.h \
  288. provider/client/ECABProviderSwitch.cpp provider/client/ECABProviderSwitch.h \
  289. provider/client/ECArchiveAwareAttach.cpp provider/client/ECArchiveAwareAttach.h \
  290. provider/client/ECArchiveAwareMessage.cpp provider/client/ECArchiveAwareMessage.h \
  291. provider/client/ECArchiveAwareMsgStore.cpp provider/client/ECArchiveAwareMsgStore.h \
  292. provider/client/ECAttach.cpp provider/client/ECAttach.h \
  293. provider/client/ECChangeAdvisor.cpp provider/client/ECChangeAdvisor.h \
  294. provider/client/ECDisplayTable.cpp \
  295. provider/client/ECDistList.cpp provider/client/ECDistList.h \
  296. provider/client/ECExchangeExportChanges.cpp provider/client/ECExchangeExportChanges.h \
  297. provider/client/ECExchangeImportContentsChanges.cpp \
  298. provider/client/ECExchangeImportContentsChanges.h \
  299. provider/client/ECExchangeImportHierarchyChanges.cpp \
  300. provider/client/ECExchangeImportHierarchyChanges.h \
  301. provider/client/ECExchangeModifyTable.cpp provider/client/ECExchangeModifyTable.h \
  302. provider/client/ECExportAddressbookChanges.cpp \
  303. provider/client/ECExportAddressbookChanges.h \
  304. provider/client/ECGenericProp.cpp provider/client/ECGenericProp.h \
  305. provider/client/ics_client.hpp \
  306. provider/client/ECMAPIContainer.cpp provider/client/ECMAPIContainer.h \
  307. provider/client/ECMAPIFolder.cpp provider/client/ECMAPIFolder.h \
  308. provider/client/ECMAPIFolderPublic.cpp provider/client/ECMAPIFolderPublic.h \
  309. provider/client/ECMAPIProp.cpp provider/client/ECMAPIProp.h \
  310. provider/client/ECMAPITable.cpp provider/client/ECMAPITable.h \
  311. provider/client/ECMSProvider.cpp provider/client/ECMSProvider.h \
  312. provider/client/ECMSProviderSwitch.cpp provider/client/ECMSProviderSwitch.h \
  313. provider/client/ECMailUser.cpp provider/client/ECMailUser.h \
  314. provider/client/ECMemTablePublic.cpp provider/client/ECMemTablePublic.h \
  315. provider/client/ECMessage.cpp provider/client/ECMessage.h \
  316. provider/client/ECMessageStreamImporterIStreamAdapter.cpp \
  317. provider/client/ECMessageStreamImporterIStreamAdapter.h \
  318. provider/client/ECMsgStore.cpp provider/client/ECMsgStore.h \
  319. provider/client/ECMsgStorePublic.cpp provider/client/ECMsgStorePublic.h \
  320. provider/client/ECNamedProp.cpp provider/client/ECNamedProp.h \
  321. provider/client/ECNotifyClient.cpp provider/client/ECNotifyClient.h \
  322. provider/client/ECNotifyMaster.cpp provider/client/ECNotifyMaster.h \
  323. provider/client/ECParentStorage.cpp provider/client/ECParentStorage.h \
  324. provider/client/ECPropertyEntry.cpp provider/client/ECPropertyEntry.h \
  325. provider/client/ECSessionGroupManager.cpp provider/client/ECSessionGroupManager.h \
  326. provider/client/ECXPLogon.cpp provider/client/ECXPLogon.h \
  327. provider/client/ECXPProvider.cpp provider/client/ECXPProvider.h \
  328. provider/client/EntryPoint.h \
  329. provider/client/IECPropStorage.h \
  330. provider/client/Mem.cpp provider/client/Mem.h \
  331. provider/client/ProviderUtil.cpp provider/client/ProviderUtil.h \
  332. provider/client/SessionGroupData.cpp provider/client/SessionGroupData.h \
  333. provider/client/WSABPropStorage.cpp provider/client/WSABPropStorage.h \
  334. provider/client/WSABTableView.cpp provider/client/WSABTableView.h \
  335. provider/client/WSMAPIFolderOps.cpp provider/client/WSMAPIFolderOps.h \
  336. provider/client/WSMAPIPropStorage.cpp provider/client/WSMAPIPropStorage.h \
  337. provider/client/WSMessageStreamExporter.cpp provider/client/WSMessageStreamExporter.h \
  338. provider/client/WSMessageStreamImporter.cpp provider/client/WSMessageStreamImporter.h \
  339. provider/client/WSSerializedMessage.cpp provider/client/WSSerializedMessage.h \
  340. provider/client/WSStoreTableView.cpp provider/client/WSStoreTableView.h \
  341. provider/client/WSTableView.cpp provider/client/WSTableView.h \
  342. provider/client/WSTransport.cpp provider/client/WSTransport.h \
  343. provider/client/WSUtil.cpp provider/client/WSUtil.h \
  344. provider/client/epclient.cpp \
  345. provider/client/resource.h \
  346. provider/common/SOAPSock.cpp provider/common/SOAPSock.h \
  347. provider/soap/soapClient.cpp
  348. libkcclient_la_LIBADD = \
  349. libkcmapi.la libkcssl.la libkcutil.la libkcfreebusy.la libkcsync.la \
  350. libmapi.la ${COND_libkcrosie_la} libkcsoap.la -lstdc++ \
  351. ${GSOAP_LIBS} ${ICU_LIBS} ${SSL_LIBS} ${UUID_LIBS} ${KRB5_LIBS}
  352. libkcclient_la_LDFLAGS = ${AM_LDFLAGS} -avoid-version -module \
  353. -Wl,--version-script=provider/provider.sym
  354. EXTRA_libkcclient_la_DEPENDENCIES = provider/provider.sym
  355. #
  356. # libkccontacts
  357. #
  358. libkccontacts_la_SOURCES = \
  359. provider/contacts/epcontact.cpp provider/contacts/ZCABData.h \
  360. provider/contacts/ZCABContainer.h provider/contacts/ZCABContainer.cpp \
  361. provider/contacts/ZCABLogon.h provider/contacts/ZCABLogon.cpp \
  362. provider/contacts/ZCABProvider.h provider/contacts/ZCABProvider.cpp \
  363. provider/contacts/ZCMAPIProp.h provider/contacts/ZCMAPIProp.cpp
  364. libkccontacts_la_LIBADD = \
  365. libkcutil.la libkcmapi.la libmapi.la -lstdc++ ${UUID_LIBS} ${ICU_LIBS}
  366. libkccontacts_la_LDFLAGS = ${AM_LDFLAGS} -avoid-version -module \
  367. -Wl,--version-script=provider/provider.sym
  368. EXTRA_libkccontacts_la_DEPENDENCIES = provider/provider.sym
  369. #
  370. # libkcfreebusy
  371. #
  372. libkcfreebusydir = ${includedir}/libfreebusy
  373. libkcfreebusy_HEADERS = \
  374. libfreebusy/ECEnumFBBlock.h libfreebusy/ECFBBlockList.h \
  375. libfreebusy/ECFreeBusyData.h libfreebusy/ECFreeBusySupport.h \
  376. libfreebusy/ECFreeBusyUpdate.h libfreebusy/PublishFreeBusy.h \
  377. libfreebusy/freebusy.h libfreebusy/freebusyguid.h \
  378. libfreebusy/freebusytags.h libfreebusy/freebusyutil.h \
  379. libfreebusy/recurrence.h
  380. libkcfreebusy_la_SOURCES = \
  381. libfreebusy/ECEnumFBBlock.cpp libfreebusy/ECFBBlockList.cpp \
  382. libfreebusy/ECFreeBusyData.cpp libfreebusy/ECFreeBusySupport.cpp \
  383. libfreebusy/ECFreeBusyUpdate.cpp libfreebusy/PublishFreeBusy.cpp \
  384. libfreebusy/freebusyutil.cpp libfreebusy/recurrence.cpp
  385. libkcfreebusy_la_LIBADD = \
  386. libkcutil.la libkcmapi.la libmapi.la
  387. libkcfreebusy_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  388. -Wl,--version-script=${default_sym}
  389. EXTRA_libkcfreebusy_la_DEPENDENCIES = ${default_sym}
  390. #
  391. # libkchl
  392. #
  393. libkchl_la_SOURCES = mapi4linux/src/hl.cpp
  394. libkchl_la_LIBADD = libmapi.la
  395. libkchl_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info 0:0:0 \
  396. -Wl,--version-script=mapi4linux/src/libkchl.sym
  397. EXTRA_libkchl_la_DEPENDENCIES = mapi4linux/src/libkchl.sym
  398. #
  399. # libkcicalmapi
  400. #
  401. libkcicalmapidir = ${includedir}/icalmapi
  402. libkcicalmapi_HEADERS = \
  403. libicalmapi/ICalToMAPI.h libicalmapi/MAPIToICal.h \
  404. libicalmapi/icalitem.h libicalmapi/icalmem.hpp \
  405. libicalmapi/icalrecurrence.h libicalmapi/icaluid.h \
  406. libicalmapi/mapitovcf.hpp \
  407. libicalmapi/nameids.h libicalmapi/valarm.h \
  408. libicalmapi/vcftomapi.hpp libicalmapi/vconverter.h \
  409. libicalmapi/vevent.h libicalmapi/vfreebusy.h libicalmapi/vtimezone.h \
  410. libicalmapi/vtodo.h
  411. libkcicalmapi_la_SOURCES = \
  412. libicalmapi/ICalToMAPI.cpp libicalmapi/MAPIToICal.cpp \
  413. libicalmapi/icalinit.cpp libicalmapi/icalrecurrence.cpp \
  414. libicalmapi/icaluid.cpp libicalmapi/mapitovcf.cpp \
  415. libicalmapi/nameids.cpp libicalmapi/valarm.cpp \
  416. libicalmapi/vcftomapi.cpp libicalmapi/vconverter.cpp \
  417. libicalmapi/vevent.cpp libicalmapi/vfreebusy.cpp \
  418. libicalmapi/vtimezone.cpp libicalmapi/vtodo.cpp
  419. libkcicalmapi_la_LIBADD = \
  420. libkcfreebusy.la libmapi.la libkcmapi.la libkcutil.la ${ICAL_LIBS}
  421. libkcicalmapi_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info 0:0:0 \
  422. -Wl,--version-script=${default_sym}
  423. EXTRA_libkcicalmapi_la_DEPENDENCIES = ${default_sym}
  424. #
  425. # libkcinetmapi
  426. #
  427. libkcinetmapi_la_SOURCES = \
  428. inetmapi/ECMapiUtils.cpp inetmapi/ECMapiUtils.h \
  429. inetmapi/ECVMIMEUtils.cpp inetmapi/ECVMIMEUtils.h \
  430. inetmapi/MAPISMTPTransport.cpp inetmapi/MAPISMTPTransport.h \
  431. inetmapi/MAPIToVMIME.cpp inetmapi/MAPIToVMIME.h \
  432. inetmapi/SMIMEMessage.cpp inetmapi/SMIMEMessage.h \
  433. inetmapi/VMIMEToMAPI.cpp inetmapi/VMIMEToMAPI.h \
  434. inetmapi/inetmapi.cpp \
  435. inetmapi/inputStreamMAPIAdapter.cpp \
  436. inetmapi/inputStreamMAPIAdapter.h \
  437. inetmapi/mapiAttachment.cpp inetmapi/mapiAttachment.h \
  438. inetmapi/mapiTextPart.cpp inetmapi/mapiTextPart.h \
  439. inetmapi/outputStreamMAPIAdapter.cpp \
  440. inetmapi/outputStreamMAPIAdapter.h \
  441. inetmapi/serviceRegistration.inl \
  442. inetmapi/tnef.cpp inetmapi/tnef.h
  443. # Add '-z now' -> -Wl,-z, -Wl,now to LD flags so that we do early binding of
  444. # symbols. This fixes a problem in which libvmime attempts to resolve a symbol
  445. # in libinetmapi.so during the unload of vmime, initiated by the unload of
  446. # libinetmapi. On some systems, this fails to resolve the symbol during unload,
  447. # resulting in a crash in __cxa_finalize during unload of mapi.so
  448. libkcinetmapi_la_LIBADD = \
  449. libmapi.la libkcmapi.la libkcutil.la libkcicalmapi.la \
  450. ${COND_libkcrosie_la} ${VMIME_LIBS} ${XML2_LIBS}
  451. libkcinetmapi_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  452. -version-info 0:0:0 -Wl,-z -Wl,now -Wl,--version-script=${default_sym}
  453. EXTRA_libkcinetmapi_la_DEPENDENCIES = ${default_sym}
  454. #
  455. # libkcserver
  456. #
  457. libkcserver_la_SOURCES = \
  458. common/database.cpp common/include/kopano/database.hpp \
  459. provider/libserver/ECABObjectTable.cpp provider/libserver/ECABObjectTable.h \
  460. provider/libserver/ECAttachmentStorage.cpp provider/libserver/ECAttachmentStorage.h \
  461. provider/libserver/ECCacheManager.cpp provider/libserver/ECCacheManager.h \
  462. provider/libserver/ECConvenientDepthABObjectTable.cpp \
  463. provider/libserver/ECConvenientDepthABObjectTable.h \
  464. provider/libserver/ECConvenientDepthObjectTable.cpp \
  465. provider/libserver/ECConvenientDepthObjectTable.h \
  466. provider/libserver/ECConversion.cpp provider/libserver/ECConversion.h \
  467. provider/libserver/ECDBDef.h \
  468. provider/libserver/ECDatabase.h \
  469. provider/libserver/ECDatabaseFactory.cpp provider/libserver/ECDatabaseFactory.h \
  470. provider/libserver/ECDatabaseMySQL.cpp \
  471. provider/libserver/ECDatabaseUpdate.cpp provider/libserver/ECDatabaseUpdate.h \
  472. provider/libserver/ECDatabaseUtils.cpp provider/libserver/ECDatabaseUtils.h \
  473. provider/libserver/ECGenProps.cpp provider/libserver/ECGenProps.h \
  474. provider/libserver/ECGenericObjectTable.cpp \
  475. provider/libserver/ECGenericObjectTable.h \
  476. provider/libserver/ECICS.cpp provider/libserver/ECICS.h \
  477. provider/libserver/ECICSHelpers.cpp provider/libserver/ECICSHelpers.h \
  478. provider/libserver/ECIndexer.cpp provider/libserver/ECIndexer.h \
  479. provider/libserver/ECKrbAuth.cpp provider/libserver/ECKrbAuth.h \
  480. provider/libserver/ECLockManager.cpp provider/libserver/ECLockManager.h \
  481. provider/libserver/ECMAPI.h \
  482. provider/libserver/ECMailBoxTable.cpp provider/libserver/ECMailBoxTable.h \
  483. provider/libserver/ECMultiStoreTable.cpp provider/libserver/ECMultiStoreTable.h \
  484. provider/libserver/ECNotification.cpp provider/libserver/ECNotification.h \
  485. provider/libserver/ECNotificationManager.cpp provider/libserver/ECNotificationManager.h \
  486. provider/libserver/ECPamAuth.cpp provider/libserver/ECPamAuth.h \
  487. provider/libserver/ECPluginFactory.cpp provider/libserver/ECPluginFactory.h \
  488. provider/libserver/ECPluginSharedData.cpp \
  489. provider/libserver/ECS3Attachment.cpp provider/libserver/ECS3Attachment.h \
  490. provider/libserver/ECSearchFolders.cpp provider/libserver/ECSearchFolders.h \
  491. provider/libserver/ECSearchObjectTable.cpp provider/libserver/ECSearchObjectTable.h \
  492. provider/libserver/ECSecurity.cpp provider/libserver/ECSecurity.h \
  493. provider/libserver/ECServerEntrypoint.cpp provider/libserver/ECServerEntrypoint.h \
  494. provider/libserver/ECSession.cpp provider/libserver/ECSession.h \
  495. provider/libserver/ECSessionGroup.cpp provider/libserver/ECSessionGroup.h \
  496. provider/libserver/ECSessionManager.cpp provider/libserver/ECSessionManager.h \
  497. provider/libserver/ECStatsCollector.cpp provider/libserver/ECStatsCollector.h \
  498. provider/libserver/ECStatsTables.cpp provider/libserver/ECStatsTables.h \
  499. provider/libserver/ECStoreObjectTable.cpp provider/libserver/ECStoreObjectTable.h \
  500. provider/libserver/ECStringCompat.cpp provider/libserver/ECStringCompat.h \
  501. provider/libserver/ECSubRestriction.cpp provider/libserver/ECSubRestriction.h \
  502. provider/libserver/ECTPropsPurge.cpp provider/libserver/ECTPropsPurge.h \
  503. provider/libserver/ECTableManager.cpp provider/libserver/ECTableManager.h \
  504. provider/libserver/ECTestProtocol.cpp provider/libserver/ECTestProtocol.h \
  505. provider/libserver/ECUserManagement.cpp provider/libserver/ECUserManagement.h \
  506. provider/libserver/ECUserStoreTable.cpp provider/libserver/ECUserStoreTable.h \
  507. provider/libserver/StorageUtil.cpp provider/libserver/StorageUtil.h \
  508. provider/libserver/StreamUtil.cpp provider/libserver/StreamUtil.h \
  509. provider/libserver/cmd.cpp provider/libserver/cmd.hpp \
  510. provider/libserver/cmdutil.cpp provider/libserver/cmdutil.hpp \
  511. provider/libserver/logontime.cpp provider/libserver/logontime.hpp \
  512. provider/common/ECLicenseClient.cpp provider/common/ECLicenseClient.h \
  513. provider/common/ECSearchClient.cpp provider/common/ECSearchClient.h \
  514. provider/common/SOAPDebug.cpp provider/common/SOAPDebug.h
  515. libkcserver_la_LIBADD = \
  516. libkcutil.la libkcmapi.la libkcssl.la libkcsoap.la \
  517. -lpthread ${icu_i18n_LIBS} ${icu_uc_LIBS} \
  518. ${GSOAP_LIBS} ${KRB5_LIBS} ${MYSQL_LIBS} ${PAM_LIBS} ${SSL_LIBS}
  519. libkcserver_la_LDFLAGS = ${AM_LDFLAGS} \
  520. -Wl,--version-script=provider/libkcserver.sym
  521. EXTRA_libkcserver_la_DEPENDENCIES = provider/libkcserver.sym
  522. provider/libkcserver.sym: ${top_builddir}/config.status
  523. #
  524. # libkcmapi
  525. #
  526. noinst_HEADERS += \
  527. common/ECMemStream.h common/HtmlEntity.h common/HtmlToTextParser.h \
  528. common/IStreamAdapter.h common/rtfutil.h
  529. libkcmapi_la_SOURCES = \
  530. common/ECABEntryID.cpp common/ECDebug.cpp common/ECDebugPrint.cpp \
  531. common/ECGuid.cpp common/ECKeyTable.cpp common/ECMemStream.cpp \
  532. common/ECUnknown.cpp common/HtmlEntity.cpp common/HtmlToTextParser.cpp \
  533. common/IStreamAdapter.cpp common/MAPIErrors.cpp common/kcodes.cpp \
  534. common/codepage.cpp common/rtfutil.cpp
  535. libkcmapi_la_LIBADD = libkcutil.la -lpthread
  536. libkcmapi_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  537. -Wl,--version-script=common/libkcmapi.sym
  538. EXTRA_libkcmapi_la_DEPENDENCIES = common/libkcmapi.sym
  539. common/libkcmapi.sym: ${top_builddir}/config.status
  540. #
  541. # libkcrosie
  542. #
  543. include_HEADERS = librosie/librosie.h
  544. libkcrosie_la_SOURCES = librosie/librosie.cpp
  545. libkcrosie_la_LIBADD = libkcutil.la -ltidy
  546. libkcrosie_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info 0:0:0 \
  547. -Wl,--version-script=${default_sym}
  548. EXTRA_libkcrosie_la_DEPENDENCIES = ${default_sym}
  549. #
  550. # libkcsoap
  551. #
  552. libkcsoap_la_SOURCES = \
  553. provider/common/soapctor.cpp provider/soap/soapC.cpp \
  554. provider/common/pcuser.cpp provider/common/SOAPAlloc.h \
  555. provider/common/SOAPUtils.cpp provider/common/SOAPUtils.h \
  556. provider/common/pcutil.cpp provider/common/pcutil.hpp \
  557. provider/common/versions.h
  558. libkcsoap_la_CXXFLAGS = ${AM_CXXFLAGS} -fvisibility=default
  559. libkcsoap_la_LIBADD = libkcutil.la libkcmapi.la ${GSOAP_LIBS}
  560. libkcsoap_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  561. -Wl,--version-script=provider/libkcsoap.sym
  562. EXTRA_libkcsoap_la_DEPENDENCIES = provider/libkcsoap.sym
  563. provider/libkcsoap.sym: ${top_builddir}/config.status
  564. #
  565. # libkcssl
  566. #
  567. noinst_HEADERS += common/ECChannelClient.h common/SSLUtil.h
  568. libkcssl_la_SOURCES = \
  569. common/ECChannel.cpp common/ECChannelClient.cpp common/SSLUtil.cpp
  570. libkcssl_la_LIBADD = libkcutil.la -lpthread ${SSL_LIBS}
  571. libkcssl_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  572. -Wl,--version-script=${default_sym}
  573. EXTRA_libkcssl_la_DEPENDENCIES = ${default_sym}
  574. #
  575. # libkcsync
  576. #
  577. libkcsyncdir = ${includedir}/libkcsync
  578. libkcsync_HEADERS = \
  579. libsync/ECResyncSet.h libsync/ECSyncContext.h libsync/ECSyncLog.h \
  580. libsync/ECSyncSettings.h libsync/ECSyncUtil.h
  581. libkcsync_la_SOURCES = \
  582. libsync/ECResyncSet.cpp \
  583. libsync/ECSyncContext.cpp libsync/ECSyncLog.cpp \
  584. libsync/ECSyncSettings.cpp libsync/ECSyncUtil.cpp
  585. libkcsync_la_LIBADD = libkcmapi.la libmapi.la
  586. libkcsync_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  587. -Wl,--version-script=${default_sym}
  588. EXTRA_libkcsync_la_DEPENDENCIES = ${default_sym}
  589. #
  590. # libkcutil
  591. #
  592. noinst_HEADERS += \
  593. common/ConsoleTable.h common/ECACL.h common/ECCache.h common/ECConfigImpl.h \
  594. common/ECFifoBuffer.h common/ECSerializer.h common/StatsClient.h \
  595. common/SymmetricCrypt.h common/TimeUtil.h common/TmpPath.h common/fileutil.h \
  596. common/charset/localeutil.h common/ustringutil/utfutil.h \
  597. common/utf8/core.h common/utf8/unchecked.h
  598. libkcutil_la_SOURCES = \
  599. common/ConsoleTable.cpp common/ECACL.cpp common/ECCache.cpp \
  600. common/ECConfig.cpp common/ECConfigImpl.cpp common/ECFifoBuffer.cpp \
  601. common/ECGetText.cpp common/ECIConv.cpp common/ECLogger.cpp \
  602. common/ECScheduler.cpp common/ECThreadPool.cpp \
  603. common/StatsClient.cpp common/SymmetricCrypt.cpp common/TimeUtil.cpp \
  604. common/TmpPath.cpp common/Trace.cpp common/UnixUtil.cpp \
  605. common/fileutil.cpp common/my_getopt.cpp common/platform.cpp \
  606. common/platform.linux.cpp common/stringutil.cpp \
  607. common/ustringutil.cpp common/charset/convert.cpp \
  608. common/charset/convstring.cpp common/charset/traits.cpp \
  609. common/charset/localeutil.cpp common/ustringutil/utfutil.cpp
  610. libkcutil_la_LIBADD = \
  611. -lpthread -lz ${CRYPTO_LIBS} ${icu_i18n_LIBS} ${icu_uc_LIBS} ${UUID_LIBS}
  612. libkcutil_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined \
  613. -Wl,--version-script=common/libkcutil.sym
  614. EXTRA_libkcutil_la_DEPENDENCIES = common/libkcutil.sym
  615. common/libkcutil.sym: ${top_builddir}/config.status
  616. #
  617. # libmapi
  618. #
  619. libmapi_la_SOURCES = \
  620. mapi4linux/src/common.cpp mapi4linux/src/mapidefs.cpp mapi4linux/src/mapispi.cpp mapi4linux/src/mapiutil.cpp \
  621. mapi4linux/src/mapix.cpp mapi4linux/src/rtf.cpp mapi4linux/src/imessage.cpp mapi4linux/src/m4l.common.h \
  622. mapi4linux/src/m4l.mapidefs.h mapi4linux/src/m4l.mapispi.h mapi4linux/src/m4l.mapiutil.h \
  623. mapi4linux/src/m4l.mapix.h mapi4linux/src/mapi4linux.h mapi4linux/src/m4l.debug.h mapi4linux/src/rtf.h \
  624. mapi4linux/src/m4l.mapisvc.cpp mapi4linux/src/m4l.mapisvc.h \
  625. m4lcommon/CommonUtil.cpp \
  626. m4lcommon/ECFeatures.cpp m4lcommon/ECFeatures.h \
  627. m4lcommon/ECFeatureList.h m4lcommon/ECInvariantChecker.h \
  628. m4lcommon/ECMAPIDebug.cpp m4lcommon/ECMAPIDebug.h \
  629. m4lcommon/ECMemTable.cpp m4lcommon/HrException.h \
  630. m4lcommon/ECRestriction.cpp \
  631. m4lcommon/RecurrenceState.cpp m4lcommon/userutil.cpp \
  632. m4lcommon/IECChangeAdviseSink.h \
  633. m4lcommon/IECChangeAdvisor.h \
  634. m4lcommon/IECExchangeModifyTable.h \
  635. m4lcommon/IECExportAddressbookChanges.h \
  636. m4lcommon/IECExportChanges.h \
  637. m4lcommon/IECImportAddressbookChanges.h \
  638. m4lcommon/IECImportContentsChanges.h \
  639. m4lcommon/IECImportHierarchyChanges.h \
  640. m4lcommon/IECMultiStoreTable.h m4lcommon/IECSpooler.h \
  641. m4lcommon/IECTestProtocol.h m4lcommon/IMAPIOffline.h \
  642. m4lcommon/MAPIConsoleTable.cpp m4lcommon/MAPIConsoleTable.h \
  643. m4lcommon/MAPINotifSink.cpp m4lcommon/MAPINotifSink.h \
  644. m4lcommon/Util.cpp \
  645. m4lcommon/favoritesutil.cpp m4lcommon/favoritesutil.h \
  646. m4lcommon/mapicontact.h \
  647. m4lcommon/include/kopano/xclsfrag/IABContainer.hpp \
  648. m4lcommon/include/kopano/xclsfrag/IABLogon.hpp \
  649. m4lcommon/include/kopano/xclsfrag/IABProvider.hpp \
  650. m4lcommon/include/kopano/xclsfrag/IECExchangeModifyTable.hpp \
  651. m4lcommon/include/kopano/xclsfrag/IECExportAddressbookChanges.hpp \
  652. m4lcommon/include/kopano/xclsfrag/IECPropStorage.hpp \
  653. m4lcommon/include/kopano/xclsfrag/IECSecurity.hpp \
  654. m4lcommon/include/kopano/xclsfrag/IECSingleInstance.hpp \
  655. m4lcommon/include/kopano/xclsfrag/IECUnknown.hpp \
  656. m4lcommon/include/kopano/xclsfrag/IExchangeExportChanges.hpp \
  657. m4lcommon/include/kopano/xclsfrag/IExchangeManageStore.hpp \
  658. m4lcommon/include/kopano/xclsfrag/IExchangeModifyTable.hpp \
  659. m4lcommon/include/kopano/xclsfrag/IExchangeRuleAction.hpp \
  660. m4lcommon/include/kopano/xclsfrag/IFolderSupport.hpp \
  661. m4lcommon/include/kopano/xclsfrag/IFreeBusySupport.hpp \
  662. m4lcommon/include/kopano/xclsfrag/IMAPIContainer.hpp \
  663. m4lcommon/include/kopano/xclsfrag/IMAPIFolder.hpp \
  664. m4lcommon/include/kopano/xclsfrag/IMAPIProp.hpp \
  665. m4lcommon/include/kopano/xclsfrag/IMAPITable.hpp \
  666. m4lcommon/include/kopano/xclsfrag/IMSProvider.hpp \
  667. m4lcommon/include/kopano/xclsfrag/IMsgStore.hpp \
  668. m4lcommon/include/kopano/xclsfrag/ISequentialStream.hpp \
  669. m4lcommon/include/kopano/xclsfrag/IStream.hpp \
  670. m4lcommon/include/kopano/xclsfrag/IUnknown.hpp
  671. libmapi_la_LIBADD = \
  672. libkcutil.la libkcmapi.la -lpthread ${PROG_LIBS} ${DL_LIBS}
  673. libmapi_la_LDFLAGS = ${AM_LDFLAGS} -no-undefined -version-info 1:0:0 \
  674. -Wl,--version-script=mapi4linux/src/libmapi.sym
  675. EXTRA_libmapi_la_DEPENDENCIES = mapi4linux/src/libmapi.sym
  676. mapi4linux/src/libmapi.sym: ${top_builddir}/config.status
  677. libm4lcommondir = ${includedir}/mapi4linux
  678. libm4lcommon_HEADERS = m4lcommon/include/edkguid.h
  679. #
  680. # PHP configuration
  681. # Old note: Debian has a broken php-config(1) script which outputs
  682. # "--with-config-file-scan-dir=/etc/php5/apache2/conf.d"
  683. # If we install our config file into that location, it will only be available
  684. # to only apache2-mod_php5 and not php-cli, php-fpm, etc.
  685. #
  686. phpsysconfdir = ${dcprefix}${PHP_SYSCONF_DIR}
  687. dist_phpsysconf_DATA = php-ext/mapi.ini
  688. #
  689. # PHP extension
  690. #
  691. phplibdir = ${dcprefix}${PHP_EXTENSION_DIR}
  692. phplib_LTLIBRARIES =
  693. mapi_la_CPPFLAGS = ${AM_CPPFLAGS} ${PHP_INCLUDES}
  694. mapi_la_CXXFLAGS = ${AM_CXXFLAGS} ${ZPHPCXXFLAGS}
  695. mapi_la_SOURCES =
  696. if WITH_PHP7
  697. phplib_LTLIBRARIES += mapi.la
  698. mapi_la_CPPFLAGS += -I${srcdir}/php7-ext -I${srcdir}/php-ext
  699. mapi_la_SOURCES += \
  700. php7-ext/ECImportContentsChangesProxy.cpp \
  701. php7-ext/ECImportContentsChangesProxy.h \
  702. php7-ext/ECImportHierarchyChangesProxy.cpp \
  703. php7-ext/ECImportHierarchyChangesProxy.h \
  704. php7-ext/ECRulesTableProxy.cpp php-ext/ECRulesTableProxy.h \
  705. php-ext/globals.h php7-ext/main.cpp php-ext/main.h \
  706. php-ext/phpconfig.h \
  707. php7-ext/typeconversion.cpp php7-ext/typeconversion.h \
  708. php-ext/util.cpp php-ext/util.h
  709. endif
  710. if WITH_PHP5
  711. phplib_LTLIBRARIES += mapi.la
  712. mapi_la_SOURCES += \
  713. php-ext/ECImportContentsChangesProxy.cpp \
  714. php-ext/ECImportContentsChangesProxy.h \
  715. php-ext/ECImportHierarchyChangesProxy.cpp \
  716. php-ext/ECImportHierarchyChangesProxy.h \
  717. php-ext/ECRulesTableProxy.cpp php-ext/ECRulesTableProxy.h \
  718. php-ext/globals.h php-ext/main.cpp php-ext/main.h \
  719. php-ext/phpconfig.h \
  720. php-ext/typeconversion.cpp php-ext/typeconversion.h \
  721. php-ext/util.cpp php-ext/util.h
  722. endif
  723. mapi_la_LIBADD = libmapi.la libkcmapi.la libkcutil.la libkcfreebusy.la \
  724. libkcinetmapi.la libkcicalmapi.la ${PROG_LIBS} -lpthread
  725. mapi_la_LDFLAGS = ${AM_LDFLAGS} -avoid-version -module ${PHP_LDFLAGS} \
  726. -Wl,--version-script=${srcdir}/php-ext/mapi.sym
  727. EXTRA_mapi_la_DEPENDENCIES = ${srcdir}/php-ext/mapi.sym
  728. #
  729. # PHP classes, config files
  730. #
  731. phpdatadir = ${datarootdir}/kopano/php/mapi
  732. dist_phpdata_DATA = \
  733. php-ext/include/mapi/class.baseexception.php \
  734. php-ext/include/mapi/class.baserecurrence.php \
  735. php-ext/include/mapi/class.freebusypublish.php \
  736. php-ext/include/mapi/class.mapiexception.php \
  737. php-ext/include/mapi/class.meetingrequest.php \
  738. php-ext/include/mapi/class.recurrence.php \
  739. php-ext/include/mapi/class.taskrecurrence.php \
  740. php-ext/include/mapi/class.taskrequest.php \
  741. php-ext/include/mapi/mapi.util.php \
  742. php-ext/include/mapi/mapicode.php \
  743. php-ext/include/mapi/mapidefs.php \
  744. php-ext/include/mapi/mapiguid.php \
  745. php-ext/include/mapi/mapitags.php
  746. #
  747. # test programs
  748. #
  749. cov_scope_SOURCES = common/cov-scope.cpp
  750. mapitime_SOURCES = ECtools/mapitime.cpp
  751. mapitime_LDADD = -lrt libmapi.la libkcmapi.la libkcutil.la \
  752. ${curl_LIBS} ${icu_uc_LIBS}
  753. rosie_test_SOURCES = librosie/test.cpp
  754. rosie_test_LDADD = libkcrosie.la
  755. #
  756. # spooler generators
  757. #
  758. BUILT_SOURCES += spooler/PythonSWIGRuntime.h
  759. CLEANFILES += spooler/PythonSWIGRuntime.h
  760. EXTRA_DIST += spooler/PythonSWIGRuntime.h
  761. spooler/PythonSWIGRuntime.h:
  762. ${SWIG_EXEC} -python -external-runtime $@
  763. #
  764. # soap generators
  765. #
  766. SOAPHEADER = provider/include/proto.h
  767. SOAP_NS = provider/soap/KCmd.nsmap provider/soap/KCmd.wsdl
  768. SOAP_H_FILES = provider/soap/soapH.h provider/soap/soapStub.h
  769. SOAP_CPP_CLIENT = provider/soap/soapClient.cpp provider/soap/soapC.cpp
  770. SOAP_LIB_FILES = provider/soap/soapClientLib.cpp provider/soap/soapServerLib.cpp \
  771. provider/soap/soapKCmdObject.h
  772. SOAP_CPP_SRC = ${SOAP_CPP_CLIENT} provider/soap/soapServer.cpp ${SOAP_H_FILES} \
  773. ${SOAP_NS} ${SOAP_LIB_FILES}
  774. ${SOAP_CPP_SRC}: provider/soap/ns.xsd
  775. provider/soap/ns.xsd: ${SOAPHEADER}
  776. ${MKDIR_P} provider/soap
  777. soapcpp2 -z1 -x -Iinclude/ -d provider/soap/ $<
  778. @if ! grep -q 'propVal\[\]' provider/soap/soapC*; then \
  779. echo "ERROR: This gsoap generator did not produce an acceptable wire protocol. http://sf.net/p/gsoap2/bugs/1075/"; \
  780. exit 1; \
  781. fi
  782. BUILT_SOURCES += provider/soap/ns.xsd ${SOAP_CPP_SRC}
  783. CLEANFILES += ${SOAP_CPP_SRC} provider/soap/*
  784. #
  785. # server userdb plugins
  786. #
  787. COMMON_PLUGIN_FILES = provider/plugins/plugin.h
  788. COMMON_DBPLUGIN_FILES = provider/plugins/DBBase.h provider/plugins/DBBase.cpp
  789. pkglib_LTLIBRARIES += dbplugin.la
  790. noinst_DATA += dbplugin.ldd
  791. dbplugin_la_SOURCES = \
  792. provider/plugins/DBUserPlugin.cpp provider/plugins/DBUserPlugin.h \
  793. ${COMMON_PLUGIN_FILES} ${COMMON_DBPLUGIN_FILES}
  794. dbplugin_la_LIBADD = \
  795. libkcutil.la libkcserver.la ${MYSQL_LIBS}
  796. dbplugin_la_LDFLAGS = ${AM_LDFLAGS} -avoid-version -module \
  797. -Wl,--version-script=provider/plugin.sym
  798. EXTRA_dbplugin_la_DEPENDENCIES = provider/plugin.sym
  799. if WITH_UNIX
  800. pkglib_LTLIBRARIES += unixplugin.la
  801. noinst_DATA += unixplugin.ldd
  802. unixplugin_la_SOURCES = \
  803. provider/plugins/UnixUserPlugin.cpp provider/plugins/UnixUserPlugin.h \
  804. ${COMMON_PLUGIN_FILES} ${COMMON_DBPLUGIN_FILES}
  805. unixplugin_la_LIBADD = \
  806. libkcutil.la libkcserver.la ${MYSQL_LIBS} ${CRYPT_LIBS}
  807. unixplugin_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version \
  808. -Wl,--version-script=provider/plugin.sym
  809. EXTRA_unixplugin_la_DEPENDENCIES = provider/plugin.sym
  810. endif
  811. if WITH_LDAP
  812. pkglib_LTLIBRARIES += ldapplugin.la
  813. noinst_DATA += ldapplugin.ldd
  814. noinst_DATA += .libs/ldapmsplugin.so
  815. ldapplugin_la_SOURCES = \
  816. provider/plugins/LDAPUserPlugin.cpp provider/plugins/LDAPUserPlugin.h \
  817. provider/plugins/LDAPCache.cpp provider/plugins/LDAPCache.h \
  818. provider/plugins/ldappasswords.cpp provider/plugins/ldappasswords.h \
  819. ${COMMON_PLUGIN_FILES}
  820. ldapplugin_la_LIBADD = \
  821. libkcutil.la \
  822. libkcserver.la ${CRYPTO_LIBS} ${LDAP_LIBS}
  823. ldapplugin_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version \
  824. -Wl,--version-script=provider/plugin.sym
  825. EXTRA_ldapplugin_la_DEPENDENCIES = provider/plugin.sym
  826. .libs/ldapmsplugin.so: ldapplugin.la
  827. ${AM_V_GEN}ln -fs ldapplugin.so .libs/ldapmsplugin.so
  828. install-exec-local:
  829. ${MKDIR_P} ${DESTDIR}${pkglibdir}
  830. ln -fs ldapplugin.so ${DESTDIR}${pkglibdir}/ldapmsplugin.so
  831. endif
  832. #
  833. # manual pages
  834. #
  835. dist_man_MANS = \
  836. doc/kopano.7 \
  837. doc/kopano-admin.8 \
  838. doc/kopano-archiver.8 doc/kopano-archiver.cfg.5 \
  839. doc/kopano-autorespond.8 \
  840. doc/kopano-cfgchecker.8 \
  841. doc/kopano-dagent.8 doc/kopano-dagent.cfg.5 \
  842. doc/kopano-mr-accept.8 doc/kopano-mr-process.8 \
  843. doc/kopano-fsck.1 \
  844. doc/kopano-gateway.8 doc/kopano-gateway.cfg.5 \
  845. doc/kopano-ical.8 doc/kopano-ical.cfg.5 \
  846. doc/kopano-ldap.cfg.5 \
  847. doc/kopano-mailbox-permissions.8 \
  848. doc/kopano-monitor.8 doc/kopano-monitor.cfg.5 \
  849. doc/kopano-passwd.1 \
  850. doc/kopano-search.8 doc/kopano-search.cfg.5 \
  851. doc/kopano-server.8 doc/kopano-server.cfg.5 \
  852. doc/kopano-set-oof.1 \
  853. doc/kopano-spooler.8 doc/kopano-spooler.cfg.5 \
  854. doc/kopano-backup.8 doc/kopano-backup.cfg.5 \
  855. doc/kopano-stats.1 \
  856. doc/kopano-unix.cfg.5 \
  857. doc/kopano-migration-pst.8 doc/kopano-migration-pst.cfg.5 \
  858. doc/kopano-archiver-aclsync.8 \
  859. doc/kopano-archiver-aclset.8 \
  860. doc/kopano-archiver-restore.8
  861. #
  862. # build infrastructure
  863. #
  864. default.sym mapi4linux/src/libkchl.sym \
  865. provider/plugin.sym provider/provider.sym: ${top_builddir}/config.status
  866. include global.am
  867. #OLD TOPLEVEL FM
  868. EXTRA_DIST += version versionheader.sh \
  869. AGPL-3 LICENSE.txt RELNOTES.txt \
  870. bootstrap.sh lddcheck global.am pwdcheck.sh \
  871. common/include/kopano/ecversion.h
  872. BUILT_SOURCES += source-moved-check common/include/kopano/ecversion.h
  873. CLEANFILES += common/include/kopano/ecversion.h
  874. dist_sbin_SCRIPTS += tools/python-scripts/kopano-cachestat
  875. gdbautoloaddir = ${datadir}/gdb/auto-load/${libdir}
  876. dist_gdbautoload_DATA = tools/libmapi.so.1.0.0-gdb.py
  877. AM_DISTCHECK_CONFIGURE_FLAGS = --with-dcprefix='$${prefix}'
  878. .PHONY: source-moved-check
  879. source-moved-check:
  880. @${top_srcdir}/pwdcheck.sh "${abs_top_builddir}"
  881. common/include/kopano/ecversion.h: versionheader.sh
  882. ${MKDIR_P} common/include/kopano
  883. sh ${top_srcdir}/versionheader.sh >$@