configure.ac 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  1. # SPDX-License-Identifier: GPL-2.0
  2. AC_PREREQ(2.60)
  3. AC_INIT(bluez, 5.62)
  4. AM_INIT_AUTOMAKE([foreign subdir-objects color-tests silent-rules
  5. tar-pax no-dist-gzip dist-xz])
  6. AC_CONFIG_HEADERS(config.h)
  7. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
  8. AM_MAINTAINER_MODE
  9. AC_PREFIX_DEFAULT(/usr/local)
  10. PKG_PROG_PKG_CONFIG
  11. COMPILER_FLAGS
  12. AC_LANG_C
  13. AC_C_RESTRICT
  14. AC_PROG_CC
  15. AM_PROG_CC_C_O
  16. AC_PROG_CC_PIE
  17. AC_PROG_INSTALL
  18. AC_PROG_MKDIR_P
  19. m4_define([_LT_AC_TAGCONFIG], [])
  20. m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])])
  21. AC_DISABLE_STATIC
  22. AC_PROG_LIBTOOL
  23. if (test "$USE_MAINTAINER_MODE" = "yes"); then
  24. AC_CHECK_PROG(enable_coverage, [lcov], [yes], [no])
  25. AC_CHECK_PROG(enable_dbus_run_session, [dbus-run-session], [yes])
  26. AC_CHECK_PROG(enable_valgrind, [valgrind], [yes])
  27. AC_CHECK_HEADERS(valgrind/memcheck.h)
  28. fi
  29. AM_CONDITIONAL(COVERAGE, test "${enable_coverage}" = "yes")
  30. AM_CONDITIONAL(DBUS_RUN_SESSION, test "${enable_dbus_run_session}" = "yes")
  31. AM_CONDITIONAL(VALGRIND, test "${enable_valgrind}" = "yes")
  32. MISC_FLAGS
  33. AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads],
  34. [enable threading support]), [enable_threads=${enableval}])
  35. AC_CHECK_FUNCS(explicit_bzero)
  36. AC_CHECK_FUNCS(rawmemchr)
  37. AC_CHECK_FUNC(signalfd, dummy=yes,
  38. AC_MSG_ERROR(signalfd support is required))
  39. AC_CHECK_LIB(rt, clock_gettime, dummy=yes,
  40. AC_MSG_ERROR(realtime clock support is required))
  41. AC_CHECK_LIB(pthread, pthread_create, dummy=yes,
  42. AC_MSG_ERROR(posix thread support is required))
  43. AC_CHECK_LIB(dl, dlopen, dummy=yes,
  44. AC_MSG_ERROR(dynamic linking loader is required))
  45. AC_CHECK_HEADERS(linux/types.h linux/if_alg.h)
  46. PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes,
  47. AC_MSG_ERROR(GLib >= 2.28 is required))
  48. AC_SUBST(GLIB_CFLAGS)
  49. AC_SUBST(GLIB_LIBS)
  50. if (test "${enable_threads}" = "yes"); then
  51. AC_DEFINE(NEED_THREADS, 1, [Define if threading support is required])
  52. PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes,
  53. AC_MSG_ERROR(GThread >= 2.16 is required))
  54. GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS"
  55. GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS"
  56. fi
  57. PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.6, dummy=yes,
  58. AC_MSG_ERROR(D-Bus >= 1.6 is required))
  59. AC_SUBST(DBUS_CFLAGS)
  60. AC_SUBST(DBUS_LIBS)
  61. AC_ARG_WITH([dbusconfdir], AC_HELP_STRING([--with-dbusconfdir=DIR],
  62. [path to D-Bus configuration directory]),
  63. [path_dbusconfdir=${withval}])
  64. if (test -z "${path_dbusconfdir}"); then
  65. AC_MSG_CHECKING([D-Bus configuration directory])
  66. path_dbusconfdir="`$PKG_CONFIG --variable=sysconfdir dbus-1`"
  67. if (test -z "${path_dbusconfdir}"); then
  68. AC_MSG_ERROR([D-Bus configuration directory is required])
  69. fi
  70. AC_MSG_RESULT([${path_dbusconfdir}])
  71. fi
  72. AC_SUBST(DBUS_CONFDIR, [${path_dbusconfdir}])
  73. AC_ARG_WITH([dbussystembusdir], AC_HELP_STRING([--with-dbussystembusdir=DIR],
  74. [path to D-Bus system bus services directory]),
  75. [path_dbussystembusdir=${withval}])
  76. if (test -z "${path_dbussystembusdir}"); then
  77. AC_MSG_CHECKING([D-Bus system bus services dir])
  78. path_dbussystembusdir="`$PKG_CONFIG --variable=system_bus_services_dir dbus-1`"
  79. if (test -z "${path_dbussystembusdir}"); then
  80. AC_MSG_ERROR([D-Bus system bus services directory is required])
  81. fi
  82. AC_MSG_RESULT([${path_dbussystembusdir}])
  83. fi
  84. AC_SUBST(DBUS_SYSTEMBUSDIR, [${path_dbussystembusdir}])
  85. AC_ARG_WITH([dbussessionbusdir], AC_HELP_STRING([--with-dbussessionbusdir=DIR],
  86. [path to D-Bus session bus services directory]),
  87. [path_dbussessionbusdir=${withval}])
  88. if (test -z "${path_dbussessionbusdir}"); then
  89. AC_MSG_CHECKING([D-Bus session bus services dir])
  90. path_dbussessionbusdir="`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`"
  91. if (test -z "${path_dbussessionbusdir}"); then
  92. AC_MSG_ERROR([D-Bus session bus services directory is required])
  93. fi
  94. AC_MSG_RESULT([${path_dbussessionbusdir}])
  95. fi
  96. AC_SUBST(DBUS_SESSIONBUSDIR, [${path_dbussessionbusdir}])
  97. AC_ARG_WITH([zsh-completion-dir], AC_HELP_STRING([--with-zsh-completion-dir=DIR],
  98. [path to install zsh completions]),
  99. [path_zshcompletiondir=${withval}],
  100. [path_zshcompletiondir="yes"])
  101. if (test "${path_zshcompletiondir}" = "yes"); then
  102. path_zshcompletiondir="$datarootdir/zsh/site-functions"
  103. AC_MSG_RESULT([${path_zshcompletiondir}])
  104. fi
  105. AC_SUBST(ZSH_COMPLETIONDIR, [${path_zshcompletiondir}])
  106. AM_CONDITIONAL(ZSH_COMPLETIONS, test "${path_zshcompletiondir}" != "no")
  107. AC_ARG_ENABLE(backtrace, AC_HELP_STRING([--enable-backtrace],
  108. [compile backtrace support]), [enable_backtrace=${enableval}])
  109. if (test "${enable_backtrace}" = "yes"); then
  110. AC_CHECK_HEADER(elfutils/libdwfl.h, dummy=yes,
  111. AC_MSG_ERROR(elfutils support is required))
  112. AC_DEFINE(HAVE_BACKTRACE_SUPPORT, 1,
  113. [Define to 1 if you have the backtrace support.])
  114. BACKTRACE_CFLAGS=""
  115. BACKTRACE_LIBS="-ldw"
  116. AC_SUBST(BACKTRACE_CFLAGS)
  117. AC_SUBST(BACKTRACE_LIBS)
  118. fi
  119. AC_ARG_ENABLE(library, AC_HELP_STRING([--enable-library],
  120. [install Bluetooth library]), [enable_library=${enableval}])
  121. AM_CONDITIONAL(LIBRARY, test "${enable_library}" = "yes")
  122. AC_ARG_ENABLE(test, AC_HELP_STRING([--enable-test],
  123. [enable test/example scripts]), [enable_test=${enableval}])
  124. AM_CONDITIONAL(TEST, test "${enable_test}" = "yes")
  125. AC_ARG_ENABLE(nfc, AC_HELP_STRING([--enable-nfc],
  126. [enable NFC paring]), [enable_nfc=${enableval}])
  127. AM_CONDITIONAL(NFC, test "${enable_nfc}" = "yes")
  128. AC_ARG_ENABLE(sap, AC_HELP_STRING([--enable-sap],
  129. [enable SAP profile]), [enable_sap=${enableval}])
  130. AM_CONDITIONAL(SAP, test "${enable_sap}" = "yes")
  131. AC_ARG_ENABLE(a2dp, AC_HELP_STRING([--disable-a2dp],
  132. [disable A2DP profile]), [enable_a2dp=${enableval}])
  133. AM_CONDITIONAL(A2DP, test "${enable_a2dp}" != "no")
  134. AC_ARG_ENABLE(avrcp, AC_HELP_STRING([--disable-avrcp],
  135. [disable AVRCP profile]), [enable_avrcp=${enableval}])
  136. AM_CONDITIONAL(AVRCP, test "${enable_avrcp}" != "no")
  137. AC_ARG_ENABLE(network, AC_HELP_STRING([--disable-network],
  138. [disable network profiles]), [enable_network=${enableval}])
  139. AM_CONDITIONAL(NETWORK, test "${enable_network}" != "no")
  140. AC_ARG_ENABLE(hid, AC_HELP_STRING([--disable-hid],
  141. [disable HID profile]), [enable_hid=${enableval}])
  142. AM_CONDITIONAL(HID, test "${enable_hid}" != "no")
  143. AC_ARG_ENABLE(hog, AC_HELP_STRING([--disable-hog],
  144. [disable HoG profile]), [enable_hog=${enableval}])
  145. AM_CONDITIONAL(HOG, test "${enable_hog}" != "no")
  146. AC_ARG_ENABLE(health, AC_HELP_STRING([--enable-health],
  147. [enable health profiles]), [enable_health=${enableval}])
  148. AM_CONDITIONAL(HEALTH, test "${enable_health}" = "yes")
  149. AC_ARG_ENABLE(tools, AC_HELP_STRING([--disable-tools],
  150. [disable Bluetooth tools]), [enable_tools=${enableval}])
  151. AM_CONDITIONAL(TOOLS, test "${enable_tools}" != "no")
  152. AC_ARG_ENABLE(monitor, AC_HELP_STRING([--disable-monitor],
  153. [disable Bluetooth monitor]), [enable_monitor=${enableval}])
  154. AM_CONDITIONAL(MONITOR, test "${enable_monitor}" != "no")
  155. AC_ARG_ENABLE(udev, AC_HELP_STRING([--disable-udev],
  156. [disable udev device support]), [enable_udev=${enableval}])
  157. if (test "${enable_tools}" != "no" && test "${enable_udev}" != "no"); then
  158. PKG_CHECK_MODULES(UDEV, libudev >= 172, dummy=yes,
  159. AC_MSG_ERROR(libudev >= 172 is required))
  160. AC_SUBST(UDEV_CFLAGS)
  161. AC_SUBST(UDEV_LIBS)
  162. AC_CHECK_LIB(udev, udev_hwdb_new,
  163. AC_DEFINE(HAVE_UDEV_HWDB_NEW, 1,
  164. [Define to 1 if you have the udev_hwdb_new() function.]))
  165. fi
  166. AM_CONDITIONAL(UDEV, test "${enable_udev}" != "no")
  167. AC_ARG_WITH([udevdir], AC_HELP_STRING([--with-udevdir=DIR],
  168. [path to udev directory]), [path_udevdir=${withval}])
  169. if (test "${enable_udev}" != "no" && test -z "${path_udevdir}"); then
  170. AC_MSG_CHECKING([udev directory])
  171. path_udevdir="`$PKG_CONFIG --variable=udevdir udev`"
  172. if (test -z "${path_udevdir}"); then
  173. AC_MSG_ERROR([udev directory is required])
  174. fi
  175. AC_MSG_RESULT([${path_udevdir}])
  176. fi
  177. AC_SUBST(UDEV_DIR, [${path_udevdir}])
  178. AC_ARG_ENABLE(cups, AC_HELP_STRING([--disable-cups],
  179. [disable CUPS printer support]), [enable_cups=${enableval}])
  180. AM_CONDITIONAL(CUPS, test "${enable_cups}" != "no")
  181. AC_ARG_ENABLE(mesh, AC_HELP_STRING([--enable-mesh],
  182. [enable Mesh profile support]), [enable_mesh=${enableval}])
  183. AM_CONDITIONAL(MESH, test "${enable_mesh}" = "yes")
  184. if (test "${enable_mesh}" = "yes"); then
  185. PKG_CHECK_MODULES(JSONC, json-c >= 0.13, dummy=yes,
  186. AC_MSG_ERROR(json-c >= 0.13 is required))
  187. AC_SUBST(JSON_CFLAGS)
  188. AC_SUBST(JSON_LIBS)
  189. fi
  190. AC_ARG_ENABLE(midi, AC_HELP_STRING([--enable-midi],
  191. [enable MIDI support]), [enable_midi=${enableval}])
  192. AM_CONDITIONAL(MIDI, test "${enable_midi}" = "yes")
  193. if (test "${enable_midi}" = "yes"); then
  194. PKG_CHECK_MODULES(ALSA, alsa, dummy=yes,
  195. AC_MSG_ERROR(ALSA lib is required for MIDI support))
  196. AC_SUBST(ALSA_CFLAGS)
  197. AC_SUBST(ALSA_LIBS)
  198. fi
  199. AC_ARG_ENABLE(obex, AC_HELP_STRING([--disable-obex],
  200. [disable OBEX profile support]), [enable_obex=${enableval}])
  201. if (test "${enable_obex}" != "no"); then
  202. PKG_CHECK_MODULES(ICAL, libical, dummy=yes,
  203. AC_MSG_ERROR(libical is required))
  204. AC_SUBST(ICAL_CFLAGS)
  205. AC_SUBST(ICAL_LIBS)
  206. fi
  207. AM_CONDITIONAL(OBEX, test "${enable_obex}" != "no")
  208. AC_ARG_ENABLE(btpclient, AC_HELP_STRING([--enable-btpclient],
  209. [enable BTP client]), [enable_btpclient=${enableval}])
  210. AM_CONDITIONAL(BTPCLIENT, test "${enable_btpclient}" = "yes")
  211. AC_ARG_ENABLE([external_ell], AC_HELP_STRING([--enable-external-ell],
  212. [enable external Embedded Linux library]),
  213. [enable_external_ell=${enableval}])
  214. if (test "${enable_external_ell}" = "yes"); then
  215. PKG_CHECK_MODULES(ELL, ell >= 0.39, dummy=yes,
  216. AC_MSG_ERROR(Embedded Linux library >= 0.39 is required))
  217. AC_SUBST(ELL_CFLAGS)
  218. AC_SUBST(ELL_LIBS)
  219. fi
  220. AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes" ||
  221. (test "${enable_btpclient}" != "yes" &&
  222. test "${enable_mesh}" != "yes"))
  223. AM_CONDITIONAL(LIBSHARED_ELL, test "${enable_btpclient}" = "yes" ||
  224. test "${enable_mesh}" = "yes")
  225. AC_ARG_ENABLE(client, AC_HELP_STRING([--disable-client],
  226. [disable command line client]), [enable_client=${enableval}])
  227. AM_CONDITIONAL(CLIENT, test "${enable_client}" != "no")
  228. if (test "${enable_client}" != "no" || test "${enable_mesh}" = "yes"); then
  229. AC_CHECK_HEADERS(readline/readline.h, enable_readline=yes,
  230. AC_MSG_ERROR(readline header files are required))
  231. fi
  232. AM_CONDITIONAL(READLINE, test "${enable_readline}" = "yes")
  233. AC_ARG_ENABLE(systemd, AC_HELP_STRING([--disable-systemd],
  234. [disable systemd integration]), [enable_systemd=${enableval}])
  235. AM_CONDITIONAL(SYSTEMD, test "${enable_systemd}" != "no")
  236. AC_ARG_WITH([systemdsystemunitdir],
  237. AC_HELP_STRING([--with-systemdsystemunitdir=DIR],
  238. [path to systemd system unit directory]),
  239. [path_systemunitdir=${withval}])
  240. if (test "${enable_systemd}" != "no" && test -z "${path_systemunitdir}"); then
  241. AC_MSG_CHECKING([systemd system unit dir])
  242. path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`"
  243. if (test -z "${path_systemunitdir}"); then
  244. AC_MSG_ERROR([systemd system unit directory is required])
  245. fi
  246. AC_MSG_RESULT([${path_systemunitdir}])
  247. fi
  248. AC_SUBST(SYSTEMD_SYSTEMUNITDIR, [${path_systemunitdir}])
  249. AC_ARG_WITH([systemduserunitdir],
  250. AC_HELP_STRING([--with-systemduserunitdir=DIR],
  251. [path to systemd user unit directory]),
  252. [path_userunitdir=${withval}])
  253. if (test "${enable_systemd}" != "no" && test -z "${path_userunitdir}"); then
  254. AC_MSG_CHECKING([systemd user unit dir])
  255. path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`"
  256. if (test -z "${path_userunitdir}"); then
  257. AC_MSG_ERROR([systemd user unit directory is required])
  258. fi
  259. AC_MSG_RESULT([${path_userunitdir}])
  260. fi
  261. AC_SUBST(SYSTEMD_USERUNITDIR, [${path_userunitdir}])
  262. AC_ARG_ENABLE(datafiles, AC_HELP_STRING([--disable-datafiles],
  263. [do not install configuration and data files]),
  264. [enable_datafiles=${enableval}])
  265. AM_CONDITIONAL(DATAFILES, test "${enable_datafiles}" != "no")
  266. AC_ARG_ENABLE(manpages, AC_HELP_STRING([--disable-manpages],
  267. [disable building of manual pages]),
  268. [enable_manpages=${enableval}])
  269. if (test "${enable_manpages}" != "no"); then
  270. AC_CHECK_PROGS(RST2MAN, [rst2man rst2man.py], "no")
  271. if (test "${RST2MAN}" = "no" ); then
  272. AC_MSG_ERROR([rst2man is required])
  273. fi
  274. fi
  275. AM_CONDITIONAL(MANPAGES, test "${enable_manpages}" != "no")
  276. AM_CONDITIONAL(RUN_RST2MAN, test "${enable_manpages}" != "no" && test "${RST2MAN}" != "no")
  277. AC_ARG_ENABLE(testing, AC_HELP_STRING([--enable-testing],
  278. [enable testing tools]),
  279. [enable_testing=${enableval}])
  280. AM_CONDITIONAL(TESTING, test "${enable_testing}" = "yes")
  281. AC_ARG_ENABLE(experimental, AC_HELP_STRING([--enable-experimental],
  282. [enable experimental tools]),
  283. [enable_experimental=${enableval}])
  284. AM_CONDITIONAL(EXPERIMENTAL, test "${enable_experimental}" = "yes")
  285. AC_ARG_ENABLE(deprecated, AC_HELP_STRING([--enable-deprecated],
  286. [enable deprecated tools]),
  287. [enable_deprecated=${enableval}])
  288. AM_CONDITIONAL(DEPRECATED, test "${enable_deprecated}" = "yes")
  289. AC_ARG_ENABLE(sixaxis, AC_HELP_STRING([--enable-sixaxis],
  290. [enable sixaxis plugin]), [enable_sixaxis=${enableval}])
  291. AM_CONDITIONAL(SIXAXIS, test "${enable_sixaxis}" = "yes" &&
  292. test "${enable_udev}" != "no")
  293. AC_ARG_ENABLE(hid2hci, AC_HELP_STRING([--enable-hid2hci],
  294. [enable hid2hci tool]), [enable_hid2hci=${enableval}])
  295. AM_CONDITIONAL(HID2HCI, test "${enable_hid2hci}" = "yes" &&
  296. test "${enable_udev}" != "no")
  297. AC_ARG_ENABLE(logger, AC_HELP_STRING([--enable-logger],
  298. [enable HCI logger service]), [enable_logger=${enableval}])
  299. AM_CONDITIONAL(LOGGER, test "${enable_logger}" = "yes")
  300. AC_ARG_ENABLE(admin, AC_HELP_STRING([--enable-admin],
  301. [enable admin policy plugin]), [enable_admin=${enableval}])
  302. AM_CONDITIONAL(ADMIN, test "${enable_admin}" = "yes")
  303. if (test "${prefix}" = "NONE"); then
  304. dnl no prefix and no localstatedir, so default to /var
  305. if (test "$localstatedir" = '${prefix}/var'); then
  306. AC_SUBST([localstatedir], ['/var'])
  307. fi
  308. prefix="${ac_default_prefix}"
  309. fi
  310. if (test "$localstatedir" = '${prefix}/var'); then
  311. storagedir="${prefix}/var/lib/bluetooth"
  312. else
  313. storagedir="${localstatedir}/lib/bluetooth"
  314. fi
  315. AC_DEFINE_UNQUOTED(STORAGEDIR, "${storagedir}",
  316. [Directory for the storage files])
  317. if (test "$sysconfdir" = '${prefix}/etc'); then
  318. configdir="${prefix}/etc/bluetooth"
  319. else
  320. configdir="${sysconfdir}/bluetooth"
  321. fi
  322. AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}",
  323. [Directory for the configuration files])
  324. AC_SUBST(CONFIGDIR, "${configdir}")
  325. AC_DEFINE_UNQUOTED(MESH_STORAGEDIR, "${storagedir}/mesh",
  326. [Directory for the mesh daemon storage files])
  327. AC_SUBST(MESH_STORAGEDIR, "${storagedir}/mesh")
  328. AC_ARG_ENABLE(android, AC_HELP_STRING([--enable-android],
  329. [enable BlueZ for Android]),
  330. [enable_android=${enableval}])
  331. AM_CONDITIONAL(ANDROID, test "${enable_android}" = "yes")
  332. if (test "${enable_android}" = "yes"); then
  333. PKG_CHECK_MODULES(SBC, sbc >= 1.2, dummy=yes,
  334. AC_MSG_ERROR(SBC library >= 1.2 is required))
  335. AC_SUBST(SBC_CFLAGS)
  336. AC_SUBST(SBC_LIBS)
  337. fi
  338. if (test "${enable_android}" = "yes"); then
  339. PKG_CHECK_MODULES(SPEEXDSP, speexdsp >= 1.2, dummy=yes,
  340. AC_MSG_ERROR(SPEEXDSP library >= 1.2 is required))
  341. AC_SUBST(SPEEXDSP_CFLAGS)
  342. AC_SUBST(SPEEXDSP_LIBS)
  343. fi
  344. AC_DEFINE_UNQUOTED(ANDROID_STORAGEDIR, "${storagedir}/android",
  345. [Directory for the Android daemon storage files])
  346. AC_ARG_WITH([phonebook], AC_HELP_STRING([--with-phonebook=PLUGIN],
  347. [obexd phonebook plugin (default=dummy)]),
  348. [plugin_phonebook=${withval}])
  349. if (test -z "${plugin_phonebook}"); then
  350. plugin_phonebook=dummy
  351. fi
  352. if (test "${plugin_phonebook}" = "ebook"); then
  353. PKG_CHECK_MODULES(LIBEBOOK, [libebook-1.2 >= 3.3], dummy=yes, AC_MSG_ERROR(libebook >= 3.3 is required))
  354. AC_SUBST(LIBEBOOK_CFLAGS)
  355. AC_SUBST(LIBEBOOK_LIBS)
  356. PKG_CHECK_MODULES(LIBEDATESERVER, [libedataserver-1.2 >= 3.3], dummy=yes, AC_MSG_ERROR(libedataserver >= 3.3 is required))
  357. AC_SUBST(LIBEDATESERVER_CFLAGS)
  358. AC_SUBST(LIBEDATESERVER_LIBS)
  359. fi
  360. AC_SUBST(PLUGIN_PHONEBOOK, [${plugin_phonebook}])
  361. AC_OUTPUT(Makefile src/bluetoothd.rst lib/bluez.pc mesh/bluetooth-meshd.rst)