summaryrefslogtreecommitdiff
path: root/config/mk-shdefs.in
diff options
context:
space:
mode:
Diffstat (limited to 'config/mk-shdefs.in')
-rw-r--r--config/mk-shdefs.in108
1 files changed, 108 insertions, 0 deletions
diff --git a/config/mk-shdefs.in b/config/mk-shdefs.in
new file mode 100644
index 0000000..aa388cc
--- /dev/null
+++ b/config/mk-shdefs.in
@@ -0,0 +1,108 @@
+#! @CONFIG_SHELL@
+# -*- Mode: shell-script -*-
+
+die() {
+ echo "$prog fatal error: $*"
+ kill -TERM $progpid
+ exit 1
+} >&2
+
+init() {
+ prog=`basename $1 .sh`
+ progpid=$$
+
+ SED='@SED@'
+ AWK='@AWK@'
+ GREP='@GREP@'
+ EGREP='@EGREP@'
+ target=`basename $2`
+ builddir=`dirname $2`
+ builddir=`cd $builddir && pwd`
+ srcdir=`dirname $1`
+ srcdir=`cd $srcdir >/dev/null && pwd`
+
+ cd ${builddir} || die no builddir
+
+ # top_builddir may be relative to the build directory that corresponds
+ # to the source directory for this file. Make it absolute
+ #
+ top_builddir=`cd @top_builddir@ >/dev/null && pwd`
+ top_srcdir=`
+ cd ${builddir} >/dev/null && cd @top_srcdir@ >/dev/null && pwd`
+
+ rm -f ${target}
+ exec 3> shdef-temp.in || die cannot create output
+ cd ..
+}
+
+mk_config() {
+ cat >&3 <<- _EOF_
+ prefix='@prefix@'
+ exec_prefix="@exec_prefix@"
+ PACKAGE_TARNAME='@PACKAGE_TARNAME@'
+ _EOF_
+
+ # Skip the stuff we force to be first
+ #
+ skip_list='top_srcdir|top_builddir|prefix|exec_prefix|PACKAGE_TARNAME'
+
+ # skip the autoconf/automake internal names
+ #
+ skip_list=${skip_list}"|a[mc]_.*|.*_TRUE|.*_FALSE|HAVE_.*|AM*"
+
+ # These must be in the correct order. Ensure it and don't do 'em twice
+ #
+ eval_fmt='eval "%s=\\"@%s@\\""\n'
+ for v in datarootdir mandir localedir infodir docdir datadir \
+ libdir libexecdir sbindir bindir \
+ includedir localstatedir sharedstatedir sysconfdir oldincludedir
+ do printf "${eval_fmt}" $v $v
+ skip_list=${skip_list}"|$v"
+ done >&3
+
+ for f in `${GREP} '^S\["' config.status`
+ do
+ v=`echo "$f" | ${SED} 's/".=.*//;s/[SD]\["//'`
+ x=`echo "$v" | ${EGREP} "^($skip_list)\$"`
+ test "X$x" = X || continue
+
+ case "$f" in
+ *'$('* ) : ;; # no make file only substitutions
+ *'missing --run '* ) : ;; # no bootstrap tools
+ S*\$* ) printf "${eval_fmt}" $v $v ;;
+ S* ) echo "$v='@$v@'" ;;
+ esac
+ done >&3
+
+ exec 3>&-
+}
+
+configure() {
+ cd config
+
+ ../config.status --file shdef-temp
+ {
+ cmd='`set -o | '${AWK}" '/^allexport/ {print \$2}'"\`
+ cat <<- _EOF_
+ #! `which echo` this-file-should-be-sourced,-not-executed
+ # -*- Mode: shell-script -*-
+
+ case "$cmd" in
+ on ) cleara=: ;;
+ * ) cleara='set +a' ; set -a ;;
+ esac
+
+ top_srcdir="$top_srcdir"
+ top_builddir="$top_builddir"
+ _EOF_
+
+ cat shdef-temp
+ echo 'eval $cleara'
+ } > ${target}
+
+ rm -f shdef-temp*
+}
+
+init $0 $1
+mk_config
+configure