Marcel Holtmann | cf7a643 | 2008-12-21 22:26:32 +0100 | [diff] [blame] | 1 | AC_PREREQ(2.60) |
Marcel Holtmann | ab8a80b | 2020-03-15 07:35:59 +0100 | [diff] [blame] | 2 | AC_INIT(bluez, 5.54) |
Max Krasnyansky | 8e9ea9b | 2002-05-17 01:09:28 +0000 | [diff] [blame] | 3 | |
Marcel Holtmann | 7ef17a9 | 2012-12-11 17:31:58 +0100 | [diff] [blame] | 4 | AM_INIT_AUTOMAKE([foreign subdir-objects color-tests silent-rules |
| 5 | tar-pax no-dist-gzip dist-xz]) |
Lucas De Marchi | 5a1ec00 | 2013-01-03 23:21:03 -0200 | [diff] [blame] | 6 | AC_CONFIG_HEADERS(config.h) |
Max Krasnyansky | a48d8b4 | 2002-03-08 21:10:06 +0000 | [diff] [blame] | 7 | |
Marcel Holtmann | 658d2c3 | 2009-06-30 18:39:45 -0700 | [diff] [blame] | 8 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
| 9 | |
Marcel Holtmann | 4e43f48 | 2004-04-01 23:28:53 +0000 | [diff] [blame] | 10 | AM_MAINTAINER_MODE |
| 11 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 12 | AC_PREFIX_DEFAULT(/usr/local) |
Stefan Seyfried | a3af5cd | 2009-07-07 10:28:07 +0200 | [diff] [blame] | 13 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 14 | PKG_PROG_PKG_CONFIG |
Max Krasnyansky | 0a6472f | 2002-03-22 19:45:46 +0000 | [diff] [blame] | 15 | |
Marcel Holtmann | 82e9ab5 | 2008-12-23 06:04:54 +0100 | [diff] [blame] | 16 | COMPILER_FLAGS |
| 17 | |
Marcel Holtmann | 4e43f48 | 2004-04-01 23:28:53 +0000 | [diff] [blame] | 18 | AC_LANG_C |
| 19 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 20 | AC_C_RESTRICT |
| 21 | |
Max Krasnyansky | a48d8b4 | 2002-03-08 21:10:06 +0000 | [diff] [blame] | 22 | AC_PROG_CC |
Marcel Holtmann | a5b1e3d | 2009-08-23 00:40:59 -0700 | [diff] [blame] | 23 | AM_PROG_CC_C_O |
Marcel Holtmann | 70ee401 | 2008-06-16 00:49:28 +0000 | [diff] [blame] | 24 | AC_PROG_CC_PIE |
Manish Mandlik | ba78156 | 2020-12-09 10:13:09 -0800 | [diff] [blame] | 25 | AC_PROG_CXX |
Max Krasnyansky | a48d8b4 | 2002-03-08 21:10:06 +0000 | [diff] [blame] | 26 | AC_PROG_INSTALL |
Marcel Holtmann | 3346851 | 2012-12-11 17:16:59 +0100 | [diff] [blame] | 27 | AC_PROG_MKDIR_P |
Marcel Holtmann | c2052eb | 2003-03-31 10:05:12 +0000 | [diff] [blame] | 28 | |
Marcel Holtmann | 989349a | 2004-07-07 15:56:21 +0000 | [diff] [blame] | 29 | m4_define([_LT_AC_TAGCONFIG], []) |
Marcel Holtmann | 4e43f48 | 2004-04-01 23:28:53 +0000 | [diff] [blame] | 30 | m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])]) |
Marcel Holtmann | e24ad39 | 2004-03-03 03:56:18 +0000 | [diff] [blame] | 31 | |
Marcel Holtmann | 93070a1 | 2005-02-10 00:21:01 +0000 | [diff] [blame] | 32 | AC_DISABLE_STATIC |
Marcel Holtmann | e24ad39 | 2004-03-03 03:56:18 +0000 | [diff] [blame] | 33 | AC_PROG_LIBTOOL |
Max Krasnyansky | a48d8b4 | 2002-03-08 21:10:06 +0000 | [diff] [blame] | 34 | |
Luiz Augusto von Dentz | 7144164 | 2014-12-15 10:28:54 -0200 | [diff] [blame] | 35 | if (test "$USE_MAINTAINER_MODE" = "yes"); then |
| 36 | AC_CHECK_PROG(enable_coverage, [lcov], [yes], [no]) |
Luiz Augusto von Dentz | 65f10c8 | 2015-05-05 12:27:09 +0300 | [diff] [blame] | 37 | AC_CHECK_PROG(enable_dbus_run_session, [dbus-run-session], [yes]) |
Luiz Augusto von Dentz | a21b661 | 2015-08-21 16:40:48 +0300 | [diff] [blame] | 38 | AC_CHECK_PROG(enable_valgrind, [valgrind], [yes]) |
| 39 | AC_CHECK_HEADERS(valgrind/memcheck.h) |
Luiz Augusto von Dentz | 7144164 | 2014-12-15 10:28:54 -0200 | [diff] [blame] | 40 | fi |
| 41 | AM_CONDITIONAL(COVERAGE, test "${enable_coverage}" = "yes") |
Luiz Augusto von Dentz | 65f10c8 | 2015-05-05 12:27:09 +0300 | [diff] [blame] | 42 | AM_CONDITIONAL(DBUS_RUN_SESSION, test "${enable_dbus_run_session}" = "yes") |
Luiz Augusto von Dentz | a21b661 | 2015-08-21 16:40:48 +0300 | [diff] [blame] | 43 | AM_CONDITIONAL(VALGRIND, test "${enable_valgrind}" = "yes") |
Luiz Augusto von Dentz | 7144164 | 2014-12-15 10:28:54 -0200 | [diff] [blame] | 44 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 45 | MISC_FLAGS |
| 46 | |
| 47 | AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads], |
| 48 | [enable threading support]), [enable_threads=${enableval}]) |
| 49 | |
Brian Gix | 713f193 | 2019-04-01 11:45:18 -0700 | [diff] [blame] | 50 | AC_CHECK_FUNCS(explicit_bzero) |
| 51 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 52 | AC_CHECK_FUNC(signalfd, dummy=yes, |
| 53 | AC_MSG_ERROR(signalfd support is required)) |
| 54 | |
Marcel Holtmann | cfb34d2 | 2013-09-09 14:21:49 -0700 | [diff] [blame] | 55 | AC_CHECK_LIB(rt, clock_gettime, dummy=yes, |
Marcel Holtmann | 12c5f19 | 2013-09-02 11:25:54 -0700 | [diff] [blame] | 56 | AC_MSG_ERROR(realtime clock support is required)) |
| 57 | |
| 58 | AC_CHECK_LIB(pthread, pthread_create, dummy=yes, |
| 59 | AC_MSG_ERROR(posix thread support is required)) |
| 60 | |
Marcel Holtmann | 53df62e | 2008-10-18 19:03:30 +0200 | [diff] [blame] | 61 | AC_CHECK_LIB(dl, dlopen, dummy=yes, |
| 62 | AC_MSG_ERROR(dynamic linking loader is required)) |
| 63 | |
Marcel Holtmann | 2bc2cd6 | 2015-02-27 11:27:38 -0800 | [diff] [blame] | 64 | AC_CHECK_HEADERS(linux/types.h linux/if_alg.h) |
| 65 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 66 | PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes, |
| 67 | AC_MSG_ERROR(GLib >= 2.28 is required)) |
| 68 | AC_SUBST(GLIB_CFLAGS) |
| 69 | AC_SUBST(GLIB_LIBS) |
Marcel Holtmann | de58f63 | 2004-08-12 16:03:09 +0000 | [diff] [blame] | 70 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 71 | if (test "${enable_threads}" = "yes"); then |
| 72 | AC_DEFINE(NEED_THREADS, 1, [Define if threading support is required]) |
| 73 | PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes, |
| 74 | AC_MSG_ERROR(GThread >= 2.16 is required)) |
| 75 | GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" |
| 76 | GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" |
| 77 | fi |
| 78 | |
Szymon Janc | 325c0a3 | 2014-01-20 14:54:47 +0100 | [diff] [blame] | 79 | PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.6, dummy=yes, |
| 80 | AC_MSG_ERROR(D-Bus >= 1.6 is required)) |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 81 | AC_SUBST(DBUS_CFLAGS) |
| 82 | AC_SUBST(DBUS_LIBS) |
| 83 | |
Marcel Holtmann | 68c3d4c | 2012-12-11 15:24:18 +0100 | [diff] [blame] | 84 | AC_ARG_WITH([dbusconfdir], AC_HELP_STRING([--with-dbusconfdir=DIR], |
| 85 | [path to D-Bus configuration directory]), |
| 86 | [path_dbusconfdir=${withval}]) |
| 87 | if (test -z "${path_dbusconfdir}"); then |
| 88 | AC_MSG_CHECKING([D-Bus configuration directory]) |
| 89 | path_dbusconfdir="`$PKG_CONFIG --variable=sysconfdir dbus-1`" |
| 90 | if (test -z "${path_dbusconfdir}"); then |
| 91 | AC_MSG_ERROR([D-Bus configuration directory is required]) |
| 92 | fi |
| 93 | AC_MSG_RESULT([${path_dbusconfdir}]) |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 94 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 95 | AC_SUBST(DBUS_CONFDIR, [${path_dbusconfdir}]) |
Marcel Holtmann | bb42dcd | 2004-08-12 16:00:35 +0000 | [diff] [blame] | 96 | |
Marcel Holtmann | e57efd6 | 2012-12-11 17:55:24 +0100 | [diff] [blame] | 97 | AC_ARG_WITH([dbussystembusdir], AC_HELP_STRING([--with-dbussystembusdir=DIR], |
| 98 | [path to D-Bus system bus services directory]), |
| 99 | [path_dbussystembusdir=${withval}]) |
| 100 | if (test -z "${path_dbussystembusdir}"); then |
| 101 | AC_MSG_CHECKING([D-Bus system bus services dir]) |
| 102 | path_dbussystembusdir="`$PKG_CONFIG --variable=system_bus_services_dir dbus-1`" |
Marcel Holtmann | c5a7b6c | 2012-12-18 21:54:25 +0100 | [diff] [blame] | 103 | if (test -z "${path_dbussystembusdir}"); then |
Marcel Holtmann | e57efd6 | 2012-12-11 17:55:24 +0100 | [diff] [blame] | 104 | AC_MSG_ERROR([D-Bus system bus services directory is required]) |
| 105 | fi |
| 106 | AC_MSG_RESULT([${path_dbussystembusdir}]) |
Marcel Holtmann | e57efd6 | 2012-12-11 17:55:24 +0100 | [diff] [blame] | 107 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 108 | AC_SUBST(DBUS_SYSTEMBUSDIR, [${path_dbussystembusdir}]) |
Marcel Holtmann | e57efd6 | 2012-12-11 17:55:24 +0100 | [diff] [blame] | 109 | |
Marcel Holtmann | 2d9190d | 2012-12-18 21:53:30 +0100 | [diff] [blame] | 110 | AC_ARG_WITH([dbussessionbusdir], AC_HELP_STRING([--with-dbussessionbusdir=DIR], |
| 111 | [path to D-Bus session bus services directory]), |
| 112 | [path_dbussessionbusdir=${withval}]) |
| 113 | if (test -z "${path_dbussessionbusdir}"); then |
| 114 | AC_MSG_CHECKING([D-Bus session bus services dir]) |
| 115 | path_dbussessionbusdir="`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`" |
| 116 | if (test -z "${path_dbussessionbusdir}"); then |
| 117 | AC_MSG_ERROR([D-Bus session bus services directory is required]) |
| 118 | fi |
| 119 | AC_MSG_RESULT([${path_dbussessionbusdir}]) |
Marcel Holtmann | 2d9190d | 2012-12-18 21:53:30 +0100 | [diff] [blame] | 120 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 121 | AC_SUBST(DBUS_SESSIONBUSDIR, [${path_dbussessionbusdir}]) |
Marcel Holtmann | 2d9190d | 2012-12-18 21:53:30 +0100 | [diff] [blame] | 122 | |
Ronan Pigott | 3825bc7 | 2019-08-16 23:34:52 -0700 | [diff] [blame] | 123 | AC_ARG_WITH([zsh-completion-dir], AC_HELP_STRING([--with-zsh-completion-dir=DIR], |
| 124 | [path to install zsh completions]), |
| 125 | [path_zshcompletiondir=${withval}], |
| 126 | [path_zshcompletiondir="yes"]) |
| 127 | |
| 128 | if (test "${path_zshcompletiondir}" = "yes"); then |
| 129 | path_zshcompletiondir="$datarootdir/zsh/site-functions" |
| 130 | AC_MSG_RESULT([${path_zshcompletiondir}]) |
| 131 | fi |
| 132 | AC_SUBST(ZSH_COMPLETIONDIR, [${path_zshcompletiondir}]) |
| 133 | AM_CONDITIONAL(ZSH_COMPLETIONS, test "${path_zshcompletiondir}" != "no") |
| 134 | |
Marcel Holtmann | 1666913 | 2015-11-08 14:44:24 +0100 | [diff] [blame] | 135 | AC_ARG_ENABLE(backtrace, AC_HELP_STRING([--enable-backtrace], |
| 136 | [compile backtrace support]), [enable_backtrace=${enableval}]) |
| 137 | |
| 138 | if (test "${enable_backtrace}" = "yes"); then |
| 139 | AC_CHECK_HEADER(elfutils/libdwfl.h, dummy=yes, |
| 140 | AC_MSG_ERROR(elfutils support is required)) |
| 141 | AC_DEFINE(HAVE_BACKTRACE_SUPPORT, 1, |
| 142 | [Define to 1 if you have the backtrace support.]) |
| 143 | BACKTRACE_CFLAGS="" |
| 144 | BACKTRACE_LIBS="-ldw" |
| 145 | AC_SUBST(BACKTRACE_CFLAGS) |
| 146 | AC_SUBST(BACKTRACE_LIBS) |
| 147 | fi |
| 148 | |
Marcel Holtmann | a66050d | 2012-12-10 22:34:47 +0100 | [diff] [blame] | 149 | AC_ARG_ENABLE(library, AC_HELP_STRING([--enable-library], |
| 150 | [install Bluetooth library]), [enable_library=${enableval}]) |
| 151 | AM_CONDITIONAL(LIBRARY, test "${enable_library}" = "yes") |
| 152 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 153 | AC_ARG_ENABLE(test, AC_HELP_STRING([--enable-test], |
| 154 | [enable test/example scripts]), [enable_test=${enableval}]) |
| 155 | AM_CONDITIONAL(TEST, test "${enable_test}" = "yes") |
| 156 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 157 | AC_ARG_ENABLE(nfc, AC_HELP_STRING([--enable-nfc], |
Luiz Augusto von Dentz | 26e38bb | 2016-11-11 16:17:18 +0200 | [diff] [blame] | 158 | [enable NFC paring]), [enable_nfc=${enableval}]) |
| 159 | AM_CONDITIONAL(NFC, test "${enable_nfc}" = "yes") |
| 160 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 161 | AC_ARG_ENABLE(sap, AC_HELP_STRING([--enable-sap], |
Luiz Augusto von Dentz | 1d76b2e | 2016-11-11 16:25:39 +0200 | [diff] [blame] | 162 | [enable SAP profile]), [enable_sap=${enableval}]) |
| 163 | AM_CONDITIONAL(SAP, test "${enable_sap}" = "yes") |
| 164 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 165 | AC_ARG_ENABLE(a2dp, AC_HELP_STRING([--disable-a2dp], |
Luiz Augusto von Dentz | 1e9ab1d | 2016-11-11 15:40:54 +0200 | [diff] [blame] | 166 | [disable A2DP profile]), [enable_a2dp=${enableval}]) |
| 167 | AM_CONDITIONAL(A2DP, test "${enable_a2dp}" != "no") |
| 168 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 169 | AC_ARG_ENABLE(avrcp, AC_HELP_STRING([--disable-avrcp], |
Luiz Augusto von Dentz | b5bab5e | 2016-11-11 15:47:25 +0200 | [diff] [blame] | 170 | [disable AVRCP profile]), [enable_avrcp=${enableval}]) |
| 171 | AM_CONDITIONAL(AVRCP, test "${enable_avrcp}" != "no") |
| 172 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 173 | AC_ARG_ENABLE(network, AC_HELP_STRING([--disable-network], |
Luiz Augusto von Dentz | a9643f6 | 2016-11-11 15:52:55 +0200 | [diff] [blame] | 174 | [disable network profiles]), [enable_network=${enableval}]) |
| 175 | AM_CONDITIONAL(NETWORK, test "${enable_network}" != "no") |
| 176 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 177 | AC_ARG_ENABLE(hid, AC_HELP_STRING([--disable-hid], |
Luiz Augusto von Dentz | 435b3be | 2016-11-11 16:02:06 +0200 | [diff] [blame] | 178 | [disable HID profile]), [enable_hid=${enableval}]) |
| 179 | AM_CONDITIONAL(HID, test "${enable_hid}" != "no") |
| 180 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 181 | AC_ARG_ENABLE(hog, AC_HELP_STRING([--disable-hog], |
Luiz Augusto von Dentz | 523b6fb | 2016-11-11 16:05:40 +0200 | [diff] [blame] | 182 | [disable HoG profile]), [enable_hog=${enableval}]) |
| 183 | AM_CONDITIONAL(HOG, test "${enable_hog}" != "no") |
| 184 | |
Luiz Augusto von Dentz | fc0cb8a | 2016-11-21 11:49:31 +0200 | [diff] [blame] | 185 | AC_ARG_ENABLE(health, AC_HELP_STRING([--enable-health], |
Luiz Augusto von Dentz | 00af151 | 2016-11-11 16:10:10 +0200 | [diff] [blame] | 186 | [enable health profiles]), [enable_health=${enableval}]) |
| 187 | AM_CONDITIONAL(HEALTH, test "${enable_health}" = "yes") |
| 188 | |
Marcel Holtmann | d555301 | 2012-12-11 01:37:52 +0100 | [diff] [blame] | 189 | AC_ARG_ENABLE(tools, AC_HELP_STRING([--disable-tools], |
| 190 | [disable Bluetooth tools]), [enable_tools=${enableval}]) |
| 191 | AM_CONDITIONAL(TOOLS, test "${enable_tools}" != "no") |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 192 | |
Marcel Holtmann | 7104898 | 2012-12-12 23:19:43 +0100 | [diff] [blame] | 193 | AC_ARG_ENABLE(monitor, AC_HELP_STRING([--disable-monitor], |
| 194 | [disable Bluetooth monitor]), [enable_monitor=${enableval}]) |
| 195 | AM_CONDITIONAL(MONITOR, test "${enable_monitor}" != "no") |
| 196 | |
Manish Mandlik | ba78156 | 2020-12-09 10:13:09 -0800 | [diff] [blame] | 197 | AC_ARG_ENABLE(fuzzer, AC_HELP_STRING([--enable-fuzzer], |
| 198 | [enable fuzzer]), [enable_fuzzer=${enableval}]) |
| 199 | AM_CONDITIONAL(FUZZER, test "${enable_fuzzer}" = "yes") |
| 200 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 201 | AC_ARG_ENABLE(udev, AC_HELP_STRING([--disable-udev], |
Marcel Holtmann | 93a2c45 | 2012-12-10 21:56:07 +0100 | [diff] [blame] | 202 | [disable udev device support]), [enable_udev=${enableval}]) |
Marcel Holtmann | d555301 | 2012-12-11 01:37:52 +0100 | [diff] [blame] | 203 | if (test "${enable_tools}" != "no" && test "${enable_udev}" != "no"); then |
Antonio Ospite | fbe7d52 | 2014-05-27 13:25:15 +0200 | [diff] [blame] | 204 | PKG_CHECK_MODULES(UDEV, libudev >= 172, dummy=yes, |
| 205 | AC_MSG_ERROR(libudev >= 172 is required)) |
Antonio Ospite | d2aad02 | 2013-02-10 22:20:51 +0100 | [diff] [blame] | 206 | AC_SUBST(UDEV_CFLAGS) |
| 207 | AC_SUBST(UDEV_LIBS) |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 208 | AC_CHECK_LIB(udev, udev_hwdb_new, |
| 209 | AC_DEFINE(HAVE_UDEV_HWDB_NEW, 1, |
| 210 | [Define to 1 if you have the udev_hwdb_new() function.])) |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 211 | fi |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 212 | AM_CONDITIONAL(UDEV, test "${enable_udev}" != "no") |
| 213 | |
Marcel Holtmann | a7d4c22 | 2012-12-11 15:05:24 +0100 | [diff] [blame] | 214 | AC_ARG_WITH([udevdir], AC_HELP_STRING([--with-udevdir=DIR], |
| 215 | [path to udev directory]), [path_udevdir=${withval}]) |
| 216 | if (test "${enable_udev}" != "no" && test -z "${path_udevdir}"); then |
| 217 | AC_MSG_CHECKING([udev directory]) |
| 218 | path_udevdir="`$PKG_CONFIG --variable=udevdir udev`" |
| 219 | if (test -z "${path_udevdir}"); then |
Marcel Holtmann | fab8ebd | 2012-12-11 15:26:09 +0100 | [diff] [blame] | 220 | AC_MSG_ERROR([udev directory is required]) |
Marcel Holtmann | a7d4c22 | 2012-12-11 15:05:24 +0100 | [diff] [blame] | 221 | fi |
| 222 | AC_MSG_RESULT([${path_udevdir}]) |
Marcel Holtmann | a7d4c22 | 2012-12-11 15:05:24 +0100 | [diff] [blame] | 223 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 224 | AC_SUBST(UDEV_DIR, [${path_udevdir}]) |
Marcel Holtmann | a7d4c22 | 2012-12-11 15:05:24 +0100 | [diff] [blame] | 225 | |
Sonny Sasaka | 52ef842 | 2020-05-13 14:38:12 -0700 | [diff] [blame] | 226 | AC_ARG_ENABLE(hid2hci, AC_HELP_STRING([--enable-hid2hci], |
| 227 | [enable hid2hci tool]), [enable_hid2hci=${enableval}]) |
| 228 | AM_CONDITIONAL(HID2HCI, test "${enable_hid2hci}" = "yes" && |
Marcel Holtmann | 6c1dfe9 | 2013-08-28 14:15:22 -0700 | [diff] [blame] | 229 | test "${enable_udev}" != "no") |
Marcel Holtmann | 0819e1a | 2012-12-11 11:49:45 +0100 | [diff] [blame] | 230 | |
| 231 | AC_ARG_ENABLE(cups, AC_HELP_STRING([--disable-cups], |
| 232 | [disable CUPS printer support]), [enable_cups=${enableval}]) |
| 233 | AM_CONDITIONAL(CUPS, test "${enable_cups}" != "no") |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 234 | |
Brian Gix | 2cbd0d6 | 2017-08-14 11:24:41 -0700 | [diff] [blame] | 235 | AC_ARG_ENABLE(mesh, AC_HELP_STRING([--enable-mesh], |
| 236 | [enable Mesh profile support]), [enable_mesh=${enableval}]) |
| 237 | AM_CONDITIONAL(MESH, test "${enable_mesh}" = "yes") |
| 238 | |
Inga Stotland | 0fd4b27 | 2018-08-01 11:10:58 -0700 | [diff] [blame] | 239 | if (test "${enable_mesh}" = "yes"); then |
Inga Stotland | 11d7fe8 | 2019-12-20 11:13:29 -0800 | [diff] [blame] | 240 | PKG_CHECK_MODULES(JSONC, json-c >= 0.13, dummy=yes, |
| 241 | AC_MSG_ERROR(json-c >= 0.13 is required)) |
Brian Gix | 2cbd0d6 | 2017-08-14 11:24:41 -0700 | [diff] [blame] | 242 | AC_SUBST(JSON_CFLAGS) |
| 243 | AC_SUBST(JSON_LIBS) |
| 244 | fi |
| 245 | |
Felipe F. Tonello | 5b8353e | 2017-01-03 17:30:06 +0000 | [diff] [blame] | 246 | AC_ARG_ENABLE(midi, AC_HELP_STRING([--enable-midi], |
| 247 | [enable MIDI support]), [enable_midi=${enableval}]) |
| 248 | AM_CONDITIONAL(MIDI, test "${enable_midi}" = "yes") |
| 249 | |
| 250 | if (test "${enable_midi}" = "yes"); then |
| 251 | PKG_CHECK_MODULES(ALSA, alsa, dummy=yes, |
| 252 | AC_MSG_ERROR(ALSA lib is required for MIDI support)) |
| 253 | AC_SUBST(ALSA_CFLAGS) |
| 254 | AC_SUBST(ALSA_LIBS) |
| 255 | fi |
| 256 | |
Marcel Holtmann | 7004597 | 2012-12-10 21:56:44 +0100 | [diff] [blame] | 257 | AC_ARG_ENABLE(obex, AC_HELP_STRING([--disable-obex], |
| 258 | [disable OBEX profile support]), [enable_obex=${enableval}]) |
| 259 | if (test "${enable_obex}" != "no"); then |
| 260 | PKG_CHECK_MODULES(ICAL, libical, dummy=yes, |
| 261 | AC_MSG_ERROR(libical is required)) |
Antonio Ospite | d2aad02 | 2013-02-10 22:20:51 +0100 | [diff] [blame] | 262 | AC_SUBST(ICAL_CFLAGS) |
| 263 | AC_SUBST(ICAL_LIBS) |
Marcel Holtmann | 7004597 | 2012-12-10 21:56:44 +0100 | [diff] [blame] | 264 | fi |
Marcel Holtmann | 7004597 | 2012-12-10 21:56:44 +0100 | [diff] [blame] | 265 | AM_CONDITIONAL(OBEX, test "${enable_obex}" != "no") |
| 266 | |
Szymon Janc | f68235b | 2017-12-07 12:43:44 +0100 | [diff] [blame] | 267 | AC_ARG_ENABLE(btpclient, AC_HELP_STRING([--enable-btpclient], |
| 268 | [enable BTP client]), [enable_btpclient=${enableval}]) |
| 269 | AM_CONDITIONAL(BTPCLIENT, test "${enable_btpclient}" = "yes") |
| 270 | |
Marcel Holtmann | 0093cd6 | 2018-12-04 16:59:01 +0100 | [diff] [blame] | 271 | AC_ARG_ENABLE([external_ell], AC_HELP_STRING([--enable-external-ell], |
| 272 | [enable external Embedded Linux library]), |
| 273 | [enable_external_ell=${enableval}]) |
| 274 | if (test "${enable_external_ell}" = "yes"); then |
Marcel Holtmann | ab215e3 | 2020-02-14 23:24:03 +0100 | [diff] [blame] | 275 | PKG_CHECK_MODULES(ELL, ell >= 0.28, dummy=yes, |
| 276 | AC_MSG_ERROR(Embedded Linux library >= 0.28 is required)) |
Szymon Janc | f68235b | 2017-12-07 12:43:44 +0100 | [diff] [blame] | 277 | AC_SUBST(ELL_CFLAGS) |
| 278 | AC_SUBST(ELL_LIBS) |
| 279 | fi |
Marcel Holtmann | 0093cd6 | 2018-12-04 16:59:01 +0100 | [diff] [blame] | 280 | AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes" || |
| 281 | (test "${enable_btpclient}" != "yes" && |
| 282 | test "${enable_mesh}" != "yes")) |
| 283 | AM_CONDITIONAL(LIBSHARED_ELL, test "${enable_btpclient}" = "yes" || |
| 284 | test "${enable_mesh}" = "yes") |
Szymon Janc | f68235b | 2017-12-07 12:43:44 +0100 | [diff] [blame] | 285 | |
Marcel Holtmann | 9de5c52 | 2012-12-11 01:33:53 +0100 | [diff] [blame] | 286 | AC_ARG_ENABLE(client, AC_HELP_STRING([--disable-client], |
| 287 | [disable command line client]), [enable_client=${enableval}]) |
Marcel Holtmann | d4a93ca | 2012-12-11 22:19:13 +0100 | [diff] [blame] | 288 | AM_CONDITIONAL(CLIENT, test "${enable_client}" != "no") |
| 289 | |
Inga Stotland | 0fd4b27 | 2018-08-01 11:10:58 -0700 | [diff] [blame] | 290 | if (test "${enable_client}" != "no" || test "${enable_mesh}" = "yes"); then |
Marcel Holtmann | d4a93ca | 2012-12-11 22:19:13 +0100 | [diff] [blame] | 291 | AC_CHECK_HEADERS(readline/readline.h, enable_readline=yes, |
| 292 | AC_MSG_ERROR(readline header files are required)) |
| 293 | fi |
| 294 | AM_CONDITIONAL(READLINE, test "${enable_readline}" = "yes") |
Marcel Holtmann | 9de5c52 | 2012-12-11 01:33:53 +0100 | [diff] [blame] | 295 | |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 296 | AC_ARG_ENABLE(systemd, AC_HELP_STRING([--disable-systemd], |
| 297 | [disable systemd integration]), [enable_systemd=${enableval}]) |
Marcel Holtmann | 89e2de3 | 2012-12-11 15:09:31 +0100 | [diff] [blame] | 298 | AM_CONDITIONAL(SYSTEMD, test "${enable_systemd}" != "no") |
| 299 | |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 300 | AC_ARG_WITH([systemdsystemunitdir], |
| 301 | AC_HELP_STRING([--with-systemdsystemunitdir=DIR], |
Marcel Holtmann | 89e2de3 | 2012-12-11 15:09:31 +0100 | [diff] [blame] | 302 | [path to systemd system unit directory]), |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 303 | [path_systemunitdir=${withval}]) |
| 304 | if (test "${enable_systemd}" != "no" && test -z "${path_systemunitdir}"); then |
Szymon Janc | 15c84df | 2013-06-01 14:49:19 +0200 | [diff] [blame] | 305 | AC_MSG_CHECKING([systemd system unit dir]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 306 | path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`" |
| 307 | if (test -z "${path_systemunitdir}"); then |
Marcel Holtmann | fab8ebd | 2012-12-11 15:26:09 +0100 | [diff] [blame] | 308 | AC_MSG_ERROR([systemd system unit directory is required]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 309 | fi |
| 310 | AC_MSG_RESULT([${path_systemunitdir}]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 311 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 312 | AC_SUBST(SYSTEMD_SYSTEMUNITDIR, [${path_systemunitdir}]) |
Marcel Holtmann | 89e2de3 | 2012-12-11 15:09:31 +0100 | [diff] [blame] | 313 | |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 314 | AC_ARG_WITH([systemduserunitdir], |
| 315 | AC_HELP_STRING([--with-systemduserunitdir=DIR], |
Marcel Holtmann | 89e2de3 | 2012-12-11 15:09:31 +0100 | [diff] [blame] | 316 | [path to systemd user unit directory]), |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 317 | [path_userunitdir=${withval}]) |
| 318 | if (test "${enable_systemd}" != "no" && test -z "${path_userunitdir}"); then |
Szymon Janc | 15c84df | 2013-06-01 14:49:19 +0200 | [diff] [blame] | 319 | AC_MSG_CHECKING([systemd user unit dir]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 320 | path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`" |
| 321 | if (test -z "${path_userunitdir}"); then |
Marcel Holtmann | fab8ebd | 2012-12-11 15:26:09 +0100 | [diff] [blame] | 322 | AC_MSG_ERROR([systemd user unit directory is required]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 323 | fi |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 324 | AC_MSG_RESULT([${path_userunitdir}]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 325 | fi |
Antonio Ospite | 5ce3ca8 | 2013-02-10 22:20:50 +0100 | [diff] [blame] | 326 | AC_SUBST(SYSTEMD_USERUNITDIR, [${path_userunitdir}]) |
Marcel Holtmann | c7476c4 | 2012-12-11 14:52:23 +0100 | [diff] [blame] | 327 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 328 | AC_ARG_ENABLE(datafiles, AC_HELP_STRING([--disable-datafiles], |
| 329 | [do not install configuration and data files]), |
| 330 | [enable_datafiles=${enableval}]) |
| 331 | AM_CONDITIONAL(DATAFILES, test "${enable_datafiles}" != "no") |
| 332 | |
Marcel Holtmann | 3672e43 | 2014-07-12 23:44:22 +0200 | [diff] [blame] | 333 | AC_ARG_ENABLE(manpages, AC_HELP_STRING([--enable-manpages], |
| 334 | [enable building of manual pages]), |
| 335 | [enable_manpages=${enableval}]) |
| 336 | AM_CONDITIONAL(MANPAGES, test "${enable_manpages}" = "yes") |
| 337 | |
Luiz Augusto von Dentz | df43b3d | 2017-01-04 15:24:45 +0200 | [diff] [blame] | 338 | AC_ARG_ENABLE(testing, AC_HELP_STRING([--enable-testing], |
| 339 | [enable testing tools]), |
| 340 | [enable_testing=${enableval}]) |
| 341 | AM_CONDITIONAL(TESTING, test "${enable_testing}" = "yes") |
| 342 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 343 | AC_ARG_ENABLE(experimental, AC_HELP_STRING([--enable-experimental], |
Luiz Augusto von Dentz | 791f181 | 2016-11-11 16:28:34 +0200 | [diff] [blame] | 344 | [enable experimental tools]), |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 345 | [enable_experimental=${enableval}]) |
| 346 | AM_CONDITIONAL(EXPERIMENTAL, test "${enable_experimental}" = "yes") |
| 347 | |
Luiz Augusto von Dentz | 25bce13 | 2016-03-24 11:15:43 +0200 | [diff] [blame] | 348 | AC_ARG_ENABLE(deprecated, AC_HELP_STRING([--enable-deprecated], |
Luiz Augusto von Dentz | b1eb2c4 | 2017-01-04 14:23:58 +0200 | [diff] [blame] | 349 | [enable deprecated tools]), |
Luiz Augusto von Dentz | 25bce13 | 2016-03-24 11:15:43 +0200 | [diff] [blame] | 350 | [enable_deprecated=${enableval}]) |
| 351 | AM_CONDITIONAL(DEPRECATED, test "${enable_deprecated}" = "yes") |
| 352 | |
Szymon Janc | f52aa87 | 2013-11-25 22:15:48 +0000 | [diff] [blame] | 353 | AC_ARG_ENABLE(sixaxis, AC_HELP_STRING([--enable-sixaxis], |
| 354 | [enable sixaxis plugin]), [enable_sixaxis=${enableval}]) |
| 355 | AM_CONDITIONAL(SIXAXIS, test "${enable_sixaxis}" = "yes" && |
| 356 | test "${enable_udev}" != "no") |
| 357 | |
Szymon Janc | 07384fa | 2018-01-19 16:23:20 +0100 | [diff] [blame] | 358 | AC_ARG_ENABLE(logger, AC_HELP_STRING([--enable-logger], |
| 359 | [enable HCI logger service]), [enable_logger=${enableval}]) |
| 360 | AM_CONDITIONAL(LOGGER, test "${enable_logger}" = "yes") |
| 361 | |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 362 | if (test "${prefix}" = "NONE"); then |
| 363 | dnl no prefix and no localstatedir, so default to /var |
| 364 | if (test "$localstatedir" = '${prefix}/var'); then |
| 365 | AC_SUBST([localstatedir], ['/var']) |
| 366 | fi |
| 367 | |
| 368 | prefix="${ac_default_prefix}" |
| 369 | fi |
| 370 | |
| 371 | if (test "$localstatedir" = '${prefix}/var'); then |
| 372 | storagedir="${prefix}/var/lib/bluetooth" |
| 373 | else |
| 374 | storagedir="${localstatedir}/lib/bluetooth" |
| 375 | fi |
| 376 | AC_DEFINE_UNQUOTED(STORAGEDIR, "${storagedir}", |
| 377 | [Directory for the storage files]) |
| 378 | |
| 379 | if (test "$sysconfdir" = '${prefix}/etc'); then |
| 380 | configdir="${prefix}/etc/bluetooth" |
| 381 | else |
| 382 | configdir="${sysconfdir}/bluetooth" |
| 383 | fi |
| 384 | AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}", |
| 385 | [Directory for the configuration files]) |
Szymon Janc | c8e79a7 | 2013-05-31 00:01:55 +0200 | [diff] [blame] | 386 | AC_SUBST(CONFIGDIR, "${configdir}") |
Marcel Holtmann | cc9e4e7 | 2012-12-10 21:31:55 +0100 | [diff] [blame] | 387 | |
Inga Stotland | a90b641 | 2018-12-14 14:09:20 -0800 | [diff] [blame] | 388 | AC_DEFINE_UNQUOTED(MESH_STORAGEDIR, "${storagedir}/mesh", |
| 389 | [Directory for the mesh daemon storage files]) |
| 390 | |
Frederic Danis | cd402b0 | 2013-10-04 14:48:43 +0300 | [diff] [blame] | 391 | AC_ARG_ENABLE(android, AC_HELP_STRING([--enable-android], |
| 392 | [enable BlueZ for Android]), |
| 393 | [enable_android=${enableval}]) |
| 394 | AM_CONDITIONAL(ANDROID, test "${enable_android}" = "yes") |
| 395 | |
Andrzej Kaczmarek | 68141f0 | 2014-01-22 11:34:45 +0100 | [diff] [blame] | 396 | if (test "${enable_android}" = "yes"); then |
| 397 | PKG_CHECK_MODULES(SBC, sbc >= 1.2, dummy=yes, |
| 398 | AC_MSG_ERROR(SBC library >= 1.2 is required)) |
| 399 | AC_SUBST(SBC_CFLAGS) |
| 400 | AC_SUBST(SBC_LIBS) |
| 401 | fi |
| 402 | |
Andrei Emeltchenko | f5ae98b | 2014-05-12 11:57:05 +0300 | [diff] [blame] | 403 | if (test "${enable_android}" = "yes"); then |
| 404 | PKG_CHECK_MODULES(SPEEXDSP, speexdsp >= 1.2, dummy=yes, |
| 405 | AC_MSG_ERROR(SPEEXDSP library >= 1.2 is required)) |
| 406 | AC_SUBST(SPEEXDSP_CFLAGS) |
| 407 | AC_SUBST(SPEEXDSP_LIBS) |
| 408 | fi |
| 409 | |
Szymon Janc | 316d0ee | 2013-12-19 13:38:29 +0100 | [diff] [blame] | 410 | AC_DEFINE_UNQUOTED(ANDROID_STORAGEDIR, "${storagedir}/android", |
| 411 | [Directory for the Android daemon storage files]) |
| 412 | |
Marcel Holtmann | 55bf340 | 2012-12-19 18:24:43 +0100 | [diff] [blame] | 413 | AC_OUTPUT(Makefile src/bluetoothd.8 lib/bluez.pc) |