changeset 21409:1aa293d58df0

fully expand all env vars before writing config.status (bug #46063) * configure.ac: Fully expand environment variables just prior to generating config.status. * mk-mxarray-h.in.sh, mk-version-h.in.sh, subst-config-vals.in.sh, subst-cross-config-vals.in.sh, subst-default-vals.in.sh, subst-f77-isnan-macro.in.sh, subst-script-vals.in.sh: Eliminate now unnecessary step of expanding environment variables.
author John W. Eaton <jwe@octave.org>
date Sun, 06 Mar 2016 13:33:02 -0500
parents 43056b877047
children 0c2ff0876a0f
files build-aux/mk-mxarray-h.in.sh build-aux/mk-version-h.in.sh build-aux/subst-config-vals.in.sh build-aux/subst-cross-config-vals.in.sh build-aux/subst-default-vals.in.sh build-aux/subst-f77-isnan-macro.in.sh build-aux/subst-script-vals.in.sh configure.ac
diffstat 8 files changed, 444 insertions(+), 858 deletions(-) [+]
line wrap: on
line diff
--- a/build-aux/mk-mxarray-h.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/mk-mxarray-h.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,28 +20,7 @@
 
 : ${SED=@SED@}
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
-OCTAVE_IDX_TYPE='@OCTAVE_IDX_TYPE@'
-
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var OCTAVE_IDX_TYPE
+OCTAVE_IDX_TYPE="@OCTAVE_IDX_TYPE@"
 
 $SED \
   -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically by mx-mxarray-h.|" \
--- a/build-aux/mk-version-h.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/mk-version-h.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,40 +20,13 @@
 
 : ${SED=@SED@}
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
-OCTAVE_API_VERSION='@OCTAVE_API_VERSION@'
-OCTAVE_COPYRIGHT='@OCTAVE_COPYRIGHT@'
-OCTAVE_MAJOR_VERSION='@OCTAVE_MAJOR_VERSION@'
-OCTAVE_MINOR_VERSION='@OCTAVE_MINOR_VERSION@'
-OCTAVE_PATCH_VERSION='@OCTAVE_PATCH_VERSION@'
-OCTAVE_RELEASE_DATE='@OCTAVE_RELEASE_DATE@'
-OCTAVE_VERSION='@OCTAVE_VERSION@'
-
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var OCTAVE_API_VERSION
-expand_var OCTAVE_COPYRIGHT
-expand_var OCTAVE_MAJOR_VERSION
-expand_var OCTAVE_MINOR_VERSION
-expand_var OCTAVE_PATCH_VERSION
-expand_var OCTAVE_RELEASE_DATE
-expand_var OCTAVE_VERSION
+OCTAVE_API_VERSION="@OCTAVE_API_VERSION@"
+OCTAVE_COPYRIGHT="@OCTAVE_COPYRIGHT@"
+OCTAVE_MAJOR_VERSION="@OCTAVE_MAJOR_VERSION@"
+OCTAVE_MINOR_VERSION="@OCTAVE_MINOR_VERSION@"
+OCTAVE_PATCH_VERSION="@OCTAVE_PATCH_VERSION@"
+OCTAVE_RELEASE_DATE="@OCTAVE_RELEASE_DATE@"
+OCTAVE_VERSION="@OCTAVE_VERSION@"
 
 $SED \
   -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically by mk-version-h.|" \
--- a/build-aux/subst-config-vals.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/subst-config-vals.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,338 +20,162 @@
 
 : ${SED=@SED@}
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
-NO_OCT_FILE_STRIP='@NO_OCT_FILE_STRIP@'
-bindir='@bindir@'
-AMD_CPPFLAGS='@AMD_CPPFLAGS@'
-AMD_LDFLAGS='@AMD_LDFLAGS@'
-AMD_LIBS='@AMD_LIBS@'
-AR='@AR@'
-ARFLAGS='@ARFLAGS@'
-ARPACK_CPPFLAGS='@ARPACK_CPPFLAGS@'
-ARPACK_LDFLAGS='@ARPACK_LDFLAGS@'
-ARPACK_LIBS='@ARPACK_LIBS@'
-BLAS_LIBS='@BLAS_LIBS@'
-CAMD_CPPFLAGS='@CAMD_CPPFLAGS@'
-CAMD_LDFLAGS='@CAMD_LDFLAGS@'
-CAMD_LIBS='@CAMD_LIBS@'
-CARBON_LIBS='@CARBON_LIBS@'
-CC='@CC@'
-CCOLAMD_CPPFLAGS='@CCOLAMD_CPPFLAGS@'
-CCOLAMD_LDFLAGS='@CCOLAMD_LDFLAGS@'
-CCOLAMD_LIBS='@CCOLAMD_LIBS@'
-CFLAGS='@CFLAGS@'
-CHOLMOD_CPPFLAGS='@CHOLMOD_CPPFLAGS@'
-CHOLMOD_LDFLAGS='@CHOLMOD_LDFLAGS@'
-CHOLMOD_LIBS='@CHOLMOD_LIBS@'
-COLAMD_CPPFLAGS='@COLAMD_CPPFLAGS@'
-COLAMD_LDFLAGS='@COLAMD_LDFLAGS@'
-COLAMD_LIBS='@COLAMD_LIBS@'
-CPICFLAG='@CPICFLAG@'
-CPPFLAGS='@CPPFLAGS@'
-CURL_CPPFLAGS='@CURL_CPPFLAGS@'
-CURL_LDFLAGS='@CURL_LDFLAGS@'
-CURL_LIBS='@CURL_LIBS@'
-CXSPARSE_CPPFLAGS='@CXSPARSE_CPPFLAGS@'
-CXSPARSE_LDFLAGS='@CXSPARSE_LDFLAGS@'
-CXSPARSE_LIBS='@CXSPARSE_LIBS@'
-CXX='@CXX@'
-CXXCPP='@CXXCPP@'
-CXXFLAGS='@CXXFLAGS@'
-CXXPICFLAG='@CXXPICFLAG@'
-DEFAULT_PAGER='@DEFAULT_PAGER@'
-DEFS='@DEFS@'
-DEPEND_FLAGS='@DEPEND_FLAGS@'
-DEPEND_EXTRA_SED_PATTERN='@DEPEND_EXTRA_SED_PATTERN@'
-DL_LD='@DL_LD@'
-DL_LDFLAGS='@DL_LDFLAGS@'
-DL_LIBS='@DL_LIBS@'
-EXEEXT='@EXEEXT@'
-GCC_VERSION='@GCC_VERSION@'
-GXX_VERSION='@GXX_VERSION@'
-F77='@F77@'
-F77_FLOAT_STORE_FLAG='@F77_FLOAT_STORE_FLAG@'
-F77_INTEGER_8_FLAG='@F77_INTEGER_8_FLAG@'
-FFLAGS='@FFLAGS@'
-FFTW3_CPPFLAGS='@FFTW3_CPPFLAGS@'
-FFTW3_LDFLAGS='@FFTW3_LDFLAGS@'
-FFTW3_LIBS='@FFTW3_LIBS@'
-FFTW3F_CPPFLAGS='@FFTW3F_CPPFLAGS@'
-FFTW3F_LDFLAGS='@FFTW3F_LDFLAGS@'
-FFTW3F_LIBS='@FFTW3F_LIBS@'
-FLIBS='@FLIBS@'
-FLTK_CPPFLAGS='@FLTK_CPPFLAGS@'
-FLTK_LDFLAGS='@FLTK_LDFLAGS@'
-FLTK_LIBS='@FLTK_LIBS@'
-FONTCONFIG_CPPFLAGS='@FONTCONFIG_CPPFLAGS@'
-FONTCONFIG_LIBS='@FONTCONFIG_LIBS@'
-FPICFLAG='@FPICFLAG@'
-FT2_CPPFLAGS='@FT2_CPPFLAGS@'
-FT2_LIBS='@FT2_LIBS@'
-GLPK_CPPFLAGS='@GLPK_CPPFLAGS@'
-GLPK_LDFLAGS='@GLPK_LDFLAGS@'
-GLPK_LIBS='@GLPK_LIBS@'
-GNUPLOT='@GNUPLOT@'
-HDF5_CPPFLAGS='@HDF5_CPPFLAGS@'
-HDF5_LDFLAGS='@HDF5_LDFLAGS@'
-HDF5_LIBS='@HDF5_LIBS@'
-includedir='@includedir@'
-LAPACK_LIBS='@LAPACK_LIBS@'
-LD_CXX='@LD_CXX@'
-LDFLAGS='@LDFLAGS@'
-LD_STATIC_FLAG='@LD_STATIC_FLAG@'
-LEX='@LEX@'
-LEXLIB='@LEXLIB@'
-LFLAGS='@LFLAGS@'
-libdir='@libdir@'
-LIBEXT='@LIBEXT@'
-LIBOCTAVE='@LIBOCTAVE@'
-LIBOCTINTERP='@LIBOCTINTERP@'
-LIBS='@LIBS@'
-LLVM_CPPFLAGS='@LLVM_CPPFLAGS@'
-LLVM_LDFLAGS='@LLVM_LDFLAGS@'
-LLVM_LIBS='@LLVM_LIBS@'
-LN_S='@LN_S@'
-MAGICK_CPPFLAGS='@MAGICK_CPPFLAGS@'
-MAGICK_LDFLAGS='@MAGICK_LDFLAGS@'
-MAGICK_LIBS='@MAGICK_LIBS@'
-MKOCTFILE_AR='@MKOCTFILE_AR@'
-MKOCTFILE_CC='@MKOCTFILE_CC@'
-MKOCTFILE_CXX='@MKOCTFILE_CXX@'
-MKOCTFILE_DL_LD='@MKOCTFILE_DL_LD@'
-MKOCTFILE_DL_LDFLAGS='@MKOCTFILE_DL_LDFLAGS@'
-MKOCTFILE_F77='@MKOCTFILE_F77@'
-MKOCTFILE_LD_CXX='@MKOCTFILE_LD_CXX@'
-MKOCTFILE_RANLIB='@MKOCTFILE_RANLIB@'
-OCTAVE_LINK_DEPS='@OCTAVE_LINK_DEPS@'
-OCTAVE_LINK_OPTS='@OCTAVE_LINK_OPTS@'
-octincludedir='@octincludedir@'
-octlibdir='@octlibdir@'
-OCT_LINK_DEPS='@OCT_LINK_DEPS@'
-OCT_LINK_OPTS='@OCT_LINK_OPTS@'
-OPENGL_LIBS='@OPENGL_LIBS@'
-OSMESA_CPPFLAGS='@OSMESA_CPPFLAGS@'
-OSMESA_LDFLAGS='@OSMESA_LDFLAGS@'
-OSMESA_LIBS='@OSMESA_LIBS@'
-PCRE_CPPFLAGS='@PCRE_CPPFLAGS@'
-PCRE_LIBS='@PCRE_LIBS@'
-prefix='@prefix@'
-PTHREAD_CFLAGS='@PTHREAD_CFLAGS@'
-PTHREAD_LIBS='@PTHREAD_LIBS@'
-QHULL_CPPFLAGS='@QHULL_CPPFLAGS@'
-QHULL_LDFLAGS='@QHULL_LDFLAGS@'
-QHULL_LIBS='@QHULL_LIBS@'
-QRUPDATE_CPPFLAGS='@QRUPDATE_CPPFLAGS@'
-QRUPDATE_LDFLAGS='@QRUPDATE_LDFLAGS@'
-QRUPDATE_LIBS='@QRUPDATE_LIBS@'
-QT_CPPFLAGS='@QT_CPPFLAGS@'
-QT_LDFLAGS='@QT_LDFLAGS@'
-QT_LIBS='@QT_LIBS@'
-RANLIB='@RANLIB@'
-RDYNAMIC_FLAG='@RDYNAMIC_FLAG@'
-READLINE_LIBS='@READLINE_LIBS@'
-SED='@SED@'
-SHARED_LIBS='@SHARED_LIBS@'
-SHLEXT='@SHLEXT@'
-SHLLINKEXT='@SHLLINKEXT@'
-SHLEXT_VER='@SHLEXT_VER@'
-SH_LD='@SH_LD@'
-SH_LDFLAGS='@SH_LDFLAGS@'
-SONAME_FLAGS='@SONAME_FLAGS@'
-STATIC_LIBS='@STATIC_LIBS@'
-TERM_LIBS='@TERM_LIBS@'
-UMFPACK_CPPFLAGS='@UMFPACK_CPPFLAGS@'
-UMFPACK_LDFLAGS='@UMFPACK_LDFLAGS@'
-UMFPACK_LIBS='@UMFPACK_LIBS@'
-version='@PACKAGE_VERSION@'
-WARN_CFLAGS='@WARN_CFLAGS@'
-WARN_CXXFLAGS='@WARN_CXXFLAGS@'
-X11_INCFLAGS='@X11_INCFLAGS@'
-X11_LIBS='@X11_LIBS@'
-XTRA_CFLAGS='@XTRA_CFLAGS@'
-XTRA_CXXFLAGS='@XTRA_CXXFLAGS@'
-YACC='@YACC@'
-YFLAGS='@YFLAGS@'
-Z_CPPFLAGS='@Z_CPPFLAGS@'
-Z_LDFLAGS='@Z_LDFLAGS@'
-Z_LIBS='@Z_LIBS@'
-## this one uses ' to quote individual arguments, so use " here.
+NO_OCT_FILE_STRIP="@NO_OCT_FILE_STRIP@"
+bindir="@bindir@"
+AMD_CPPFLAGS="@AMD_CPPFLAGS@"
+AMD_LDFLAGS="@AMD_LDFLAGS@"
+AMD_LIBS="@AMD_LIBS@"
+AR="@AR@"
+ARFLAGS="@ARFLAGS@"
+ARPACK_CPPFLAGS="@ARPACK_CPPFLAGS@"
+ARPACK_LDFLAGS="@ARPACK_LDFLAGS@"
+ARPACK_LIBS="@ARPACK_LIBS@"
+BLAS_LIBS="@BLAS_LIBS@"
+CAMD_CPPFLAGS="@CAMD_CPPFLAGS@"
+CAMD_LDFLAGS="@CAMD_LDFLAGS@"
+CAMD_LIBS="@CAMD_LIBS@"
+CARBON_LIBS="@CARBON_LIBS@"
+CC="@CC@"
+CCOLAMD_CPPFLAGS="@CCOLAMD_CPPFLAGS@"
+CCOLAMD_LDFLAGS="@CCOLAMD_LDFLAGS@"
+CCOLAMD_LIBS="@CCOLAMD_LIBS@"
+CFLAGS="@CFLAGS@"
+CHOLMOD_CPPFLAGS="@CHOLMOD_CPPFLAGS@"
+CHOLMOD_LDFLAGS="@CHOLMOD_LDFLAGS@"
+CHOLMOD_LIBS="@CHOLMOD_LIBS@"
+COLAMD_CPPFLAGS="@COLAMD_CPPFLAGS@"
+COLAMD_LDFLAGS="@COLAMD_LDFLAGS@"
+COLAMD_LIBS="@COLAMD_LIBS@"
+CPICFLAG="@CPICFLAG@"
+CPPFLAGS="@CPPFLAGS@"
+CURL_CPPFLAGS="@CURL_CPPFLAGS@"
+CURL_LDFLAGS="@CURL_LDFLAGS@"
+CURL_LIBS="@CURL_LIBS@"
+CXSPARSE_CPPFLAGS="@CXSPARSE_CPPFLAGS@"
+CXSPARSE_LDFLAGS="@CXSPARSE_LDFLAGS@"
+CXSPARSE_LIBS="@CXSPARSE_LIBS@"
+CXX="@CXX@"
+CXXCPP="@CXXCPP@"
+CXXFLAGS="@CXXFLAGS@"
+CXXPICFLAG="@CXXPICFLAG@"
+DEFAULT_PAGER="@DEFAULT_PAGER@"
+DEFS="@DEFS@"
+DEPEND_FLAGS="@DEPEND_FLAGS@"
+DEPEND_EXTRA_SED_PATTERN="@DEPEND_EXTRA_SED_PATTERN@"
+DL_LD="@DL_LD@"
+DL_LDFLAGS="@DL_LDFLAGS@"
+DL_LIBS="@DL_LIBS@"
+EXEEXT="@EXEEXT@"
+GCC_VERSION="@GCC_VERSION@"
+GXX_VERSION="@GXX_VERSION@"
+F77="@F77@"
+F77_FLOAT_STORE_FLAG="@F77_FLOAT_STORE_FLAG@"
+F77_INTEGER_8_FLAG="@F77_INTEGER_8_FLAG@"
+FFLAGS="@FFLAGS@"
+FFTW3_CPPFLAGS="@FFTW3_CPPFLAGS@"
+FFTW3_LDFLAGS="@FFTW3_LDFLAGS@"
+FFTW3_LIBS="@FFTW3_LIBS@"
+FFTW3F_CPPFLAGS="@FFTW3F_CPPFLAGS@"
+FFTW3F_LDFLAGS="@FFTW3F_LDFLAGS@"
+FFTW3F_LIBS="@FFTW3F_LIBS@"
+FLIBS="@FLIBS@"
+FLTK_CPPFLAGS="@FLTK_CPPFLAGS@"
+FLTK_LDFLAGS="@FLTK_LDFLAGS@"
+FLTK_LIBS="@FLTK_LIBS@"
+FONTCONFIG_CPPFLAGS="@FONTCONFIG_CPPFLAGS@"
+FONTCONFIG_LIBS="@FONTCONFIG_LIBS@"
+FPICFLAG="@FPICFLAG@"
+FT2_CPPFLAGS="@FT2_CPPFLAGS@"
+FT2_LIBS="@FT2_LIBS@"
+GLPK_CPPFLAGS="@GLPK_CPPFLAGS@"
+GLPK_LDFLAGS="@GLPK_LDFLAGS@"
+GLPK_LIBS="@GLPK_LIBS@"
+GNUPLOT="@GNUPLOT@"
+HDF5_CPPFLAGS="@HDF5_CPPFLAGS@"
+HDF5_LDFLAGS="@HDF5_LDFLAGS@"
+HDF5_LIBS="@HDF5_LIBS@"
+includedir="@includedir@"
+LAPACK_LIBS="@LAPACK_LIBS@"
+LD_CXX="@LD_CXX@"
+LDFLAGS="@LDFLAGS@"
+LD_STATIC_FLAG="@LD_STATIC_FLAG@"
+LEX="@LEX@"
+LEXLIB="@LEXLIB@"
+LFLAGS="@LFLAGS@"
+libdir="@libdir@"
+LIBEXT="@LIBEXT@"
+LIBOCTAVE="@LIBOCTAVE@"
+LIBOCTINTERP="@LIBOCTINTERP@"
+LIBS="@LIBS@"
+LLVM_CPPFLAGS="@LLVM_CPPFLAGS@"
+LLVM_LDFLAGS="@LLVM_LDFLAGS@"
+LLVM_LIBS="@LLVM_LIBS@"
+LN_S="@LN_S@"
+MAGICK_CPPFLAGS="@MAGICK_CPPFLAGS@"
+MAGICK_LDFLAGS="@MAGICK_LDFLAGS@"
+MAGICK_LIBS="@MAGICK_LIBS@"
+MKOCTFILE_AR="@MKOCTFILE_AR@"
+MKOCTFILE_CC="@MKOCTFILE_CC@"
+MKOCTFILE_CXX="@MKOCTFILE_CXX@"
+MKOCTFILE_DL_LD="@MKOCTFILE_DL_LD@"
+MKOCTFILE_DL_LDFLAGS="@MKOCTFILE_DL_LDFLAGS@"
+MKOCTFILE_F77="@MKOCTFILE_F77@"
+MKOCTFILE_LD_CXX="@MKOCTFILE_LD_CXX@"
+MKOCTFILE_RANLIB="@MKOCTFILE_RANLIB@"
+OCTAVE_LINK_DEPS="@OCTAVE_LINK_DEPS@"
+OCTAVE_LINK_OPTS="@OCTAVE_LINK_OPTS@"
+octincludedir="@octincludedir@"
+octlibdir="@octlibdir@"
+OCT_LINK_DEPS="@OCT_LINK_DEPS@"
+OCT_LINK_OPTS="@OCT_LINK_OPTS@"
+OPENGL_LIBS="@OPENGL_LIBS@"
+OSMESA_CPPFLAGS="@OSMESA_CPPFLAGS@"
+OSMESA_LDFLAGS="@OSMESA_LDFLAGS@"
+OSMESA_LIBS="@OSMESA_LIBS@"
+PCRE_CPPFLAGS="@PCRE_CPPFLAGS@"
+PCRE_LIBS="@PCRE_LIBS@"
+prefix="@prefix@"
+PTHREAD_CFLAGS="@PTHREAD_CFLAGS@"
+PTHREAD_LIBS="@PTHREAD_LIBS@"
+QHULL_CPPFLAGS="@QHULL_CPPFLAGS@"
+QHULL_LDFLAGS="@QHULL_LDFLAGS@"
+QHULL_LIBS="@QHULL_LIBS@"
+QRUPDATE_CPPFLAGS="@QRUPDATE_CPPFLAGS@"
+QRUPDATE_LDFLAGS="@QRUPDATE_LDFLAGS@"
+QRUPDATE_LIBS="@QRUPDATE_LIBS@"
+QT_CPPFLAGS="@QT_CPPFLAGS@"
+QT_LDFLAGS="@QT_LDFLAGS@"
+QT_LIBS="@QT_LIBS@"
+RANLIB="@RANLIB@"
+RDYNAMIC_FLAG="@RDYNAMIC_FLAG@"
+READLINE_LIBS="@READLINE_LIBS@"
+SED="@SED@"
+SHARED_LIBS="@SHARED_LIBS@"
+SHLEXT="@SHLEXT@"
+SHLLINKEXT="@SHLLINKEXT@"
+SHLEXT_VER="@SHLEXT_VER@"
+SH_LD="@SH_LD@"
+SH_LDFLAGS="@SH_LDFLAGS@"
+SONAME_FLAGS="@SONAME_FLAGS@"
+STATIC_LIBS="@STATIC_LIBS@"
+TERM_LIBS="@TERM_LIBS@"
+UMFPACK_CPPFLAGS="@UMFPACK_CPPFLAGS@"
+UMFPACK_LDFLAGS="@UMFPACK_LDFLAGS@"
+UMFPACK_LIBS="@UMFPACK_LIBS@"
+version="@PACKAGE_VERSION@"
+WARN_CFLAGS="@WARN_CFLAGS@"
+WARN_CXXFLAGS="@WARN_CXXFLAGS@"
+X11_INCFLAGS="@X11_INCFLAGS@"
+X11_LIBS="@X11_LIBS@"
+XTRA_CFLAGS="@XTRA_CFLAGS@"
+XTRA_CXXFLAGS="@XTRA_CXXFLAGS@"
+YACC="@YACC@"
+YFLAGS="@YFLAGS@"
+Z_CPPFLAGS="@Z_CPPFLAGS@"
+Z_LDFLAGS="@Z_LDFLAGS@"
+Z_LIBS="@Z_LIBS@"
 config_opts="@config_opts@"
 
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var NO_OCT_FILE_STRIP
-expand_var bindir
-expand_var AMD_CPPFLAGS
-expand_var AMD_LDFLAGS
-expand_var AMD_LIBS
-expand_var AR
-expand_var ARFLAGS
-expand_var ARPACK_CPPFLAGS
-expand_var ARPACK_LDFLAGS
-expand_var ARPACK_LIBS
-expand_var BLAS_LIBS
-expand_var CAMD_CPPFLAGS
-expand_var CAMD_LDFLAGS
-expand_var CAMD_LIBS
-expand_var CARBON_LIBS
-expand_var CC
-expand_var CCOLAMD_CPPFLAGS
-expand_var CCOLAMD_LDFLAGS
-expand_var CCOLAMD_LIBS
-expand_var CFLAGS
-expand_var CHOLMOD_CPPFLAGS
-expand_var CHOLMOD_LDFLAGS
-expand_var CHOLMOD_LIBS
-expand_var COLAMD_CPPFLAGS
-expand_var COLAMD_LDFLAGS
-expand_var COLAMD_LIBS
-expand_var CPICFLAG
-expand_var CPPFLAGS
-expand_var CURL_CPPFLAGS
-expand_var CURL_LDFLAGS
-expand_var CURL_LIBS
-expand_var CXSPARSE_CPPFLAGS
-expand_var CXSPARSE_LDFLAGS
-expand_var CXSPARSE_LIBS
-expand_var CXX
-expand_var CXXCPP
-expand_var CXXFLAGS
-expand_var CXXPICFLAG
-expand_var DEFAULT_PAGER
-expand_var DEFS
-expand_var DEPEND_FLAGS
-expand_var DEPEND_EXTRA_SED_PATTERN
-expand_var DL_LD
-expand_var DL_LDFLAGS
-expand_var DL_LIBS
-expand_var EXEEXT
-expand_var GCC_VERSION
-expand_var GXX_VERSION
-expand_var F77
-expand_var F77_FLOAT_STORE_FLAG
-expand_var F77_INTEGER_8_FLAG
-expand_var FFLAGS
-expand_var FFTW3_CPPFLAGS
-expand_var FFTW3_LDFLAGS
-expand_var FFTW3_LIBS
-expand_var FFTW3F_CPPFLAGS
-expand_var FFTW3F_LDFLAGS
-expand_var FFTW3F_LIBS
-expand_var FLIBS
-expand_var FLTK_CPPFLAGS
-expand_var FLTK_LDFLAGS
-expand_var FLTK_LIBS
-expand_var FONTCONFIG_CPPFLAGS
-expand_var FONTCONFIG_LIBS
-expand_var FPICFLAG
-expand_var FT2_CPPFLAGS
-expand_var FT2_LIBS
-expand_var GLPK_CPPFLAGS
-expand_var GLPK_LDFLAGS
-expand_var GLPK_LIBS
-expand_var GNUPLOT
-expand_var HDF5_CPPFLAGS
-expand_var HDF5_LDFLAGS
-expand_var HDF5_LIBS
-expand_var includedir
-expand_var LAPACK_LIBS
-expand_var LD_CXX
-expand_var LDFLAGS
-expand_var LD_STATIC_FLAG
-expand_var LEX
-expand_var LEXLIB
-expand_var LFLAGS
-expand_var libdir
-expand_var LIBEXT
-expand_var LIBOCTAVE
-expand_var LIBOCTINTERP
-expand_var LIBS
-expand_var LLVM_CPPFLAGS
-expand_var LLVM_LDFLAGS
-expand_var LLVM_LIBS
-expand_var LN_S
-expand_var MAGICK_CPPFLAGS
-expand_var MAGICK_LDFLAGS
-expand_var MAGICK_LIBS
-expand_var MKOCTFILE_AR
-expand_var MKOCTFILE_CC
-expand_var MKOCTFILE_CXX
-expand_var MKOCTFILE_DL_LD
-expand_var MKOCTFILE_DL_LDFLAGS
-expand_var MKOCTFILE_F77
-expand_var MKOCTFILE_LD_CXX
-expand_var MKOCTFILE_RANLIB
-expand_var OCTAVE_LINK_DEPS
-expand_var OCTAVE_LINK_OPTS
-expand_var octincludedir
-expand_var octlibdir
-expand_var OCT_LINK_DEPS
-expand_var OCT_LINK_OPTS
-expand_var OPENGL_LIBS
-expand_var OSMESA_CPPFLAGS
-expand_var OSMESA_LDFLAGS
-expand_var OSMESA_LIBS
-expand_var PCRE_CPPFLAGS
-expand_var PCRE_LIBS
-expand_var prefix
-expand_var PTHREAD_CFLAGS
-expand_var PTHREAD_LIBS
-expand_var QHULL_CPPFLAGS
-expand_var QHULL_LDFLAGS
-expand_var QHULL_LIBS
-expand_var QRUPDATE_CPPFLAGS
-expand_var QRUPDATE_LDFLAGS
-expand_var QRUPDATE_LIBS
-expand_var QT_CPPFLAGS
-expand_var QT_LDFLAGS
-expand_var QT_LIBS
-expand_var RANLIB
-expand_var RDYNAMIC_FLAG
-expand_var READLINE_LIBS
-expand_var SED
-expand_var SHARED_LIBS
-expand_var SHLEXT
-expand_var SHLLINKEXT
-expand_var SHLEXT_VER
-expand_var SH_LD
-expand_var SH_LDFLAGS
-expand_var SONAME_FLAGS
-expand_var STATIC_LIBS
-expand_var TERM_LIBS
-expand_var UMFPACK_CPPFLAGS
-expand_var UMFPACK_LDFLAGS
-expand_var UMFPACK_LIBS
-expand_var version
-expand_var WARN_CFLAGS
-expand_var WARN_CXXFLAGS
-expand_var X11_INCFLAGS
-expand_var X11_LIBS
-expand_var XTRA_CFLAGS
-expand_var XTRA_CXXFLAGS
-expand_var YACC
-expand_var YFLAGS
-expand_var Z_CPPFLAGS
-expand_var Z_LDFLAGS
-expand_var Z_LIBS
-expand_var config_opts
-
 $SED \
   -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically by subst-config-vals.|" \
   -e "s|%NO_OCT_FILE_STRIP%|${NO_OCT_FILE_STRIP}|" \
--- a/build-aux/subst-cross-config-vals.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/subst-cross-config-vals.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -32,322 +32,154 @@
 ##   OCTAVE_CONF_MKOCTFILE_LD_CXX
 ##   OCTAVE_CONF_MKOCTFILE_RANLIB
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
-NO_OCT_FILE_STRIP='@NO_OCT_FILE_STRIP@'
-bindir='@bindir@'
-AMD_CPPFLAGS='@AMD_CPPFLAGS@'
-AMD_LDFLAGS='@AMD_LDFLAGS@'
-AMD_LIBS='@AMD_LIBS@'
-AR='@AR@'
-ARFLAGS='@ARFLAGS@'
-ARPACK_CPPFLAGS='@ARPACK_CPPFLAGS@'
-ARPACK_LDFLAGS='@ARPACK_LDFLAGS@'
-ARPACK_LIBS='@ARPACK_LIBS@'
-BLAS_LIBS='@BLAS_LIBS@'
-CAMD_CPPFLAGS='@CAMD_CPPFLAGS@'
-CAMD_LDFLAGS='@CAMD_LDFLAGS@'
-CAMD_LIBS='@CAMD_LIBS@'
-CARBON_LIBS='@CARBON_LIBS@'
-CC='@CC@'
-CCOLAMD_CPPFLAGS='@CCOLAMD_CPPFLAGS@'
-CCOLAMD_LDFLAGS='@CCOLAMD_LDFLAGS@'
-CCOLAMD_LIBS='@CCOLAMD_LIBS@'
-CFLAGS='@CFLAGS@'
-CHOLMOD_CPPFLAGS='@CHOLMOD_CPPFLAGS@'
-CHOLMOD_LDFLAGS='@CHOLMOD_LDFLAGS@'
-CHOLMOD_LIBS='@CHOLMOD_LIBS@'
-COLAMD_CPPFLAGS='@COLAMD_CPPFLAGS@'
-COLAMD_LDFLAGS='@COLAMD_LDFLAGS@'
-COLAMD_LIBS='@COLAMD_LIBS@'
-CPICFLAG='@CPICFLAG@'
-CPPFLAGS='@CPPFLAGS@'
-CURL_CPPFLAGS='@CURL_CPPFLAGS@'
-CURL_LDFLAGS='@CURL_LDFLAGS@'
-CURL_LIBS='@CURL_LIBS@'
-CXSPARSE_CPPFLAGS='@CXSPARSE_CPPFLAGS@'
-CXSPARSE_LDFLAGS='@CXSPARSE_LDFLAGS@'
-CXSPARSE_LIBS='@CXSPARSE_LIBS@'
-CXX='@CXX@'
-CXXCPP='@CXXCPP@'
-CXXFLAGS='@CXXFLAGS@'
-CXXPICFLAG='@CXXPICFLAG@'
-DEFAULT_PAGER='@DEFAULT_PAGER@'
-DEFS='@DEFS@'
-DEPEND_FLAGS='@DEPEND_FLAGS@'
-DEPEND_EXTRA_SED_PATTERN='@DEPEND_EXTRA_SED_PATTERN@'
-DL_LD='@DL_LD@'
-DL_LDFLAGS='@DL_LDFLAGS@'
-DL_LIBS='@DL_LIBS@'
-EXEEXT='@EXEEXT@'
-GCC_VERSION='@GCC_VERSION@'
-GXX_VERSION='@GXX_VERSION@'
-F77='@F77@'
-F77_FLOAT_STORE_FLAG='@F77_FLOAT_STORE_FLAG@'
-F77_INTEGER_8_FLAG='@F77_INTEGER_8_FLAG@'
-FFLAGS='@FFLAGS@'
-FFTW3_CPPFLAGS='@FFTW3_CPPFLAGS@'
-FFTW3_LDFLAGS='@FFTW3_LDFLAGS@'
-FFTW3_LIBS='@FFTW3_LIBS@'
-FFTW3F_CPPFLAGS='@FFTW3F_CPPFLAGS@'
-FFTW3F_LDFLAGS='@FFTW3F_LDFLAGS@'
-FFTW3F_LIBS='@FFTW3F_LIBS@'
-FLIBS='@FLIBS@'
-FLTK_CPPFLAGS='@FLTK_CPPFLAGS@'
-FLTK_LDFLAGS='@FLTK_LDFLAGS@'
-FLTK_LIBS='@FLTK_LIBS@'
-FONTCONFIG_CPPFLAGS='@FONTCONFIG_CPPFLAGS@'
-FONTCONFIG_LIBS='@FONTCONFIG_LIBS@'
-FPICFLAG='@FPICFLAG@'
-FT2_CPPFLAGS='@FT2_CPPFLAGS@'
-FT2_LIBS='@FT2_LIBS@'
-GLPK_CPPFLAGS='@GLPK_CPPFLAGS@'
-GLPK_LDFLAGS='@GLPK_LDFLAGS@'
-GLPK_LIBS='@GLPK_LIBS@'
-GNUPLOT='@GNUPLOT@'
-HDF5_CPPFLAGS='@HDF5_CPPFLAGS@'
-HDF5_LDFLAGS='@HDF5_LDFLAGS@'
-HDF5_LIBS='@HDF5_LIBS@'
-includedir='@includedir@'
-LAPACK_LIBS='@LAPACK_LIBS@'
-LD_CXX='@LD_CXX@'
-LDFLAGS='@LDFLAGS@'
-LD_STATIC_FLAG='@LD_STATIC_FLAG@'
-LEX='@LEX@'
-LEXLIB='@LEXLIB@'
-LFLAGS='@LFLAGS@'
-libdir='@libdir@'
-LIBEXT='@LIBEXT@'
-LIBOCTAVE='@LIBOCTAVE@'
-LIBOCTINTERP='@LIBOCTINTERP@'
-LIBS='@LIBS@'
-LLVM_CPPFLAGS='@LLVM_CPPFLAGS@'
-LLVM_LDFLAGS='@LLVM_LDFLAGS@'
-LLVM_LIBS='@LLVM_LIBS@'
-LN_S='@LN_S@'
-MAGICK_CPPFLAGS='@MAGICK_CPPFLAGS@'
-MAGICK_LDFLAGS='@MAGICK_LDFLAGS@'
-MAGICK_LIBS='@MAGICK_LIBS@'
-OCTAVE_LINK_DEPS='@OCTAVE_LINK_DEPS@'
-OCTAVE_LINK_OPTS='@OCTAVE_LINK_OPTS@'
-octincludedir='@octincludedir@'
-octlibdir='@octlibdir@'
-OCT_LINK_DEPS='@OCT_LINK_DEPS@'
-OCT_LINK_OPTS='@OCT_LINK_OPTS@'
-OPENGL_LIBS='@OPENGL_LIBS@'
-OSMESA_CPPFLAGS='@OSMESA_CPPFLAGS@'
-OSMESA_LDFLAGS='@OSMESA_LDFLAGS@'
-OSMESA_LIBS='@OSMESA_LIBS@'
-PCRE_CPPFLAGS='@PCRE_CPPFLAGS@'
-PCRE_LIBS='@PCRE_LIBS@'
-prefix='@prefix@'
-PTHREAD_CFLAGS='@PTHREAD_CFLAGS@'
-PTHREAD_LIBS='@PTHREAD_LIBS@'
-QHULL_CPPFLAGS='@QHULL_CPPFLAGS@'
-QHULL_LDFLAGS='@QHULL_LDFLAGS@'
-QHULL_LIBS='@QHULL_LIBS@'
-QRUPDATE_CPPFLAGS='@QRUPDATE_CPPFLAGS@'
-QRUPDATE_LDFLAGS='@QRUPDATE_LDFLAGS@'
-QRUPDATE_LIBS='@QRUPDATE_LIBS@'
-QT_CPPFLAGS='@QT_CPPFLAGS@'
-QT_LDFLAGS='@QT_LDFLAGS@'
-QT_LIBS='@QT_LIBS@'
-RANLIB='@RANLIB@'
-RDYNAMIC_FLAG='@RDYNAMIC_FLAG@'
-READLINE_LIBS='@READLINE_LIBS@'
-SED='@SED@'
-SHARED_LIBS='@SHARED_LIBS@'
-SHLEXT='@SHLEXT@'
-SHLLINKEXT='@SHLLINKEXT@'
-SHLEXT_VER='@SHLEXT_VER@'
-SH_LD='@SH_LD@'
-SH_LDFLAGS='@SH_LDFLAGS@'
-SONAME_FLAGS='@SONAME_FLAGS@'
-STATIC_LIBS='@STATIC_LIBS@'
-TERM_LIBS='@TERM_LIBS@'
-UMFPACK_CPPFLAGS='@UMFPACK_CPPFLAGS@'
-UMFPACK_LDFLAGS='@UMFPACK_LDFLAGS@'
-UMFPACK_LIBS='@UMFPACK_LIBS@'
-version='@PACKAGE_VERSION@'
-WARN_CFLAGS='@WARN_CFLAGS@'
-WARN_CXXFLAGS='@WARN_CXXFLAGS@'
-X11_INCFLAGS='@X11_INCFLAGS@'
-X11_LIBS='@X11_LIBS@'
-XTRA_CFLAGS='@XTRA_CFLAGS@'
-XTRA_CXXFLAGS='@XTRA_CXXFLAGS@'
-YACC='@YACC@'
-YFLAGS='@YFLAGS@'
-Z_CPPFLAGS='@Z_CPPFLAGS@'
-Z_LDFLAGS='@Z_LDFLAGS@'
-Z_LIBS='@Z_LIBS@'
-## this one uses ' to quote individual arguments, so use " here.
+NO_OCT_FILE_STRIP="@NO_OCT_FILE_STRIP@"
+bindir="@bindir@"
+AMD_CPPFLAGS="@AMD_CPPFLAGS@"
+AMD_LDFLAGS="@AMD_LDFLAGS@"
+AMD_LIBS="@AMD_LIBS@"
+AR="@AR@"
+ARFLAGS="@ARFLAGS@"
+ARPACK_CPPFLAGS="@ARPACK_CPPFLAGS@"
+ARPACK_LDFLAGS="@ARPACK_LDFLAGS@"
+ARPACK_LIBS="@ARPACK_LIBS@"
+BLAS_LIBS="@BLAS_LIBS@"
+CAMD_CPPFLAGS="@CAMD_CPPFLAGS@"
+CAMD_LDFLAGS="@CAMD_LDFLAGS@"
+CAMD_LIBS="@CAMD_LIBS@"
+CARBON_LIBS="@CARBON_LIBS@"
+CC="@CC@"
+CCOLAMD_CPPFLAGS="@CCOLAMD_CPPFLAGS@"
+CCOLAMD_LDFLAGS="@CCOLAMD_LDFLAGS@"
+CCOLAMD_LIBS="@CCOLAMD_LIBS@"
+CFLAGS="@CFLAGS@"
+CHOLMOD_CPPFLAGS="@CHOLMOD_CPPFLAGS@"
+CHOLMOD_LDFLAGS="@CHOLMOD_LDFLAGS@"
+CHOLMOD_LIBS="@CHOLMOD_LIBS@"
+COLAMD_CPPFLAGS="@COLAMD_CPPFLAGS@"
+COLAMD_LDFLAGS="@COLAMD_LDFLAGS@"
+COLAMD_LIBS="@COLAMD_LIBS@"
+CPICFLAG="@CPICFLAG@"
+CPPFLAGS="@CPPFLAGS@"
+CURL_CPPFLAGS="@CURL_CPPFLAGS@"
+CURL_LDFLAGS="@CURL_LDFLAGS@"
+CURL_LIBS="@CURL_LIBS@"
+CXSPARSE_CPPFLAGS="@CXSPARSE_CPPFLAGS@"
+CXSPARSE_LDFLAGS="@CXSPARSE_LDFLAGS@"
+CXSPARSE_LIBS="@CXSPARSE_LIBS@"
+CXX="@CXX@"
+CXXCPP="@CXXCPP@"
+CXXFLAGS="@CXXFLAGS@"
+CXXPICFLAG="@CXXPICFLAG@"
+DEFAULT_PAGER="@DEFAULT_PAGER@"
+DEFS="@DEFS@"
+DEPEND_FLAGS="@DEPEND_FLAGS@"
+DEPEND_EXTRA_SED_PATTERN="@DEPEND_EXTRA_SED_PATTERN@"
+DL_LD="@DL_LD@"
+DL_LDFLAGS="@DL_LDFLAGS@"
+DL_LIBS="@DL_LIBS@"
+EXEEXT="@EXEEXT@"
+GCC_VERSION="@GCC_VERSION@"
+GXX_VERSION="@GXX_VERSION@"
+F77="@F77@"
+F77_FLOAT_STORE_FLAG="@F77_FLOAT_STORE_FLAG@"
+F77_INTEGER_8_FLAG="@F77_INTEGER_8_FLAG@"
+FFLAGS="@FFLAGS@"
+FFTW3_CPPFLAGS="@FFTW3_CPPFLAGS@"
+FFTW3_LDFLAGS="@FFTW3_LDFLAGS@"
+FFTW3_LIBS="@FFTW3_LIBS@"
+FFTW3F_CPPFLAGS="@FFTW3F_CPPFLAGS@"
+FFTW3F_LDFLAGS="@FFTW3F_LDFLAGS@"
+FFTW3F_LIBS="@FFTW3F_LIBS@"
+FLIBS="@FLIBS@"
+FLTK_CPPFLAGS="@FLTK_CPPFLAGS@"
+FLTK_LDFLAGS="@FLTK_LDFLAGS@"
+FLTK_LIBS="@FLTK_LIBS@"
+FONTCONFIG_CPPFLAGS="@FONTCONFIG_CPPFLAGS@"
+FONTCONFIG_LIBS="@FONTCONFIG_LIBS@"
+FPICFLAG="@FPICFLAG@"
+FT2_CPPFLAGS="@FT2_CPPFLAGS@"
+FT2_LIBS="@FT2_LIBS@"
+GLPK_CPPFLAGS="@GLPK_CPPFLAGS@"
+GLPK_LDFLAGS="@GLPK_LDFLAGS@"
+GLPK_LIBS="@GLPK_LIBS@"
+GNUPLOT="@GNUPLOT@"
+HDF5_CPPFLAGS="@HDF5_CPPFLAGS@"
+HDF5_LDFLAGS="@HDF5_LDFLAGS@"
+HDF5_LIBS="@HDF5_LIBS@"
+includedir="@includedir@"
+LAPACK_LIBS="@LAPACK_LIBS@"
+LD_CXX="@LD_CXX@"
+LDFLAGS="@LDFLAGS@"
+LD_STATIC_FLAG="@LD_STATIC_FLAG@"
+LEX="@LEX@"
+LEXLIB="@LEXLIB@"
+LFLAGS="@LFLAGS@"
+libdir="@libdir@"
+LIBEXT="@LIBEXT@"
+LIBOCTAVE="@LIBOCTAVE@"
+LIBOCTINTERP="@LIBOCTINTERP@"
+LIBS="@LIBS@"
+LLVM_CPPFLAGS="@LLVM_CPPFLAGS@"
+LLVM_LDFLAGS="@LLVM_LDFLAGS@"
+LLVM_LIBS="@LLVM_LIBS@"
+LN_S="@LN_S@"
+MAGICK_CPPFLAGS="@MAGICK_CPPFLAGS@"
+MAGICK_LDFLAGS="@MAGICK_LDFLAGS@"
+MAGICK_LIBS="@MAGICK_LIBS@"
+OCTAVE_LINK_DEPS="@OCTAVE_LINK_DEPS@"
+OCTAVE_LINK_OPTS="@OCTAVE_LINK_OPTS@"
+octincludedir="@octincludedir@"
+octlibdir="@octlibdir@"
+OCT_LINK_DEPS="@OCT_LINK_DEPS@"
+OCT_LINK_OPTS="@OCT_LINK_OPTS@"
+OPENGL_LIBS="@OPENGL_LIBS@"
+OSMESA_CPPFLAGS="@OSMESA_CPPFLAGS@"
+OSMESA_LDFLAGS="@OSMESA_LDFLAGS@"
+OSMESA_LIBS="@OSMESA_LIBS@"
+PCRE_CPPFLAGS="@PCRE_CPPFLAGS@"
+PCRE_LIBS="@PCRE_LIBS@"
+prefix="@prefix@"
+PTHREAD_CFLAGS="@PTHREAD_CFLAGS@"
+PTHREAD_LIBS="@PTHREAD_LIBS@"
+QHULL_CPPFLAGS="@QHULL_CPPFLAGS@"
+QHULL_LDFLAGS="@QHULL_LDFLAGS@"
+QHULL_LIBS="@QHULL_LIBS@"
+QRUPDATE_CPPFLAGS="@QRUPDATE_CPPFLAGS@"
+QRUPDATE_LDFLAGS="@QRUPDATE_LDFLAGS@"
+QRUPDATE_LIBS="@QRUPDATE_LIBS@"
+QT_CPPFLAGS="@QT_CPPFLAGS@"
+QT_LDFLAGS="@QT_LDFLAGS@"
+QT_LIBS="@QT_LIBS@"
+RANLIB="@RANLIB@"
+RDYNAMIC_FLAG="@RDYNAMIC_FLAG@"
+READLINE_LIBS="@READLINE_LIBS@"
+SED="@SED@"
+SHARED_LIBS="@SHARED_LIBS@"
+SHLEXT="@SHLEXT@"
+SHLLINKEXT="@SHLLINKEXT@"
+SHLEXT_VER="@SHLEXT_VER@"
+SH_LD="@SH_LD@"
+SH_LDFLAGS="@SH_LDFLAGS@"
+SONAME_FLAGS="@SONAME_FLAGS@"
+STATIC_LIBS="@STATIC_LIBS@"
+TERM_LIBS="@TERM_LIBS@"
+UMFPACK_CPPFLAGS="@UMFPACK_CPPFLAGS@"
+UMFPACK_LDFLAGS="@UMFPACK_LDFLAGS@"
+UMFPACK_LIBS="@UMFPACK_LIBS@"
+version="@PACKAGE_VERSION@"
+WARN_CFLAGS="@WARN_CFLAGS@"
+WARN_CXXFLAGS="@WARN_CXXFLAGS@"
+X11_INCFLAGS="@X11_INCFLAGS@"
+X11_LIBS="@X11_LIBS@"
+XTRA_CFLAGS="@XTRA_CFLAGS@"
+XTRA_CXXFLAGS="@XTRA_CXXFLAGS@"
+YACC="@YACC@"
+YFLAGS="@YFLAGS@"
+Z_CPPFLAGS="@Z_CPPFLAGS@"
+Z_LDFLAGS="@Z_LDFLAGS@"
+Z_LIBS="@Z_LIBS@"
 config_opts="@config_opts@"
 
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var NO_OCT_FILE_STRIP
-expand_var bindir
-expand_var AMD_CPPFLAGS
-expand_var AMD_LDFLAGS
-expand_var AMD_LIBS
-expand_var AR
-expand_var ARFLAGS
-expand_var ARPACK_CPPFLAGS
-expand_var ARPACK_LDFLAGS
-expand_var ARPACK_LIBS
-expand_var BLAS_LIBS
-expand_var CAMD_CPPFLAGS
-expand_var CAMD_LDFLAGS
-expand_var CAMD_LIBS
-expand_var CARBON_LIBS
-expand_var CC
-expand_var CCOLAMD_CPPFLAGS
-expand_var CCOLAMD_LDFLAGS
-expand_var CCOLAMD_LIBS
-expand_var CFLAGS
-expand_var CHOLMOD_CPPFLAGS
-expand_var CHOLMOD_LDFLAGS
-expand_var CHOLMOD_LIBS
-expand_var COLAMD_CPPFLAGS
-expand_var COLAMD_LDFLAGS
-expand_var COLAMD_LIBS
-expand_var CPICFLAG
-expand_var CPPFLAGS
-expand_var CURL_CPPFLAGS
-expand_var CURL_LDFLAGS
-expand_var CURL_LIBS
-expand_var CXSPARSE_CPPFLAGS
-expand_var CXSPARSE_LDFLAGS
-expand_var CXSPARSE_LIBS
-expand_var CXX
-expand_var CXXCPP
-expand_var CXXFLAGS
-expand_var CXXPICFLAG
-expand_var DEFAULT_PAGER
-expand_var DEFS
-expand_var DEPEND_FLAGS
-expand_var DEPEND_EXTRA_SED_PATTERN
-expand_var DL_LD
-expand_var DL_LDFLAGS
-expand_var DL_LIBS
-expand_var EXEEXT
-expand_var GCC_VERSION
-expand_var GXX_VERSION
-expand_var F77
-expand_var F77_FLOAT_STORE_FLAG
-expand_var F77_INTEGER_8_FLAG
-expand_var FFLAGS
-expand_var FFTW3_CPPFLAGS
-expand_var FFTW3_LDFLAGS
-expand_var FFTW3_LIBS
-expand_var FFTW3F_CPPFLAGS
-expand_var FFTW3F_LDFLAGS
-expand_var FFTW3F_LIBS
-expand_var FLIBS
-expand_var FLTK_CPPFLAGS
-expand_var FLTK_LDFLAGS
-expand_var FLTK_LIBS
-expand_var FONTCONFIG_CPPFLAGS
-expand_var FONTCONFIG_LIBS
-expand_var FPICFLAG
-expand_var FT2_CPPFLAGS
-expand_var FT2_LIBS
-expand_var GLPK_CPPFLAGS
-expand_var GLPK_LDFLAGS
-expand_var GLPK_LIBS
-expand_var GNUPLOT
-expand_var HDF5_CPPFLAGS
-expand_var HDF5_LDFLAGS
-expand_var HDF5_LIBS
-expand_var includedir
-expand_var LAPACK_LIBS
-expand_var LD_CXX
-expand_var LDFLAGS
-expand_var LD_STATIC_FLAG
-expand_var LEX
-expand_var LEXLIB
-expand_var LFLAGS
-expand_var libdir
-expand_var LIBEXT
-expand_var LIBOCTAVE
-expand_var LIBOCTINTERP
-expand_var LIBS
-expand_var LLVM_CPPFLAGS
-expand_var LLVM_LDFLAGS
-expand_var LLVM_LIBS
-expand_var LN_S
-expand_var MAGICK_CPPFLAGS
-expand_var MAGICK_LDFLAGS
-expand_var MAGICK_LIBS
-expand_var OCTAVE_LINK_DEPS
-expand_var OCTAVE_LINK_OPTS
-expand_var octincludedir
-expand_var octlibdir
-expand_var OCT_LINK_DEPS
-expand_var OCT_LINK_OPTS
-expand_var OPENGL_LIBS
-expand_var OSMESA_CPPFLAGS
-expand_var OSMESA_LDFLAGS
-expand_var OSMESA_LIBS
-expand_var PCRE_CPPFLAGS
-expand_var PCRE_LIBS
-expand_var prefix
-expand_var PTHREAD_CFLAGS
-expand_var PTHREAD_LIBS
-expand_var QHULL_CPPFLAGS
-expand_var QHULL_LDFLAGS
-expand_var QHULL_LIBS
-expand_var QRUPDATE_CPPFLAGS
-expand_var QRUPDATE_LDFLAGS
-expand_var QRUPDATE_LIBS
-expand_var QT_CPPFLAGS
-expand_var QT_LDFLAGS
-expand_var QT_LIBS
-expand_var RANLIB
-expand_var RDYNAMIC_FLAG
-expand_var READLINE_LIBS
-expand_var SED
-expand_var SHARED_LIBS
-expand_var SHLEXT
-expand_var SHLLINKEXT
-expand_var SHLEXT_VER
-expand_var SH_LD
-expand_var SH_LDFLAGS
-expand_var SONAME_FLAGS
-expand_var STATIC_LIBS
-expand_var TERM_LIBS
-expand_var UMFPACK_CPPFLAGS
-expand_var UMFPACK_LDFLAGS
-expand_var UMFPACK_LIBS
-expand_var version
-expand_var WARN_CFLAGS
-expand_var WARN_CXXFLAGS
-expand_var X11_INCFLAGS
-expand_var X11_LIBS
-expand_var XTRA_CFLAGS
-expand_var XTRA_CXXFLAGS
-expand_var YACC
-expand_var YFLAGS
-expand_var Z_CPPFLAGS
-expand_var Z_LDFLAGS
-expand_var Z_LIBS
-expand_var config_opts
-
 $SED \
   -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically by subst-config-vals.|" \
     -e "s|%NO_OCT_FILE_STRIP%|${NO_OCT_FILE_STRIP}|" \
--- a/build-aux/subst-default-vals.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/subst-default-vals.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,112 +20,49 @@
 
 : ${SED=@SED@}
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
-archlibdir='@archlibdir@'
-bindir='@bindir@'
-canonical_host_type='@canonical_host_type@'
-datadir='@datadir@'
-datarootdir='@datarootdir@'
-DEFAULT_PAGER='@DEFAULT_PAGER@'
-doc_cache_file='@doc_cache_file@'
-exec_prefix='@exec_prefix@'
-EXEEXT='@EXEEXT@'
-fcnfiledir='@fcnfiledir@'
-imagedir='@imagedir@'
-includedir='@includedir@'
-infodir='@infodir@'
-infofile='@infofile@'
-libdir='@libdir@'
-libexecdir='@libexecdir@'
-localapifcnfiledir='@localapifcnfiledir@'
-localapioctfiledir='@localapioctfiledir@'
-localarchlibdir='@localarchlibdir@'
-localfcnfiledir='@localfcnfiledir@'
-localoctfiledir='@localoctfiledir@'
-localstartupfiledir='@localstartupfiledir@'
-localapiarchlibdir='@localapiarchlibdir@'
-localverarchlibdir='@localverarchlibdir@'
-localverfcnfiledir='@localverfcnfiledir@'
-localveroctfiledir='@localveroctfiledir@'
-man1dir='@man1dir@'
-man1ext='@man1ext@'
-mandir='@mandir@'
-octdatadir='@octdatadir@'
-octfiledir='@octfiledir@'
-octetcdir='@octetcdir@'
-octincludedir='@octincludedir@'
-octlibdir='@octlibdir@'
-octlocaledir='@octlocaledir@'
-octtestsdir='@octtestsdir@'
-prefix='@prefix@'
-startupfiledir='@startupfiledir@'
-api_version='@OCTAVE_API_VERSION@'
-OCTAVE_RELEASE=''
-SHLEXT='@SHLEXT@'
-texi_macros_file='@texi_macros_file@'
-version='@PACKAGE_VERSION@'
-
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var archlibdir
-expand_var bindir
-expand_var canonical_host_type
-expand_var datadir
-expand_var datarootdir
-expand_var DEFAULT_PAGER
-expand_var doc_cache_file
-expand_var exec_prefix
-expand_var EXEEXT
-expand_var fcnfiledir
-expand_var imagedir
-expand_var includedir
-expand_var infodir
-expand_var infofile
-expand_var libdir
-expand_var libexecdir
-expand_var localapifcnfiledir
-expand_var localapioctfiledir
-expand_var localarchlibdir
-expand_var localfcnfiledir
-expand_var localoctfiledir
-expand_var localstartupfiledir
-expand_var localapiarchlibdir
-expand_var localverarchlibdir
-expand_var localverfcnfiledir
-expand_var localveroctfiledir
-expand_var man1dir
-expand_var man1ext
-expand_var mandir
-expand_var octdatadir
-expand_var octfiledir
-expand_var octetcdir
-expand_var octincludedir
-expand_var octlibdir
-expand_var octlocaledir
-expand_var octtestsdir
-expand_var prefix
-expand_var startupfiledir
-expand_var api_version
-expand_var OCTAVE_RELEASE
-expand_var SHLEXT
-expand_var texi_macros_file
-expand_var version
+archlibdir="@archlibdir@"
+bindir="@bindir@"
+canonical_host_type="@canonical_host_type@"
+datadir="@datadir@"
+datarootdir="@datarootdir@"
+DEFAULT_PAGER="@DEFAULT_PAGER@"
+doc_cache_file="@doc_cache_file@"
+exec_prefix="@exec_prefix@"
+EXEEXT="@EXEEXT@"
+fcnfiledir="@fcnfiledir@"
+imagedir="@imagedir@"
+includedir="@includedir@"
+infodir="@infodir@"
+infofile="@infofile@"
+libdir="@libdir@"
+libexecdir="@libexecdir@"
+localapifcnfiledir="@localapifcnfiledir@"
+localapioctfiledir="@localapioctfiledir@"
+localarchlibdir="@localarchlibdir@"
+localfcnfiledir="@localfcnfiledir@"
+localoctfiledir="@localoctfiledir@"
+localstartupfiledir="@localstartupfiledir@"
+localapiarchlibdir="@localapiarchlibdir@"
+localverarchlibdir="@localverarchlibdir@"
+localverfcnfiledir="@localverfcnfiledir@"
+localveroctfiledir="@localveroctfiledir@"
+man1dir="@man1dir@"
+man1ext="@man1ext@"
+mandir="@mandir@"
+octdatadir="@octdatadir@"
+octfiledir="@octfiledir@"
+octetcdir="@octetcdir@"
+octincludedir="@octincludedir@"
+octlibdir="@octlibdir@"
+octlocaledir="@octlocaledir@"
+octtestsdir="@octtestsdir@"
+prefix="@prefix@"
+startupfiledir="@startupfiledir@"
+api_version="@OCTAVE_API_VERSION@"
+OCTAVE_RELEASE=""
+SHLEXT="@SHLEXT@"
+texi_macros_file="@texi_macros_file@"
+version="@PACKAGE_VERSION@"
 
 $SED \
   -e "s|%NO_EDIT_WARNING%|DO NOT EDIT!  Generated automatically by subst-default-vals.|" \
--- a/build-aux/subst-f77-isnan-macro.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/subst-f77-isnan-macro.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,6 +20,6 @@
 
 : ${SED=@SED@}
 
-F77_ISNAN_MACRO='@F77_ISNAN_MACRO@'
+F77_ISNAN_MACRO="@F77_ISNAN_MACRO@"
 
 $SED -e "${F77_ISNAN_MACRO}"
--- a/build-aux/subst-script-vals.in.sh	Sat Mar 05 08:04:13 2016 -0800
+++ b/build-aux/subst-script-vals.in.sh	Sun Mar 06 13:33:02 2016 -0500
@@ -20,12 +20,6 @@
 
 : ${SED=@SED@}
 
-## Use two steps so that we can interpolate values without having to
-## determine the order in which to set variable values.
-
-## These must use ' so that embedded variables are not interpolated
-## (the values they reference may not be defined before they are used).
-
 AWK="@AWK@"
 FIND="@FIND@"
 SED="@SED@"
@@ -33,26 +27,6 @@
 abs_top_srcdir="@abs_top_srcdir@"
 abs_top_builddir="@abs_top_builddir@"
 
-## These must use " so that embedded variables are interpolated.
-
-## Is there a better way?
-
-function expand_var ()
-{
-  eval tmp="\$$1"
-  while echo "$tmp" | grep '\${[A-Za-z_][A-Za-z0-9_]*}' > /dev/null; do
-    eval tmp="$tmp"
-  done
-  eval $1="\"$tmp\""
-}
-
-expand_var AWK
-expand_var FIND
-expand_var SED
-expand_var ADDRESS_SANITIZER_OPTIONS
-expand_var abs_top_srcdir
-expand_var abs_top_builddir
-
 $SED \
   -e "s|%AWK%|${AWK}|g" \
   -e "s|%FIND%|${FIND}|g" \
--- a/configure.ac	Sat Mar 05 08:04:13 2016 -0800
+++ b/configure.ac	Sun Mar 06 13:33:02 2016 -0500
@@ -83,7 +83,7 @@
 config_opts=$ac_configure_args
 AC_SUBST(config_opts)
 
-### Set default file locations
+## Set default file locations.
 
 ## Where to install and expect libraries like liboctave.a, liboctinterp.a,
 ## and other architecture-dependent data.
@@ -208,7 +208,7 @@
 AC_PROG_MKDIR_P
 
 AC_PROG_INSTALL
-INSTALL_SCRIPT='${INSTALL}'
+INSTALL_SCRIPT="${INSTALL}"
 AC_SUBST(INSTALL_SCRIPT)
 
 OCTAVE_PROG_DESKTOP_FILE_INSTALL
@@ -617,12 +617,12 @@
   BUILD_LDFLAGS=""
   BUILD_EXEEXT=""
 else
-  BUILD_CC='${CC}'
-  BUILD_CFLAGS='${CFLAGS}'
-  BUILD_CXX='${CXX}'
-  BUILD_CXXFLAGS='${CXXFLAGS}'
-  BUILD_LDFLAGS='${LDFLAGS}'
-  BUILD_EXEEXT='${EXEEXT}'
+  BUILD_CC="${CC}"
+  BUILD_CFLAGS="${CFLAGS}"
+  BUILD_CXX="${CXX}"
+  BUILD_CXXFLAGS="${CXXFLAGS}"
+  BUILD_LDFLAGS="${LDFLAGS}"
+  BUILD_EXEEXT="${EXEEXT}"
 fi
 
 AC_ARG_VAR([BUILD_CC],
@@ -1999,24 +1999,24 @@
 CXXPICFLAG=-fPIC
 FPICFLAG=-fPIC
 SHLEXT=so
-SHLLIB='${SHLEXT}'
+SHLLIB="${SHLEXT}"
 SHLBIN=
-SHLEXT_VER='${SHLEXT}.${version}'
-SHLLIB_VER='${SHLLIB}.${version}'
-SHLBIN_VER='${SHLBIN}.${version}'
+SHLEXT_VER="${SHLEXT}.${version}"
+SHLLIB_VER="${SHLLIB}.${version}"
+SHLBIN_VER="${SHLBIN}.${version}"
 SHLLINKEXT=
 LIBPRE=lib
 SHLPRE=lib
 SHLLIBPRE=lib
 SHLBINPRE=lib
-SH_LD='${CXX}'
+SH_LD="${CXX}"
 SH_LDFLAGS=-shared
-DL_LD='${SH_LD}'
-DL_LDFLAGS='${SH_LDFLAGS}'
-MKOCTFILE_DL_LDFLAGS='${DL_LDFLAGS}'
+DL_LD="${SH_LD}"
+DL_LDFLAGS="${SH_LDFLAGS}"
+MKOCTFILE_DL_LDFLAGS="${DL_LDFLAGS}"
 SONAME_FLAGS=
 NO_OCT_FILE_STRIP=false
-TEMPLATE_AR='${AR}'
+TEMPLATE_AR="${AR}"
 TEMPLATE_ARFLAGS="$ARFLAGS"
 CRUFT_DLL_DEFS=
 OCTAVE_DLL_DEFS=
@@ -2054,9 +2054,9 @@
       ;;
     esac
     SHLEXT=dylib
-    SHLLIB='${SHLEXT}'
-    SHLEXT_VER='${version}.${SHLEXT}'
-    SHLLIB_VER='${version}.${SHLLIB}'
+    SHLLIB="${SHLEXT}"
+    SHLEXT_VER="${version}.${SHLEXT}"
+    SHLLIB_VER="${version}.${SHLLIB}"
     NO_OCT_FILE_STRIP=true
     SONAME_FLAGS='-install_name ${octlibdir}/$@'
     library_path_var=DYLD_LIBRARY_PATH
@@ -2207,7 +2207,7 @@
     fi
     ## Template closures in archive libraries need a different mechanism.
     if test "$GXX" != yes; then
-      TEMPLATE_AR='${CXX}'
+      TEMPLATE_AR="${CXX}"
       TEMPLATE_ARFLAGS="-xar -o"
     fi
   ;;
@@ -2308,7 +2308,7 @@
 ## FIXME: A lot of the following duplicates the functionality of
 ## code generated by the dlopen option for LT_INIT.
 
-LD_CXX='${CXX}'
+LD_CXX="${CXX}"
 RDYNAMIC_FLAG=
 DL_API_MSG=""
 dlopen_api=no
@@ -2372,8 +2372,8 @@
   LIBOCTINTERP="-loctinterp$SHLLINKEXT"
   LIBOCTAVE="-loctave$SHLLINKEXT"
 else
-  LIBOCTINTERP='${top_builddir}/libinterp/liboctinterp.${LIBEXT}'
-  LIBOCTAVE='${top_builddir}/liboctave/liboctave.${LIBEXT}'
+  LIBOCTINTERP="${top_builddir}/libinterp/liboctinterp.${LIBEXT}"
+  LIBOCTAVE="${top_builddir}/liboctave/liboctave.${LIBEXT}"
 fi
 
 AC_SUBST(LD_CXX)
@@ -3205,7 +3205,74 @@
 
 AC_OUTPUT_MAKE_DEFS
 
-### Do the substitutions in all the Makefiles.
+AC_CONFIG_COMMANDS_PRE([
+  ## Fully expand all directory variables.  These are normally left
+  ## unexpanded (as explained and recommended by the autoconf manual).
+  ## But we store coniguration info in files and expect whatever
+  ## is set at configure time stay the same when Make is executed.
+  ## Doing things like
+  ##
+  ##   configure --prefix=/some/where
+  ##   make --prefix="/some/where/else
+  ##
+  ## won't work properly and is not allowed when building Octave.
+
+  eval prefix="\"$prefix\""
+  eval exec_prefix="\"$exec_prefix\""
+  eval bindir="\"$bindir\""
+  eval sbindir="\"$sbindir\""
+  eval libexecdir="\"$libexecdir\""
+  eval datarootdir="\"$datarootdir\""
+  eval datadir="\"$datadir\""
+  eval sysconfdir="\"$sysconfdir\""
+  eval sharedstatedir="\"$sharedstatedir\""
+  eval localstatedir="\"$localstatedir\""
+  eval runstatedir="\"$runstatedir\""
+  eval includedir="\"$includedir\""
+  eval oldincludedir="\"$oldincludedir\""
+  eval docdir="\"$docdir\""
+  eval infodir="\"$infodir\""
+  eval htmldir="\"$htmldir\""
+  eval dvidir="\"$dvidir\""
+  eval pdfdir="\"$pdfdir\""
+  eval psdir="\"$psdir\""
+  eval libdir="\"$libdir\""
+  eval localedir="\"$localedir\""
+  eval mandir="\"$mandir\""
+
+  version="$OCTAVE_VERSION"
+  api_version="$OCTAVE_API_VERSION"
+
+  eval octlibdir="\"$octlibdir\""
+  eval archlibdir="\"$archlibdir\""
+  eval localarchlibdir="\"$localarchlibdir\""
+  eval localapiarchlibdir="\"$localapiarchlibdir\""
+  eval localverarchlibdir="\"$localverarchlibdir\""
+  eval octfiledir="\"$octfiledir\""
+  eval localoctfiledir="\"$localoctfiledir\""
+  eval localapioctfiledir="\"$localapioctfiledir\""
+  eval localveroctfiledir="\"$localveroctfiledir\""
+  eval octincludedir="\"$octincludedir\""
+  eval fcnfiledir="\"$fcnfiledir\""
+  eval localfcnfiledir="\"$localfcnfiledir\""
+  eval localapifcnfiledir="\"$localapifcnfiledir\""
+  eval localverfcnfiledir="\"$localverfcnfiledir\""
+  eval octetcdir="\"$octetcdir\""
+  eval octlocaledir="\"$octlocaledir\""
+  eval doc_cache_file="\"$doc_cache_file\""
+  eval octtestsdir="\"$octtestsdir\""
+  eval texi_macros_file="\"$texi_macros_file\""
+  eval imagedir="\"$imagedir\""
+  eval octdatadir="\"$octdatadir\""
+  eval startupfiledir="\"$startupfiledir\""
+  eval localstartupfiledir="\"$localstartupfiledir\""
+  eval man1dir="\"$man1dir\""
+  eval man1ext="\"$man1ext\""
+  eval infofile="\"$infofile\""
+])
+
+### Do the substitutions in Makefiles and other scripts that
+### hold configuration info.
 
 AC_SUBST(ac_config_files)
 AC_SUBST(ac_config_headers)