|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl/*D
|
|
Packit Service |
c5cf8c |
dnl AC_CACHE_LOAD - Replacement for autoconf cache load
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Notes:
|
|
Packit Service |
c5cf8c |
dnl Caching in autoconf is broken (at least through version 2.13).
|
|
Packit Service |
c5cf8c |
dnl The problem is that the cache is read
|
|
Packit Service |
c5cf8c |
dnl without any check for whether it makes any sense to read it.
|
|
Packit Service |
c5cf8c |
dnl A common problem is a build on a shared file system; connecting to
|
|
Packit Service |
c5cf8c |
dnl a different computer and then building within the same directory will
|
|
Packit Service |
c5cf8c |
dnl lead to at best error messages from configure and at worse a build that
|
|
Packit Service |
c5cf8c |
dnl is wrong but fails only at run time (e.g., wrong datatype sizes used).
|
|
Packit Service |
c5cf8c |
dnl Later versions of autoconf do include some checks for changes in the
|
|
Packit Service |
c5cf8c |
dnl environment that impact the choices, but still misses problems with
|
|
Packit Service |
c5cf8c |
dnl multiple different systems.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl This fixes that by requiring the user to explicitly enable caching
|
|
Packit Service |
c5cf8c |
dnl before the cache file will be loaded.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl To use this version of 'AC_CACHE_LOAD', you need to include
|
|
Packit Service |
c5cf8c |
dnl 'aclocal_cache.m4' in your 'aclocal.m4' file. The sowing 'aclocal.m4'
|
|
Packit Service |
c5cf8c |
dnl file includes this file.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl If no --enable-cache or --disable-cache option is selected, the
|
|
Packit Service |
c5cf8c |
dnl command causes configure to keep track of the system being configured
|
|
Packit Service |
c5cf8c |
dnl in a config.system file; if the current system matches the value stored
|
|
Packit Service |
c5cf8c |
dnl in that file (or there is neither a config.cache nor config.system file),
|
|
Packit Service |
c5cf8c |
dnl configure will enable caching. In order to ensure that the configure
|
|
Packit Service |
c5cf8c |
dnl tests make sense, the values of CC, F77, F90, and CXX are also included
|
|
Packit Service |
c5cf8c |
dnl in the config.system file. In addition, the value of PATH is included
|
|
Packit Service |
c5cf8c |
dnl to ensure that changes in the PATH that might select a different version
|
|
Packit Service |
c5cf8c |
dnl of a program with the same name (such as a native make versus gnumake)
|
|
Packit Service |
c5cf8c |
dnl are detected.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Bugs:
|
|
Packit Service |
c5cf8c |
dnl This does not work with the Cygnus configure because the enable arguments
|
|
Packit Service |
c5cf8c |
dnl are processed *after* AC_CACHE_LOAD (!). To address this, we avoid
|
|
Packit Service |
c5cf8c |
dnl changing the value of enable_cache, and use real_enable_cache, duplicating
|
|
Packit Service |
c5cf8c |
dnl the "notgiven" value.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl The environment variable CONFIGURE_DEBUG_CACHE, if set to yes,
|
|
Packit Service |
c5cf8c |
dnl will cause additional data to be written out during the configure process.
|
|
Packit Service |
c5cf8c |
dnl This can be helpful in debugging the cache file process.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl See Also:
|
|
Packit Service |
c5cf8c |
dnl PAC_ARG_CACHING
|
|
Packit Service |
c5cf8c |
dnl D*/
|
|
Packit Service |
c5cf8c |
define([AC_CACHE_LOAD],
|
|
Packit Service |
c5cf8c |
[if test "$CONFIGURE_DEBUG_CACHE" = yes ; then
|
|
Packit Service |
c5cf8c |
oldopts="$-"
|
|
Packit Service |
c5cf8c |
clearMinusX=no
|
|
Packit Service |
c5cf8c |
set -x
|
|
Packit Service |
c5cf8c |
if test "$oldopts" != "$-" ; then
|
|
Packit Service |
c5cf8c |
clearMinusX=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "X$cache_system" = "X" ; then
|
|
Packit Service |
c5cf8c |
# A default file name, just in case
|
|
Packit Service |
c5cf8c |
cache_system="config.system"
|
|
Packit Service |
c5cf8c |
if test "$cache_file" != "/dev/null" ; then
|
|
Packit Service |
c5cf8c |
# Get the directory for the cache file, if any
|
|
Packit Service |
c5cf8c |
changequote(,)
|
|
Packit Service |
c5cf8c |
dnl Be careful to ensure that there is no doubled slash
|
|
Packit Service |
c5cf8c |
cache_system=`echo $cache_file | sed -e 's%^\(.*/\)[^/]*%\1config.system%'`
|
|
Packit Service |
c5cf8c |
changequote([,])
|
|
Packit Service |
c5cf8c |
test "x$cache_system" = "x$cache_file" && cache_system="config.system"
|
|
Packit Service |
c5cf8c |
# else
|
|
Packit Service |
c5cf8c |
# We must *not* set enable_cache to no because we need to know if
|
|
Packit Service |
c5cf8c |
# enable_cache was not set.
|
|
Packit Service |
c5cf8c |
# enable_cache=no
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl The "action-if-not-given" part of AC_ARG_ENABLE is not executed until
|
|
Packit Service |
c5cf8c |
dnl after the AC_CACHE_LOAD is executed (!). Thus, the value of
|
|
Packit Service |
c5cf8c |
dnl enable_cache if neither --enable-cache or --disable-cache is selected
|
|
Packit Service |
c5cf8c |
dnl is null. Just in case autoconf ever fixes this, we test both cases.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Include PATH in the cache.system file since changing the path can
|
|
Packit Service |
c5cf8c |
dnl change which versions of programs are found (such as vendor make
|
|
Packit Service |
c5cf8c |
dnl or GNU make).
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# Get a test value and flag whether we should remove/replace the
|
|
Packit Service |
c5cf8c |
# cache_system file (do so unless cache_system_ok is yes)
|
|
Packit Service |
c5cf8c |
# FC and F77 should be synonyms. Save both in case
|
|
Packit Service |
c5cf8c |
# We include the xxxFLAGS in case the user is using the flags to change
|
|
Packit Service |
c5cf8c |
# the language (either input or output) of the compiler. E.g.,
|
|
Packit Service |
c5cf8c |
# using -xarch=v9 on Solaris to select 64 bit output or using -D_BSD_SOURCE
|
|
Packit Service |
c5cf8c |
# with gcc to get different header files on input.
|
|
Packit Service |
c5cf8c |
cleanargs=`echo "$CC $F77 $FC $CXX $F90 $CFLAGS $FFLAGS $CXXFLAGS $F90FLAGS $PATH" | tr '"' ' '`
|
|
Packit Service |
c5cf8c |
if uname -srm >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
cache_system_text="`uname -srm` $cleanargs"
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
cache_system_text="-no-uname- $cleanargs"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
cache_system_ok=no
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
if test -z "$real_enable_cache" ; then
|
|
Packit Service |
c5cf8c |
real_enable_cache=$enable_cache
|
|
Packit Service |
c5cf8c |
if test -z "$real_enable_cache" ; then real_enable_cache="notgiven" ; fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "X$real_enable_cache" = "Xnotgiven" ; then
|
|
Packit Service |
c5cf8c |
# check for valid cache file
|
|
Packit Service |
c5cf8c |
if test -z "$cache_system" ; then cache_system="config.system" ; fi
|
|
Packit Service |
c5cf8c |
if uname -srm >/dev/null 2>&1 ; then
|
|
Packit Service |
c5cf8c |
if test -f "$cache_system" -a -n "$cache_system_text" ; then
|
|
Packit Service |
c5cf8c |
if test "$cache_system_text" = "`cat $cache_system`" ; then
|
|
Packit Service |
c5cf8c |
real_enable_cache="yes"
|
|
Packit Service |
c5cf8c |
cache_system_ok=yes
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
elif test ! -f "$cache_system" -a -n "$cache_system_text" ; then
|
|
Packit Service |
c5cf8c |
# remove the cache file because it may not correspond to our
|
|
Packit Service |
c5cf8c |
# system
|
|
Packit Service |
c5cf8c |
if test "$cache_file" != "/dev/null" ; then
|
|
Packit Service |
c5cf8c |
rm -f $cache_file
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
real_enable_cache="yes"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "X$real_enable_cache" = "Xyes" -a "$cache_file" = "/dev/null" ; then
|
|
Packit Service |
c5cf8c |
real_enable_cache=no
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "X$real_enable_cache" = "Xyes" ; then
|
|
Packit Service |
c5cf8c |
if test -r "$cache_file" ; then
|
|
Packit Service |
c5cf8c |
echo "loading cache $cache_file"
|
|
Packit Service |
c5cf8c |
if test -w "$cache_file" ; then
|
|
Packit Service |
c5cf8c |
# Clean the cache file (ergh)
|
|
Packit Service |
c5cf8c |
PAC_CACHE_CLEAN
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
. $cache_file
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "Configure in `pwd` creating cache $cache_file"
|
|
Packit Service |
c5cf8c |
> $cache_file
|
|
Packit Service |
c5cf8c |
rm -f $cache_system
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
cache_file="/dev/null"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
# Remember our location and the name of the cachefile
|
|
Packit Service |
c5cf8c |
pac_cv_my_conf_dir=`pwd`
|
|
Packit Service |
c5cf8c |
dnl do not include the cachefile name, since this may contain the process
|
|
Packit Service |
c5cf8c |
dnl number and cause comparisons looking for changes to the cache file
|
|
Packit Service |
c5cf8c |
dnl to detect a change that isn't real.
|
|
Packit Service |
c5cf8c |
dnl pac_cv_my_cachefile=$cachefile
|
|
Packit Service |
c5cf8c |
#
|
|
Packit Service |
c5cf8c |
# Update the cache_system file if necessary
|
|
Packit Service |
c5cf8c |
if test "$cache_system_ok" != yes ; then
|
|
Packit Service |
c5cf8c |
if test -n "$cache_system" ; then
|
|
Packit Service |
c5cf8c |
rm -f $cache_system
|
|
Packit Service |
c5cf8c |
echo $cache_system_text > $cache_system
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "$clearMinusX" = yes ; then
|
|
Packit Service |
c5cf8c |
set +x
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl/*D
|
|
Packit Service |
c5cf8c |
dnl PAC_ARG_CACHING - Enable caching of results from a configure execution
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Synopsis:
|
|
Packit Service |
c5cf8c |
dnl PAC_ARG_CACHING
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Output Effects:
|
|
Packit Service |
c5cf8c |
dnl Adds '--enable-cache' and '--disable-cache' to the command line arguments
|
|
Packit Service |
c5cf8c |
dnl accepted by 'configure'.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl See Also:
|
|
Packit Service |
c5cf8c |
dnl AC_CACHE_LOAD
|
|
Packit Service |
c5cf8c |
dnl D*/
|
|
Packit Service |
c5cf8c |
dnl Add this call to the other ARG_ENABLE calls. Note that the values
|
|
Packit Service |
c5cf8c |
dnl set here are redundant; the LOAD_CACHE call relies on the way autoconf
|
|
Packit Service |
c5cf8c |
dnl initially processes ARG_ENABLE commands.
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_ARG_CACHING],[
|
|
Packit Service |
c5cf8c |
AC_ARG_ENABLE(cache,
|
|
Packit Service |
c5cf8c |
AC_HELP_STRING([--enable-cache], [Turn on configure caching]),,
|
|
Packit Service |
c5cf8c |
[enable_cache="notgiven"])
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
dnl Clean the cache of extraneous quotes that AC_CACHE_SAVE may add
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_CACHE_CLEAN],[
|
|
Packit Service |
c5cf8c |
rm -f confcache
|
|
Packit Service |
c5cf8c |
sed -e "s/'\\\\''//g" -e "s/'\\\\/'/" -e "s/\\\\'/'/" \
|
|
Packit Service |
c5cf8c |
-e "s/'\\\\''//g" $cache_file > confcache
|
|
Packit Service |
c5cf8c |
if cmp -s $cache_file confcache ; then
|
|
Packit Service |
c5cf8c |
:
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
if test -w $cache_file ; then
|
|
Packit Service |
c5cf8c |
echo "updating cache $cache_file"
|
|
Packit Service |
c5cf8c |
cat confcache > $cache_file
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "not updating unwritable cache $cache_file"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
rm -f confcache
|
|
Packit Service |
c5cf8c |
if test "$DEBUG_AUTOCONF_CACHE" = "yes" ; then
|
|
Packit Service |
c5cf8c |
echo "Results of cleaned cache file:"
|
|
Packit Service |
c5cf8c |
echo "--------------------------------------------------------"
|
|
Packit Service |
c5cf8c |
cat $cache_file
|
|
Packit Service |
c5cf8c |
echo "--------------------------------------------------------"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
dnl/*D
|
|
Packit Service |
c5cf8c |
dnl PAC_SUBDIR_CACHE - Create a cache file before ac_output for subdirectory
|
|
Packit Service |
c5cf8c |
dnl configures.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Synopsis:
|
|
Packit Service |
c5cf8c |
dnl PAC_SUBDIR_CACHE(when)
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Input Parameter:
|
|
Packit Service |
c5cf8c |
dnl . when - Indicates when the cache should be created (optional)
|
|
Packit Service |
c5cf8c |
dnl If 'always', create a new cache file. This option
|
|
Packit Service |
c5cf8c |
dnl should be used if any of the cache parameters (such as
|
|
Packit Service |
c5cf8c |
dnl CFLAGS or LDFLAGS) may have changed.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Output Effects:
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl Create a cache file before ac_output so that subdir configures don't
|
|
Packit Service |
c5cf8c |
dnl make mistakes.
|
|
Packit Service |
c5cf8c |
dnl We can't use OUTPUT_COMMANDS to remove the cache file, because those
|
|
Packit Service |
c5cf8c |
dnl commands are executed *before* the subdir configures.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl D*/
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_SUBDIR_CACHE],[])
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_SUBDIR_CACHE_OLD],[
|
|
Packit Service |
c5cf8c |
if test "x$1" = "xalways" -o \( "$cache_file" = "/dev/null" -a "X$real_enable_cache" = "Xnotgiven" \) ; then
|
|
Packit Service |
c5cf8c |
# Use an absolute directory to help keep the subdir configures from getting
|
|
Packit Service |
c5cf8c |
# lost
|
|
Packit Service |
c5cf8c |
cache_file=`pwd`/$$conf.cache
|
|
Packit Service |
c5cf8c |
touch $cache_file
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl For Autoconf 2.52+, we should ensure that the environment is set
|
|
Packit Service |
c5cf8c |
dnl for the cache. Make sure that we get the values and set the
|
|
Packit Service |
c5cf8c |
dnl xxx_set variables properly
|
|
Packit Service |
c5cf8c |
ac_cv_env_CC_set=set
|
|
Packit Service |
c5cf8c |
ac_cv_env_CC_value=$CC
|
|
Packit Service |
c5cf8c |
ac_cv_env_CFLAGS_set=${CFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_CFLAGS_value=$CFLAGS
|
|
Packit Service |
c5cf8c |
ac_cv_env_CPP_set=set
|
|
Packit Service |
c5cf8c |
ac_cv_env_CPP_value=$CPP
|
|
Packit Service |
c5cf8c |
ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_CPPFLAGS_value=$CPPFLAGS
|
|
Packit Service |
c5cf8c |
ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_LDFLAGS_value=$LDFLAGS
|
|
Packit Service |
c5cf8c |
ac_cv_env_LIBS_set=${LIBS+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_LIBS_value=$LIBS
|
|
Packit Service |
c5cf8c |
ac_cv_env_FC_set=${FC+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_FC_value=$FC
|
|
Packit Service |
c5cf8c |
ac_cv_env_F77_set=${F77+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_F77_value=$F77
|
|
Packit Service |
c5cf8c |
ac_cv_env_F90_set=${F90+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_F90_value=$F90
|
|
Packit Service |
c5cf8c |
ac_cv_env_FFLAGS_set=${FFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_FFLAGS_value=$FFLAGS
|
|
Packit Service |
c5cf8c |
ac_cv_env_CXX_set=${CXX+set}
|
|
Packit Service |
c5cf8c |
ac_cv_env_CXX_value=$CXX
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
ac_env_CC_set=set
|
|
Packit Service |
c5cf8c |
ac_env_CC_value=$CC
|
|
Packit Service |
c5cf8c |
ac_env_CFLAGS_set=${CFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_env_CFLAGS_value=$CFLAGS
|
|
Packit Service |
c5cf8c |
ac_env_CPP_set=set
|
|
Packit Service |
c5cf8c |
ac_env_CPP_value=$CPP
|
|
Packit Service |
c5cf8c |
ac_env_CPPFLAGS_set=${CPPFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_env_CPPFLAGS_value=$CPPFLAGS
|
|
Packit Service |
c5cf8c |
ac_env_LDFLAGS_set=${LDFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_env_LDFLAGS_value=$LDFLAGS
|
|
Packit Service |
c5cf8c |
ac_env_LIBS_set=${LIBS+set}
|
|
Packit Service |
c5cf8c |
ac_env_LIBS_value=$LIBS
|
|
Packit Service |
c5cf8c |
ac_env_FC_set=${FC+set}
|
|
Packit Service |
c5cf8c |
ac_env_FC_value=$FC
|
|
Packit Service |
c5cf8c |
ac_env_F77_set=${F77+set}
|
|
Packit Service |
c5cf8c |
ac_env_F77_value=$F77
|
|
Packit Service |
c5cf8c |
ac_env_F90_set=${F90+set}
|
|
Packit Service |
c5cf8c |
ac_env_F90_value=$F90
|
|
Packit Service |
c5cf8c |
ac_env_FFLAGS_set=${FFLAGS+set}
|
|
Packit Service |
c5cf8c |
ac_env_FFLAGS_value=$FFLAGS
|
|
Packit Service |
c5cf8c |
ac_env_CXX_set=${CXX+set}
|
|
Packit Service |
c5cf8c |
ac_env_CXX_value=$CXX
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
dnl other parameters are
|
|
Packit Service |
c5cf8c |
dnl build_alias, host_alias, target_alias
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
# It turns out that A C CACHE_SAVE can't be invoked more than once
|
|
Packit Service |
c5cf8c |
# with data that contains blanks. What happens is that the quotes
|
|
Packit Service |
c5cf8c |
# that it adds get quoted and then added again. To avoid this,
|
|
Packit Service |
c5cf8c |
# we strip off the outer quotes for all cached variables
|
|
Packit Service |
c5cf8c |
dnl We add pac_cv_my_conf_dir to give the source of this cachefile,
|
|
Packit Service |
c5cf8c |
dnl and pac_cv_my_cachefile to indicate how it chose the cachefile.
|
|
Packit Service |
c5cf8c |
pac_cv_my_conf_dir=`pwd`
|
|
Packit Service |
c5cf8c |
pac_cv_my_cachefile=$cachefile
|
|
Packit Service |
c5cf8c |
AC_CACHE_SAVE
|
|
Packit Service |
c5cf8c |
PAC_CACHE_CLEAN
|
|
Packit Service |
c5cf8c |
ac_configure_args="$ac_configure_args -enable-cache"
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
dnl Unconditionally export these values. Subdir configures break otherwise
|
|
Packit Service |
c5cf8c |
export CC
|
|
Packit Service |
c5cf8c |
export CFLAGS
|
|
Packit Service |
c5cf8c |
export LDFLAGS
|
|
Packit Service |
c5cf8c |
export LIBS
|
|
Packit Service |
c5cf8c |
export CPPFLAGS
|
|
Packit Service |
c5cf8c |
export CPP
|
|
Packit Service |
c5cf8c |
export FC
|
|
Packit Service |
c5cf8c |
export F77
|
|
Packit Service |
c5cf8c |
export F90
|
|
Packit Service |
c5cf8c |
export CXX
|
|
Packit Service |
c5cf8c |
export FFLAGS
|
|
Packit Service |
c5cf8c |
export CCFLAGS
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_SUBDIR_CACHE_CLEANUP],[])
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_SUBDIR_CACHE_CLEANUP_OLD],[
|
|
Packit Service |
c5cf8c |
if test "$cache_file" != "/dev/null" -a "X$real_enable_cache" = "Xnotgiven" ; then
|
|
Packit Service |
c5cf8c |
rm -f $cache_file
|
|
Packit Service |
c5cf8c |
cache_file=/dev/null
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
dnl The following three macros support the sharing of configure results
|
|
Packit Service |
c5cf8c |
dnl by configure scripts, including ones that are not run with
|
|
Packit Service |
c5cf8c |
dnl AC_CONFIG_SUBDIRS (the cachefiles managed by --enable-cache can
|
|
Packit Service |
c5cf8c |
dnl only be used with AC_CONFIG_SUBDIRS; creating a autoconf-style
|
|
Packit Service |
c5cf8c |
dnl cachefile before the the end of the autoconf process will often
|
|
Packit Service |
c5cf8c |
dnl cause problems.
|
|
Packit Service |
c5cf8c |
dnl
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_CREATE_BASE_CACHE],[
|
|
Packit Service |
c5cf8c |
AC_ARG_ENABLE(base-cache,
|
|
Packit Service |
c5cf8c |
AC_HELP_STRING([--enable-base-cache],
|
|
Packit Service |
c5cf8c |
[Enable the use of a simple cache for the subsidiary
|
|
Packit Service |
c5cf8c |
configure scripts]),,enable_base_cache=default)
|
|
Packit Service |
c5cf8c |
# The default case is controlled by the environment variable CONF_USE_CACHEFILE
|
|
Packit Service |
c5cf8c |
if test "$enable_base_cache" = "default" ; then
|
|
Packit Service |
c5cf8c |
if test "$CONF_USE_CACHEFILE" = yes ; then
|
|
Packit Service |
c5cf8c |
enable_base_cache=yes
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
enable_base_cache=no
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
if test "$enable_base_cache" != no ; then
|
|
Packit Service |
c5cf8c |
if test "$enable_base_cache" = yes ; then
|
|
Packit Service |
c5cf8c |
basecachefile=`pwd`/cache.base
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
basecachefile=`pwd`/$enable_base_cache
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
set | grep ac_cv > $basecachefile
|
|
Packit Service |
c5cf8c |
# Tell other configures to load this file
|
|
Packit Service |
c5cf8c |
echo "Creating and exporting the base cache file $basecachefile"
|
|
Packit Service |
c5cf8c |
CONF_BASE_CACHEFILE=$basecachefile
|
|
Packit Service |
c5cf8c |
export CONF_BASE_CACHEFILE
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_LOAD_BASE_CACHE],[
|
|
Packit Service |
c5cf8c |
if test -n "$CONF_BASE_CACHEFILE" -a -s "$CONF_BASE_CACHEFILE" ; then
|
|
Packit Service |
c5cf8c |
echo "Loading base cachefile $CONF_BASE_CACHEFILE"
|
|
Packit Service |
c5cf8c |
. $CONF_BASE_CACHEFILE
|
|
Packit Service |
c5cf8c |
export CONF_BASE_CACHEFILE
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|
|
Packit Service |
c5cf8c |
AC_DEFUN([PAC_UPDATE_BASE_CACHE],[
|
|
Packit Service |
c5cf8c |
if test -n "$CONF_BASE_CACHEFILE" -a -s "$CONF_BASE_CACHEFILE" ; then
|
|
Packit Service |
c5cf8c |
set | grep ac_cv > $CONF_BASE_CACHEFILE.new
|
|
Packit Service |
c5cf8c |
if cmp -s $CONF_BASE_CACHEFILE.new $CONF_BASE_CACHEFILE ; then
|
|
Packit Service |
c5cf8c |
:
|
|
Packit Service |
c5cf8c |
else
|
|
Packit Service |
c5cf8c |
echo "Replacing $CONF_BASE_CACHEFILE"
|
|
Packit Service |
c5cf8c |
mv $CONF_BASE_CACHEFILE.new $CONF_BASE_CACHEFILE
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
fi
|
|
Packit Service |
c5cf8c |
])
|