summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-05-21 17:37:08 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2007-05-21 17:37:08 +0000
commit3f7b619b44ebdf4d89f8faff212240445ba31637 (patch)
treec8a28b35ef9013709903ffeed1e876b8adafe612
parent6b4bd7d2e930b1d57ee1e863ddc81a2b0b752a65 (diff)
acinclude.m4, configure.in: In recent autotools, ${datadir} is
defined in terms of ${datarootdir}, so EXPANDED_DATADIR needs to be expanded recursively. Rather than fixing configure.in to do this, I grabbed the AS_AC_EXPAND macro from autostars.sf.net, which seems to be commonly used.
-rw-r--r--ChangeLog8
-rw-r--r--acinclude.m450
-rw-r--r--configure.in51
3 files changed, 64 insertions, 45 deletions
diff --git a/ChangeLog b/ChangeLog
index 6e51edb3..51de05b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
+ * acinclude.m4, configure.in: In recent autotools, ${datadir} is
+ defined in terms of ${datarootdir}, so EXPANDED_DATADIR needs to be
+ expanded recursively. Rather than fixing configure.in to do this, I
+ grabbed the AS_AC_EXPAND macro from autostars.sf.net, which seems to be
+ commonly used.
+
+2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
+
* update-dbus-docs.sh: Assorted improvements:
- Default user if $FDUSER is not set is the ssh default
(set in ~/.ssh/config or based on the local username), not a
diff --git a/acinclude.m4 b/acinclude.m4
index a8d649e6..5dac6478 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -81,3 +81,53 @@ $2])
CPPFLAGS="$save_CPPFLAGS"
])
+
+dnl as-ac-expand.m4 0.2.0 -*- autoconf -*-
+dnl autostars m4 macro for expanding directories using configure's prefix
+
+dnl (C) 2003, 2004, 2005 Thomas Vander Stichele <thomas at apestaart dot org>
+
+dnl Copying and distribution of this file, with or without modification,
+dnl are permitted in any medium without royalty provided the copyright
+dnl notice and this notice are preserved.
+
+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
+])
diff --git a/configure.in b/configure.in
index 811e2f20..bfeb90a7 100644
--- a/configure.in
+++ b/configure.in
@@ -1003,55 +1003,16 @@ fi
AM_CONDITIONAL(DBUS_XML_DOCS_ENABLED, test x$enable_xml_docs = xyes)
AC_MSG_RESULT(yes)
-#### Have to go $localstatedir->$prefix/var->/usr/local/var
-#### someone please fix this a better way...
+#### Have to go $localstatedir->$prefix/var->/usr/local/var
#### find the actual value for $prefix that we'll end up with
## (I know this is broken and should be done in the Makefile, but
## that's a major pain and almost nobody actually seems to care)
-REAL_PREFIX=
-if test "x$prefix" = "xNONE"; then
- REAL_PREFIX=$ac_default_prefix
-else
- REAL_PREFIX=$prefix
-fi
-
-## temporarily change prefix and exec_prefix
-old_prefix=$prefix
-prefix=$REAL_PREFIX
-
-if test "x$exec_prefix" = xNONE ; then
- REAL_EXEC_PREFIX=$REAL_PREFIX
-else
- REAL_EXEC_PREFIX=$exec_prefix
-fi
-old_exec_prefix=$exec_prefix
-exec_prefix=$REAL_EXEC_PREFIX
-
-## eval everything
-LOCALSTATEDIR_TMP="$localstatedir"
-EXPANDED_LOCALSTATEDIR=`eval echo $LOCALSTATEDIR_TMP`
-AC_SUBST(EXPANDED_LOCALSTATEDIR)
-
-SYSCONFDIR_TMP="$sysconfdir"
-EXPANDED_SYSCONFDIR=`eval echo $SYSCONFDIR_TMP`
-AC_SUBST(EXPANDED_SYSCONFDIR)
-
-BINDIR_TMP="$bindir"
-EXPANDED_BINDIR=`eval echo $BINDIR_TMP`
-AC_SUBST(EXPANDED_BINDIR)
-
-LIBDIR_TMP="$libdir"
-EXPANDED_LIBDIR=`eval echo $LIBDIR_TMP`
-AC_SUBST(EXPANDED_LIBDIR)
-
-DATADIR_TMP="$datadir"
-EXPANDED_DATADIR=`eval echo $DATADIR_TMP`
-AC_SUBST(EXPANDED_DATADIR)
-
-## put prefix and exec_prefix back
-prefix=$old_prefix
-exec_prefix=$old_exec_prefix
+AS_AC_EXPAND(EXPANDED_LOCALSTATEDIR, "$localstatedir")
+AS_AC_EXPAND(EXPANDED_SYSCONFDIR, "$sysconfdir")
+AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
+AS_AC_EXPAND(EXPANDED_LIBDIR, "$libdir")
+AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir")
#### Check our operating system
operating_system=unknown