build: imply --enable-bindings-glib for --enable-dbus
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 4 Sep 2024 14:01:27 +0000 (16:01 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 5 Sep 2024 07:27:13 +0000 (09:27 +0200)
GLib bindings are required to build the D-Bus daemon. Enable them
automatically if --enable-dbus is passed to configure.

Fixes: a5ab76da1e0a ("dbus: add the D-Bus daemon, command-line client and tests")
Reported-by: Douglas Silva <doug.hs@proton.me>
Suggested-by: Kent Gibson <warthog618@gmail.com>
Tested-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20240904140127.58667-1-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
configure.ac

index 1ac1002aab0e334b8bd1cd3fe074e579d209a8d2..92d3408957b1cf67d6844064f578780da1f76c3c 100644 (file)
@@ -250,10 +250,35 @@ then
        fi
 fi
 
+AC_ARG_ENABLE([dbus],
+       [AS_HELP_STRING([--enable-dbus], [build dbus daemon [default=no]])],
+       [if test "x$enableval" == xyes; then with_dbus=true; fi],
+       [with_dbus=false])
+AM_CONDITIONAL([WITH_DBUS], [test "x$with_dbus" = xtrue])
+
 AC_ARG_ENABLE([bindings-glib],
        [AS_HELP_STRING([--enable-bindings-glib],[enable GLib 2.0 bindings [default=no]])],
        [if test "x$enableval" = xyes; then with_bindings_glib=true; fi],
        [with_bindings_glib=false])
+
+AC_DEFUN([FUNC_NOT_FOUND_DBUS],
+       [ERR_NOT_FOUND([$1()], [dbus daemon])])
+
+if test "x$with_dbus" = xtrue
+then
+       AC_CHECK_FUNC([daemon], [], [FUNC_NOT_FOUND_DBUS([daemon])])
+       AC_CHECK_FUNC([strverscmp], [], [FUNC_NOT_FOUND_DBUS([strverscmp])])
+       PKG_CHECK_MODULES([GUDEV], [gudev-1.0 >= 230])
+       AC_CHECK_PROG([has_gdbus_codegen], [gdbus-codegen], [true], [false])
+       if test "x$has_gdbus_codegen" = xfalse
+       then
+               AC_MSG_ERROR([gdbus-codegen not found - needed to build dbus daemon])
+       fi
+
+       # Imply GLib bindings for D-Bus
+       with_bindings_glib=true
+fi
+
 AM_CONDITIONAL([WITH_BINDINGS_GLIB], [test "x$with_bindings_glib" = xtrue])
 
 if test "x$with_bindings_glib" = xtrue
@@ -280,33 +305,6 @@ m4_ifdef([GOBJECT_INTROSPECTION_CHECK],
        [GOBJECT_INTROSPECTION_CHECK([0.6.2])],
        [AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")])
 
-# Depends on GLib bindings so must come after
-AC_ARG_ENABLE([dbus],
-       [AS_HELP_STRING([--enable-dbus], [build dbus daemon [default=no]])],
-       [if test "x$enableval" == xyes; then with_dbus=true; fi],
-       [with_dbus=false])
-AM_CONDITIONAL([WITH_DBUS], [test "x$with_dbus" = xtrue])
-
-AC_DEFUN([FUNC_NOT_FOUND_DBUS],
-       [ERR_NOT_FOUND([$1()], [dbus daemon])])
-
-if test "x$with_dbus" = xtrue && test "x$with_bindings_glib" != xtrue
-then
-       AC_MSG_ERROR([GLib bindings are required to build the dbus daemon - use --enable-bindings-glib])
-fi
-
-if test "x$with_dbus" = xtrue
-then
-       AC_CHECK_FUNC([daemon], [], [FUNC_NOT_FOUND_DBUS([daemon])])
-       AC_CHECK_FUNC([strverscmp], [], [FUNC_NOT_FOUND_DBUS([strverscmp])])
-       PKG_CHECK_MODULES([GUDEV], [gudev-1.0 >= 230])
-       AC_CHECK_PROG([has_gdbus_codegen], [gdbus-codegen], [true], [false])
-       if test "x$has_gdbus_codegen" = xfalse
-       then
-               AC_MSG_ERROR([gdbus-codegen not found - needed to build dbus daemon])
-       fi
-fi
-
 AC_ARG_ENABLE([systemd],
        [AS_HELP_STRING([--enable-systemd], [enable systemd support [default=no]])],
        [if test "x$enableval" == xyes; then with_systemd=true; fi],