comparison configure.ac @ 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 7e8a410e6124
children 9773a1c2b55f
comparison
equal deleted inserted replaced
21408:43056b877047 21409:1aa293d58df0
81 ### Make configure args available for other uses. 81 ### Make configure args available for other uses.
82 82
83 config_opts=$ac_configure_args 83 config_opts=$ac_configure_args
84 AC_SUBST(config_opts) 84 AC_SUBST(config_opts)
85 85
86 ### Set default file locations 86 ## Set default file locations.
87 87
88 ## Where to install and expect libraries like liboctave.a, liboctinterp.a, 88 ## Where to install and expect libraries like liboctave.a, liboctinterp.a,
89 ## and other architecture-dependent data. 89 ## and other architecture-dependent data.
90 OCTAVE_SET_DEFAULT([octlibdir], '${libdir}/octave/${version}') 90 OCTAVE_SET_DEFAULT([octlibdir], '${libdir}/octave/${version}')
91 91
206 ## Programs used when installing Octave. 206 ## Programs used when installing Octave.
207 AC_PROG_LN_S 207 AC_PROG_LN_S
208 AC_PROG_MKDIR_P 208 AC_PROG_MKDIR_P
209 209
210 AC_PROG_INSTALL 210 AC_PROG_INSTALL
211 INSTALL_SCRIPT='${INSTALL}' 211 INSTALL_SCRIPT="${INSTALL}"
212 AC_SUBST(INSTALL_SCRIPT) 212 AC_SUBST(INSTALL_SCRIPT)
213 213
214 OCTAVE_PROG_DESKTOP_FILE_INSTALL 214 OCTAVE_PROG_DESKTOP_FILE_INSTALL
215 215
216 ## Programs used when running Octave 216 ## Programs used when running Octave
615 BUILD_CXX="g++" 615 BUILD_CXX="g++"
616 BUILD_CXXFLAGS="-O2 -g" 616 BUILD_CXXFLAGS="-O2 -g"
617 BUILD_LDFLAGS="" 617 BUILD_LDFLAGS=""
618 BUILD_EXEEXT="" 618 BUILD_EXEEXT=""
619 else 619 else
620 BUILD_CC='${CC}' 620 BUILD_CC="${CC}"
621 BUILD_CFLAGS='${CFLAGS}' 621 BUILD_CFLAGS="${CFLAGS}"
622 BUILD_CXX='${CXX}' 622 BUILD_CXX="${CXX}"
623 BUILD_CXXFLAGS='${CXXFLAGS}' 623 BUILD_CXXFLAGS="${CXXFLAGS}"
624 BUILD_LDFLAGS='${LDFLAGS}' 624 BUILD_LDFLAGS="${LDFLAGS}"
625 BUILD_EXEEXT='${EXEEXT}' 625 BUILD_EXEEXT="${EXEEXT}"
626 fi 626 fi
627 627
628 AC_ARG_VAR([BUILD_CC], 628 AC_ARG_VAR([BUILD_CC],
629 [build system C compiler (used if cross compiling)]) 629 [build system C compiler (used if cross compiling)])
630 AC_ARG_VAR([BUILD_CFLAGS], 630 AC_ARG_VAR([BUILD_CFLAGS],
1997 1997
1998 CPICFLAG=-fPIC 1998 CPICFLAG=-fPIC
1999 CXXPICFLAG=-fPIC 1999 CXXPICFLAG=-fPIC
2000 FPICFLAG=-fPIC 2000 FPICFLAG=-fPIC
2001 SHLEXT=so 2001 SHLEXT=so
2002 SHLLIB='${SHLEXT}' 2002 SHLLIB="${SHLEXT}"
2003 SHLBIN= 2003 SHLBIN=
2004 SHLEXT_VER='${SHLEXT}.${version}' 2004 SHLEXT_VER="${SHLEXT}.${version}"
2005 SHLLIB_VER='${SHLLIB}.${version}' 2005 SHLLIB_VER="${SHLLIB}.${version}"
2006 SHLBIN_VER='${SHLBIN}.${version}' 2006 SHLBIN_VER="${SHLBIN}.${version}"
2007 SHLLINKEXT= 2007 SHLLINKEXT=
2008 LIBPRE=lib 2008 LIBPRE=lib
2009 SHLPRE=lib 2009 SHLPRE=lib
2010 SHLLIBPRE=lib 2010 SHLLIBPRE=lib
2011 SHLBINPRE=lib 2011 SHLBINPRE=lib
2012 SH_LD='${CXX}' 2012 SH_LD="${CXX}"
2013 SH_LDFLAGS=-shared 2013 SH_LDFLAGS=-shared
2014 DL_LD='${SH_LD}' 2014 DL_LD="${SH_LD}"
2015 DL_LDFLAGS='${SH_LDFLAGS}' 2015 DL_LDFLAGS="${SH_LDFLAGS}"
2016 MKOCTFILE_DL_LDFLAGS='${DL_LDFLAGS}' 2016 MKOCTFILE_DL_LDFLAGS="${DL_LDFLAGS}"
2017 SONAME_FLAGS= 2017 SONAME_FLAGS=
2018 NO_OCT_FILE_STRIP=false 2018 NO_OCT_FILE_STRIP=false
2019 TEMPLATE_AR='${AR}' 2019 TEMPLATE_AR="${AR}"
2020 TEMPLATE_ARFLAGS="$ARFLAGS" 2020 TEMPLATE_ARFLAGS="$ARFLAGS"
2021 CRUFT_DLL_DEFS= 2021 CRUFT_DLL_DEFS=
2022 OCTAVE_DLL_DEFS= 2022 OCTAVE_DLL_DEFS=
2023 OCTINTERP_DLL_DEFS= 2023 OCTINTERP_DLL_DEFS=
2024 OCTGUI_DLL_DEFS= 2024 OCTGUI_DLL_DEFS=
2052 CPICFLAG= 2052 CPICFLAG=
2053 FPICFLAG= 2053 FPICFLAG=
2054 ;; 2054 ;;
2055 esac 2055 esac
2056 SHLEXT=dylib 2056 SHLEXT=dylib
2057 SHLLIB='${SHLEXT}' 2057 SHLLIB="${SHLEXT}"
2058 SHLEXT_VER='${version}.${SHLEXT}' 2058 SHLEXT_VER="${version}.${SHLEXT}"
2059 SHLLIB_VER='${version}.${SHLLIB}' 2059 SHLLIB_VER="${version}.${SHLLIB}"
2060 NO_OCT_FILE_STRIP=true 2060 NO_OCT_FILE_STRIP=true
2061 SONAME_FLAGS='-install_name ${octlibdir}/$@' 2061 SONAME_FLAGS='-install_name ${octlibdir}/$@'
2062 library_path_var=DYLD_LIBRARY_PATH 2062 library_path_var=DYLD_LIBRARY_PATH
2063 ;; 2063 ;;
2064 *-*-cygwin*) 2064 *-*-cygwin*)
2205 CXXPICFLAG=-KPIC 2205 CXXPICFLAG=-KPIC
2206 SH_LDFLAGS=-G 2206 SH_LDFLAGS=-G
2207 fi 2207 fi
2208 ## Template closures in archive libraries need a different mechanism. 2208 ## Template closures in archive libraries need a different mechanism.
2209 if test "$GXX" != yes; then 2209 if test "$GXX" != yes; then
2210 TEMPLATE_AR='${CXX}' 2210 TEMPLATE_AR="${CXX}"
2211 TEMPLATE_ARFLAGS="-xar -o" 2211 TEMPLATE_ARFLAGS="-xar -o"
2212 fi 2212 fi
2213 ;; 2213 ;;
2214 esac 2214 esac
2215 2215
2306 ## libs and some API for dynamic linking has been detected. 2306 ## libs and some API for dynamic linking has been detected.
2307 2307
2308 ## FIXME: A lot of the following duplicates the functionality of 2308 ## FIXME: A lot of the following duplicates the functionality of
2309 ## code generated by the dlopen option for LT_INIT. 2309 ## code generated by the dlopen option for LT_INIT.
2310 2310
2311 LD_CXX='${CXX}' 2311 LD_CXX="${CXX}"
2312 RDYNAMIC_FLAG= 2312 RDYNAMIC_FLAG=
2313 DL_API_MSG="" 2313 DL_API_MSG=""
2314 dlopen_api=no 2314 dlopen_api=no
2315 shl_load_api=no 2315 shl_load_api=no
2316 loadlibrary_api=no 2316 loadlibrary_api=no
2370 2370
2371 if test $SHARED_LIBS = yes; then 2371 if test $SHARED_LIBS = yes; then
2372 LIBOCTINTERP="-loctinterp$SHLLINKEXT" 2372 LIBOCTINTERP="-loctinterp$SHLLINKEXT"
2373 LIBOCTAVE="-loctave$SHLLINKEXT" 2373 LIBOCTAVE="-loctave$SHLLINKEXT"
2374 else 2374 else
2375 LIBOCTINTERP='${top_builddir}/libinterp/liboctinterp.${LIBEXT}' 2375 LIBOCTINTERP="${top_builddir}/libinterp/liboctinterp.${LIBEXT}"
2376 LIBOCTAVE='${top_builddir}/liboctave/liboctave.${LIBEXT}' 2376 LIBOCTAVE="${top_builddir}/liboctave/liboctave.${LIBEXT}"
2377 fi 2377 fi
2378 2378
2379 AC_SUBST(LD_CXX) 2379 AC_SUBST(LD_CXX)
2380 AC_SUBST(RDYNAMIC_FLAG) 2380 AC_SUBST(RDYNAMIC_FLAG)
2381 AC_SUBST(ENABLE_DYNAMIC_LINKING) 2381 AC_SUBST(ENABLE_DYNAMIC_LINKING)
3203 ### This must reside at the bottom of configure.ac after all AC_DEFINES 3203 ### This must reside at the bottom of configure.ac after all AC_DEFINES
3204 ### have been made. 3204 ### have been made.
3205 3205
3206 AC_OUTPUT_MAKE_DEFS 3206 AC_OUTPUT_MAKE_DEFS
3207 3207
3208 ### Do the substitutions in all the Makefiles. 3208 AC_CONFIG_COMMANDS_PRE([
3209 ## Fully expand all directory variables. These are normally left
3210 ## unexpanded (as explained and recommended by the autoconf manual).
3211 ## But we store coniguration info in files and expect whatever
3212 ## is set at configure time stay the same when Make is executed.
3213 ## Doing things like
3214 ##
3215 ## configure --prefix=/some/where
3216 ## make --prefix="/some/where/else
3217 ##
3218 ## won't work properly and is not allowed when building Octave.
3219
3220 eval prefix="\"$prefix\""
3221 eval exec_prefix="\"$exec_prefix\""
3222 eval bindir="\"$bindir\""
3223 eval sbindir="\"$sbindir\""
3224 eval libexecdir="\"$libexecdir\""
3225 eval datarootdir="\"$datarootdir\""
3226 eval datadir="\"$datadir\""
3227 eval sysconfdir="\"$sysconfdir\""
3228 eval sharedstatedir="\"$sharedstatedir\""
3229 eval localstatedir="\"$localstatedir\""
3230 eval runstatedir="\"$runstatedir\""
3231 eval includedir="\"$includedir\""
3232 eval oldincludedir="\"$oldincludedir\""
3233 eval docdir="\"$docdir\""
3234 eval infodir="\"$infodir\""
3235 eval htmldir="\"$htmldir\""
3236 eval dvidir="\"$dvidir\""
3237 eval pdfdir="\"$pdfdir\""
3238 eval psdir="\"$psdir\""
3239 eval libdir="\"$libdir\""
3240 eval localedir="\"$localedir\""
3241 eval mandir="\"$mandir\""
3242
3243 version="$OCTAVE_VERSION"
3244 api_version="$OCTAVE_API_VERSION"
3245
3246 eval octlibdir="\"$octlibdir\""
3247 eval archlibdir="\"$archlibdir\""
3248 eval localarchlibdir="\"$localarchlibdir\""
3249 eval localapiarchlibdir="\"$localapiarchlibdir\""
3250 eval localverarchlibdir="\"$localverarchlibdir\""
3251 eval octfiledir="\"$octfiledir\""
3252 eval localoctfiledir="\"$localoctfiledir\""
3253 eval localapioctfiledir="\"$localapioctfiledir\""
3254 eval localveroctfiledir="\"$localveroctfiledir\""
3255 eval octincludedir="\"$octincludedir\""
3256 eval fcnfiledir="\"$fcnfiledir\""
3257 eval localfcnfiledir="\"$localfcnfiledir\""
3258 eval localapifcnfiledir="\"$localapifcnfiledir\""
3259 eval localverfcnfiledir="\"$localverfcnfiledir\""
3260 eval octetcdir="\"$octetcdir\""
3261 eval octlocaledir="\"$octlocaledir\""
3262 eval doc_cache_file="\"$doc_cache_file\""
3263 eval octtestsdir="\"$octtestsdir\""
3264 eval texi_macros_file="\"$texi_macros_file\""
3265 eval imagedir="\"$imagedir\""
3266 eval octdatadir="\"$octdatadir\""
3267 eval startupfiledir="\"$startupfiledir\""
3268 eval localstartupfiledir="\"$localstartupfiledir\""
3269 eval man1dir="\"$man1dir\""
3270 eval man1ext="\"$man1ext\""
3271 eval infofile="\"$infofile\""
3272 ])
3273
3274 ### Do the substitutions in Makefiles and other scripts that
3275 ### hold configuration info.
3209 3276
3210 AC_SUBST(ac_config_files) 3277 AC_SUBST(ac_config_files)
3211 AC_SUBST(ac_config_headers) 3278 AC_SUBST(ac_config_headers)
3212 3279
3213 AC_CONFIG_FILES([ 3280 AC_CONFIG_FILES([