diff --git a/daemon/bin/dbus/Makefile.am b/daemon/bin/dbus/Makefile.am index cd7e98575fec43dc53bc33e794e2bebc6dc8a598..dab26e40433424e610e8e218b0769d8eec2b858f 100644 --- a/daemon/bin/dbus/Makefile.am +++ b/daemon/bin/dbus/Makefile.am @@ -59,15 +59,9 @@ libclient_dbus_la_CXXFLAGS = -I../ \ # Dbus service file servicedir = $(datadir)/dbus-1/services -service_in_files = org.sflphone.SFLphone.service.in -service_DATA = $(service_in_files:.service.in=.service) +service_DATA = org.sflphone.SFLphone.service -# Rule to make the service file with bindir expanded -$(service_DATA): $(service_in_files) Makefile - sed -e "s|libexec|$(libdir)/sflphone|" $<> $@ - -EXTRA_DIST = $(service_in_files) \ - callmanager-introspec.xml \ +EXTRA_DIST = callmanager-introspec.xml \ configurationmanager-introspec.xml \ instance-introspec.xml diff --git a/daemon/bin/dbus/org.sflphone.SFLphone.service.in b/daemon/bin/dbus/org.sflphone.SFLphone.service.in index b319dd220161c1133bd7afa711ec843b565fb828..f0d9f4c21d18d4d1374b6f19d35205b93c90f401 100644 --- a/daemon/bin/dbus/org.sflphone.SFLphone.service.in +++ b/daemon/bin/dbus/org.sflphone.SFLphone.service.in @@ -1,3 +1,3 @@ [D-BUS Service] Name=org.sflphone.SFLphone -Exec=libexec/sflphoned +Exec=@LIBEXECDIR@/sflphoned diff --git a/daemon/configure.ac b/daemon/configure.ac index d1d39abc3363e6d0ea90d50446fa7cd7490c7093..601cdfb191166f72c8bf0f834bdbb6a40de39c32 100644 --- a/daemon/configure.ac +++ b/daemon/configure.ac @@ -318,7 +318,12 @@ AC_ARG_WITH([dbus], [with_dbus=yes]) AS_IF([test "x$with_dbus" = "xyes"], [ PKG_CHECK_MODULES(DBUSCPP, dbus-c++-1,, AC_MSG_WARN([Missing dbus development files])) - AC_CONFIG_FILES([bin/dbus/Makefile]) + + AS_AC_EXPAND(LIBEXECDIR, $libexecdir) + AC_SUBST(LIBEXECDIR) + + AC_CONFIG_FILES([bin/dbus/Makefile + bin/dbus/org.sflphone.SFLphone.service]) AC_CHECK_PROG(HAVE_DBUSXML2CPP, dbusxx-xml2cpp, true, false) if test "x$HAVE_DBUSXML2CPP" = "xfalse"; then diff --git a/daemon/m4/as-ac-expand.m4 b/daemon/m4/as-ac-expand.m4 new file mode 100644 index 0000000000000000000000000000000000000000..d6c9e33060aa8b828347bcda9f8b8ef17d7f61de --- /dev/null +++ b/daemon/m4/as-ac-expand.m4 @@ -0,0 +1,43 @@ +dnl as-ac-expand.m4 0.2.0 +dnl autostars m4 macro for expanding directories using configure's prefix +dnl thomas@apestaart.org + +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) +dnl example +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local + +AC_DEFUN([AS_AC_EXPAND], +[ + EXP_VAR=[$1] + FROM_VAR=[$2] + + dnl first expand prefix and exec_prefix if necessary + prefix_save=$prefix + exec_prefix_save=$exec_prefix + + dnl if no prefix given, then use /usr/local, the default prefix + if test "x$prefix" = "xNONE"; then + prefix="$ac_default_prefix" + fi + dnl if no exec_prefix given, then use prefix + if test "x$exec_prefix" = "xNONE"; then + exec_prefix=$prefix + fi + + full_var="$FROM_VAR" + dnl loop until it doesn't change anymore + while true; do + new_full_var="`eval echo $full_var`" + if test "x$new_full_var" = "x$full_var"; then break; fi + full_var=$new_full_var + done + + dnl clean up + full_var=$new_full_var + AC_SUBST([$1], "$full_var") + + dnl restore prefix and exec_prefix + prefix=$prefix_save + exec_prefix=$exec_prefix_save +])