$NetBSD: patch-an,v 1.8 2007/03/14 12:29:05 markd Exp $ The '$' while loops expand the variables as long as possible so that no references to other variables occur. This is necessary because fontpath may be "${exec_prefix}", which itself may be "${prefix}", and so on. I don't know how many levels of indirection are possible, therefore the loop. I'm also sure that this is not the Right Way to fix it, but at least it works. --- config-scripts/cups-directories.m4.orig 2007-02-05 22:22:11.000000000 +1300 +++ config-scripts/cups-directories.m4 @@ -223,7 +223,15 @@ AC_SUBST(CUPS_CACHEDIR) # Data files CUPS_DATADIR="$datadir/cups" -AC_DEFINE_UNQUOTED(CUPS_DATADIR, "$datadir/cups") +done=no +while test $done = no; do + case "$CUPS_DATADIR" in + *'$'*) eval "CUPS_DATADIR=$CUPS_DATADIR";; + *) done=yes;; + esac +done + +AC_DEFINE_UNQUOTED(CUPS_DATADIR, "$CUPS_DATADIR") AC_SUBST(CUPS_DATADIR) # Documentation files @@ -236,7 +244,15 @@ else CUPS_DOCROOT="$docdir" fi -AC_DEFINE_UNQUOTED(CUPS_DOCROOT, "$docdir") +done=no +while test $done = no; do + case "$CUPS_DOCROOT" in + *'$'*) eval "CUPS_DOCROOT=$CUPS_DOCROOT";; + *) done=yes;; + esac +done + +AC_DEFINE_UNQUOTED(CUPS_DOCROOT, "$CUPS_DOCROOT") AC_SUBST(CUPS_DOCROOT) # Fonts @@ -248,10 +264,21 @@ else CUPS_FONTPATH="$fontpath" fi -AC_SUBST(CUPS_FONTPATH) +done=no +while test $done = no; do + case "$CUPS_FONTPATH" in + *'$'*) eval "CUPS_FONTPATH=$CUPS_FONTPATH";; + *) done=yes;; + esac +done + AC_DEFINE_UNQUOTED(CUPS_FONTPATH, "$CUPS_FONTPATH") +AC_SUBST(CUPS_FONTPATH) # Locale data +AC_ARG_WITH(localedir, [ --with-localedir set path for locale files],localedir="$withval",localedir="") + +if test x$localedir = x; then case "$uname" in Linux | GNU | *BSD* | Darwin*) CUPS_LOCALEDIR="$datadir/locale" @@ -266,6 +293,17 @@ case "$uname" in CUPS_LOCALEDIR="$exec_prefix/lib/locale" ;; esac +else + CUPS_LOCALEDIR="$localedir" +fi + +done=no +while test $done = no; do + case "$CUPS_LOCALEDIR" in + *'$'*) eval "CUPS_LOCALEDIR=$CUPS_LOCALEDIR";; + *) done=yes;; + esac +done AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$CUPS_LOCALEDIR") AC_SUBST(CUPS_LOCALEDIR) @@ -275,7 +313,6 @@ AC_ARG_WITH(logdir, [ --with-logdir if test x$logdir = x; then CUPS_LOGDIR="$localstatedir/log/cups" - AC_DEFINE_UNQUOTED(CUPS_LOGDIR, "$localstatedir/log/cups") else CUPS_LOGDIR="$logdir" fi @@ -284,10 +321,13 @@ AC_SUBST(CUPS_LOGDIR) # Longer-term spool data CUPS_REQUESTS="$localstatedir/spool/cups" -AC_DEFINE_UNQUOTED(CUPS_REQUESTS, "$localstatedir/spool/cups") +AC_DEFINE_UNQUOTED(CUPS_REQUESTS, "$CUPS_REQUESTS") AC_SUBST(CUPS_REQUESTS) # Server executables... +AC_ARG_WITH(serverbindir, [ --with-serverbindir set path for server helper programs],serverbindir="$withval",serverbindir="") + +if test x$serverbindir = x; then case "$uname" in *BSD* | Darwin*) # *BSD and Darwin (MacOS X) @@ -300,6 +340,10 @@ case "$uname" in CUPS_SERVERBIN="$exec_prefix/lib/cups" ;; esac +else + INSTALL_SYSV="" + CUPS_SERVERBIN="$serverbindir" +fi AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$CUPS_SERVERBIN") AC_SUBST(CUPS_SERVERBIN) @@ -307,12 +351,12 @@ AC_SUBST(INSTALL_SYSV) # Configuration files CUPS_SERVERROOT="$sysconfdir/cups" -AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$sysconfdir/cups") +AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$CUPS_SERVERROOT") AC_SUBST(CUPS_SERVERROOT) # Transient run-time state CUPS_STATEDIR="$localstatedir/run/cups" -AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$localstatedir/run/cups") +AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$CUPS_STATEDIR") AC_SUBST(CUPS_STATEDIR) dnl