[patch][core] Use AS_AC_EXPAND instead of trying to make our own

Simon McVittie simon.mcvittie at collabora.co.uk
Mon May 21 10:29:21 PDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On a current Debian unstable system, ${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.

Index: acinclude.m4
===================================================================
RCS file: /cvs/dbus/dbus/acinclude.m4,v
retrieving revision 1.3
diff -u -r1.3 acinclude.m4
- --- acinclude.m4	16 Feb 2006 01:13:04 -0000	1.3
+++ acinclude.m4	21 May 2007 17:09:36 -0000
@@ -81,3 +81,53 @@
 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
+])
Index: configure.in
===================================================================
RCS file: /cvs/dbus/dbus/configure.in,v
retrieving revision 1.203
diff -u -r1.203 configure.in
- --- configure.in	17 May 2007 11:44:42 -0000	1.203
+++ configure.in	21 May 2007 17:09:37 -0000
@@ -1003,55 +1003,16 @@
 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: OpenPGP key: http://www.pseudorandom.co.uk/2003/contact/ or pgp.net

iD4DBQFGUdbxWSc8zVUw7HYRAl2JAJjTiXE6qs2e0e35F6dZqFueLpN0AJ4uPZWP
U1LtwvoveJqPDhoXwEgGuw==
=T6We
-----END PGP SIGNATURE-----


More information about the dbus mailing list