# config.status is removed.
#
-progname=$0
+# Remove any leading "." elements from the path name. When this
+# script is invoked from the config.status script, a new ./ gets added
+# to the the front of the path, resulting in a "././" prefix. That
+# prefix is then recorded in the resulting config.status file, so
+# basically each time config.status is used, it prepends another "./"
+# to the filename. This wouldn't be a problem, except that since
+# progname gets recorded in all the Makefiles this script produces,
+# move-if-changed thinks they're different when they're not.
+progname="`echo $0 | sed 's:^\(\./\)*::'`"
short_usage="Type \`${progname} -usage' for more information about options."
window_system=""
have_x_menu=""
+# Record all the arguments, so we can save them in config.status.
+arguments="$*"
+
echo "Examining options."
while [ $# != 0 ]; do
arg="$1"
esac
sed_flags="${sed_flags} ${f}"
done
-rm -f src/config.h
-eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h'
+chmod +w -f src/config.h
+eval '/bin/sed '${sed_flags}' < src/config.h.in > src/config.h.tmp'
+./move-if-change src/config.h.tmp src/config.h
# Remind people not to edit this.
chmod -w src/config.h
# Modify the parameters in the top makefile.
echo "Producing ./Makefile from ./Makefile.in."
-rm -f ./Makefile
+chmod +w -f ./Makefile
(echo "# This file is generated by \`${progname}' from \`./Makefile.in'.
# If you are thinking about editing it, you should seriously consider
# editing \`./Makefile.in' itself, or running \`${progname}' instead."
-e 's;^\(libdir=\).*$;\1'"${libdir};" \
-e 's;^\(mandir=\).*$;\1'"${mandir};" \
-e 's;^\(infodir=\).*$;\1'"${infodir};" \
-) > ./Makefile
+) > ./Makefile.tmp
+./move-if-change Makefile.tmp Makefile
# Remind people not to edit this.
chmod -w ./Makefile
# Modify the parameters in the `build-install' script.
echo "Producing ./build-install from ./build-install.in."
-rm -f ./build-install
+chmod +w -f ./build-install
(echo "# This file is generated by \`${progname}' from \`./build-install.in'.
# If you are thinking about editing it, you should seriously consider
# editing \`./build-install.in' itself, or running \`${progname}' instead."
-e 's;^\(lisppath=\).*$;\1'"${lisppath};" \
-e 's;^\(datadir=\).*$;\1'"${datadir};" \
-e 's;^\(lockdir=\).*$;\1'"${lockdir};" \
- -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install
+ -e 's;^\(libdir=\).*$;\1'"${libdir};") > ./build-install.tmp
+./move-if-change build-install.tmp build-install
# Remind people not to edit this.
chmod -w build-install
chmod +x build-install
# Modify the parameters in the src makefile.
echo "Producing src/Makefile from src/Makefile.in."
-rm -f src/Makefile
+chmod +w -f src/Makefile
(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
# If you are thinking about editing it, you should seriously consider
# editing \`Makefile.in' itself, or running \`${progname}' instead."
/bin/sed < src/Makefile.in \
- -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile
+ -e 's;^\(CC[ ]*=\).*$;\1'"${cc};") > src/Makefile.tmp
+./move-if-change src/Makefile.tmp src/Makefile
# Remind people not to edit this.
chmod -w src/Makefile
# Modify the parameters in the lib-src makefile.
echo "Producing lib-src/Makefile from lib-src/Makefile.in."
-rm -f lib-src/Makefile
+chmod +w -f lib-src/Makefile
(echo "# This file is generated by \`${progname}' from \`Makefile.in'.
# If you are thinking about editing it, you should seriously consider
# editing \`Makefile.in' itself, or running \`${progname}' instead."
/bin/sed < lib-src/Makefile.in \
-e 's;^\(CFLAGS=\).*$;\1'"${c_switch_site};" \
-e 's;^\(LOADLIBES=\).*$;\1'"${libsrc_libs};" \
- -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile
+ -e 's;^\(CC=\).*$;\1'"${cc};") > lib-src/Makefile.tmp
+./move-if-change lib-src/Makefile.tmp lib-src/Makefile
# Remind people not to edit this.
chmod -w lib-src/Makefile
# running \`${progname}' instead.
" >> config.status
echo "${message}" >> config.status
-echo "'${progname}' \\
- -machine='${machine}' \\
- -opsystem='${opsystem}' \\
- -g=${g} \\
- -O=${O} \\
- -cc=${cc} \\
- -libdir='${libdir}' \\
- -datadir='${datadir}' \\
- -bindir='${bindir}' \\
- -lisppath='${lisppath}' \\
- -lockdir='${lockdir}' \\
- -window_system='${window_system}' \\
- -have_x_menu='${have_x_menu}' \\
- -gnu_malloc='${gnu_malloc}' \\
- -rel_alloc='${rel_alloc}' \\
- -highpri='${highpri}' \\
- -lisp_float_type='${lisp_float_type}' \\
- $@" >> config.status
+echo "'./${progname}' ${arguments} "'$@' >> config.status
# Remind people not to edit this.
chmod -w config.status
chmod +x config.status