On my system (openSUSE 12.2 / GNU bash, version 4.2.24(1)-release (x86_64-suse-linux-gnu) ), the shell doesn't like that the '=' character in 'if test...' doesn't have spaces around it. This causes the test to always be true, and thus the AS_AC_EXPAND macro only expands once. This led to two #define's in config.h containing broken values: HEXCHATSHAREDIR and DBUS_SERVICES_DIR.

This commit is contained in:
Arnav Singh 2012-09-20 22:04:14 +08:00
parent b6ba409bce
commit e6a0532fc2
2 changed files with 4 additions and 5 deletions

View File

@ -26,7 +26,7 @@ AC_DEFUN([AS_AC_EXPAND],
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
if test "x$new_full_var" = "x$full_var"; then break; fi
full_var=$new_full_var
done

View File

@ -592,9 +592,8 @@ if test "x$dbus" = "xyes" ; then
COMMON_LIBS="$COMMON_LIBS $DBUS_LIBS"
COMMON_CFLAGS="$COMMON_CFLAGS $DBUS_CFLAGS"
AC_DEFINE(USE_DBUS)
AS_AC_EXPAND(DATADIR, $datadir)
DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
AS_AC_EXPAND(DBUS_SERVICES_DIR, "$datadir/dbus-1/services")
AC_SUBST(DBUS_SERVICES_DIR)
AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is])
fi
@ -911,10 +910,10 @@ test "x$exec_prefix" = xNONE && exec_prefix="$prefix"
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
HEXCHATLIBDIR=`eval echo ${libdir}/hexchat`
AS_AC_EXPAND(HEXCHATLIBDIR, "${libdir}/hexchat")
AC_DEFINE_UNQUOTED(HEXCHATLIBDIR, "$HEXCHATLIBDIR")
HEXCHATSHAREDIR=`eval echo ${datadir}`
AS_AC_EXPAND(HEXCHATSHAREDIR, "$datadir")
AC_DEFINE_UNQUOTED(HEXCHATSHAREDIR, "$HEXCHATSHAREDIR")
dnl for plugins/xxx/Makefile.am