summaryrefslogtreecommitdiffstats
path: root/ast/bootstrap
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-17 15:22:52 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-17 15:22:52 (GMT)
commit7dd9b970cec6832b8f6118dc2dd91a08d2836648 (patch)
tree4b3c86596ab87f35a3c6213397da07afe1e24d3e /ast/bootstrap
parentd7bf7c61e8507e3cf51f195392c0f41f27ae18d8 (diff)
parent7fde2daeed593684120d75de07598154f3ddaf2c (diff)
downloadblt-7dd9b970cec6832b8f6118dc2dd91a08d2836648.zip
blt-7dd9b970cec6832b8f6118dc2dd91a08d2836648.tar.gz
blt-7dd9b970cec6832b8f6118dc2dd91a08d2836648.tar.bz2
Merge commit '7fde2daeed593684120d75de07598154f3ddaf2c' as 'ast'
Diffstat (limited to 'ast/bootstrap')
-rwxr-xr-xast/bootstrap134
1 files changed, 134 insertions, 0 deletions
diff --git a/ast/bootstrap b/ast/bootstrap
new file mode 100755
index 0000000..b1b79e9
--- /dev/null
+++ b/ast/bootstrap
@@ -0,0 +1,134 @@
+#! /bin/sh -
+# original bootstrap file, installed by starconf 1.3, rnum=1003000
+# If you _need_ to change this file, delete `original' in the line above,
+# or else starconf may overwrite it with an updated version.
+#
+# bootstrap.installed. Generated from bootstrap.installed.in by configure.
+#
+# Bootstrap a checked-out component of the Starlink software tree.
+# Run this script in a freshly checked-out directory to bring the
+# system to the point where you can just type ./configure;make
+#
+# Usage:
+# ./bootstrap
+
+
+# This script should be installed, by starconf, in all `component
+# directories'. A `component directory' is a directory which has a
+# component.xml.in file in it. All component directories will have a
+# manifest file created and installed in .../manifests; non-component
+# directories will not have manifest files. Everything that's
+# installed should be installed as part of some component
+# or other.
+#
+# The ./bootstrap scripts will stop recursing when they find a
+# component.xml.in file. They'll warn if they find a component.xml.in
+# file in any AC_CONFIG_SUBDIRS directory, but ignore it, and exit
+# with an error if they do not find a component.xml.in file and there
+# are no AC_CONFIG_SUBDIRS directories in which to search further.
+# That is, the tree of directories which the top-level bootstrap
+# traverses should have component.xml.in files at or above all its
+# leaves.
+
+
+# The starconf below might update bootstrap, if a newer version is
+# available. Unfortunately, this confuses sh, which appears _not_ to
+# keep open the script it's reading, but to reopen it afresh, or reseek
+# within the file, for each line (or something like that!?).
+# So rewrite this script to a temporary file and exec it.
+tempfile="${TMP-/tmp}/$0-$$.tmp"
+rm -f $tempfile
+echo "trap 'rm -f $tempfile' 0" >$tempfile # remove temporary at exit
+sed '1,/^--TRAMPOLINE--/d' $0 >>$tempfile # strip out the trampoline
+exec /bin/sh $tempfile # exec the temporary
+--TRAMPOLINE--
+
+
+echo "Bootstrapping `pwd` ..."
+
+if test ! -f configure.ac; then
+ echo "bootstrap: No configure.ac in directory `pwd`" >&2
+ exit 1
+fi
+
+subdirs=`autoconf --trace=AC_CONFIG_SUBDIRS:$% configure.ac`
+
+if test -f component.xml.in; then
+
+ if starconf --show buildsupport >/dev/null 2>&1; then
+
+ # starconf is in the path
+ echo "...using starconf in " `starconf --show buildsupport`
+ starconf || exit 1
+
+ else
+
+ # The temptation here is to use ./starconf.status to find the
+ # starconf that it came from and invoke that explicitly. Don't do
+ # this, however: we don't want to be too clever, and it's better
+ # to be consistent with the way the autotools behave (the first
+ # one in your path is the one that works, and they don't have this
+ # sort of `phone home' cleverness in them).
+
+ echo "bootstrap error: The starconf application is not in your path"
+
+ # This doesn't stop us being helpful, however.
+ if test -f ./starconf.status; then
+ starconf_home=`./starconf.status --show buildsupport`
+ echo "This directory was last bootstrapped with $starconf_home/bin/starconf"
+ fi
+
+ exit 1
+ fi
+
+ # Check that there are no component.xml.in files in any subdirectories
+ if test -n "$subdirs"; then
+ for d in $subdirs
+ do
+ if test -d "$d" && test -f "$d/component.xml.in"; then
+ echo "bootstrap: warning: ignoring child $d/component.xml.in" >&2
+ fi
+ done
+ fi
+
+ # If STAR_SUPPRESS_AUTORECONF is true in the environment, then we
+ # suppress the call of `autoreconf'. This is here _only_ so that
+ # the top-level bootstrap file can suppress multiple calls of this
+ # in bootstrap scripts in its children. This mechanism must not
+ # be used by users, as it is likely to change without warning.
+ if ${STAR_SUPPRESS_AUTORECONF-false}; then
+ echo "Suppressing autoreconf in" `pwd`
+ else
+ echo autoreconf --install --symlink
+ autoreconf --install --symlink || exit 1
+ fi
+
+else
+
+ # This is not a component directory, so simply recurse into the children.
+
+ # ...if there are any, that is.
+ if test -z "$subdirs"; then
+ echo "bootstrap: error: non-component directory `pwd` has no subdirs" >&2
+ exit 1
+ fi
+
+ # Bootstrap the child directories mentioned in AC_CONFIG_SUBDIRS.
+ # These bootstrap files must exist.
+ for d in $subdirs
+ do
+ if test -d "$d"; then
+ echo "Bootstrapping $d..."
+ if test -f $d/bootstrap; then
+ # good...
+ (cd $d; /bin/sh ./bootstrap)
+ else
+ echo "bootstrap: no file $d/bootstrap" >&2
+ exit 1
+ fi
+ fi
+ done
+
+fi
+
+exit 0