| 1 | #! /bin/sh -
|
|---|
| 2 | # original bootstrap file, installed by starconf 1.3, rnum=1003000
|
|---|
| 3 | # If you _need_ to change this file, delete `original' in the line above,
|
|---|
| 4 | # or else starconf may overwrite it with an updated version.
|
|---|
| 5 | #
|
|---|
| 6 | # bootstrap.installed. Generated from bootstrap.installed.in by configure.
|
|---|
| 7 | #
|
|---|
| 8 | # Bootstrap a checked-out component of the Starlink software tree.
|
|---|
| 9 | # Run this script in a freshly checked-out directory to bring the
|
|---|
| 10 | # system to the point where you can just type ./configure;make
|
|---|
| 11 | #
|
|---|
| 12 | # Usage:
|
|---|
| 13 | # ./bootstrap
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 | # This script should be installed, by starconf, in all `component
|
|---|
| 17 | # directories'. A `component directory' is a directory which has a
|
|---|
| 18 | # component.xml.in file in it. All component directories will have a
|
|---|
| 19 | # manifest file created and installed in .../manifests; non-component
|
|---|
| 20 | # directories will not have manifest files. Everything that's
|
|---|
| 21 | # installed should be installed as part of some component
|
|---|
| 22 | # or other.
|
|---|
| 23 | #
|
|---|
| 24 | # The ./bootstrap scripts will stop recursing when they find a
|
|---|
| 25 | # component.xml.in file. They'll warn if they find a component.xml.in
|
|---|
| 26 | # file in any AC_CONFIG_SUBDIRS directory, but ignore it, and exit
|
|---|
| 27 | # with an error if they do not find a component.xml.in file and there
|
|---|
| 28 | # are no AC_CONFIG_SUBDIRS directories in which to search further.
|
|---|
| 29 | # That is, the tree of directories which the top-level bootstrap
|
|---|
| 30 | # traverses should have component.xml.in files at or above all its
|
|---|
| 31 | # leaves.
|
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 | # The starconf below might update bootstrap, if a newer version is
|
|---|
| 35 | # available. Unfortunately, this confuses sh, which appears _not_ to
|
|---|
| 36 | # keep open the script it's reading, but to reopen it afresh, or reseek
|
|---|
| 37 | # within the file, for each line (or something like that!?).
|
|---|
| 38 | # So rewrite this script to a temporary file and exec it.
|
|---|
| 39 | tempfile="${TMP-/tmp}/$0-$$.tmp"
|
|---|
| 40 | rm -f $tempfile
|
|---|
| 41 | echo "trap 'rm -f $tempfile' 0" >$tempfile # remove temporary at exit
|
|---|
| 42 | sed '1,/^--TRAMPOLINE--/d' $0 >>$tempfile # strip out the trampoline
|
|---|
| 43 | exec /bin/sh $tempfile # exec the temporary
|
|---|
| 44 | --TRAMPOLINE--
|
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 | echo "Bootstrapping `pwd` ..."
|
|---|
| 48 |
|
|---|
| 49 | if test ! -f configure.ac; then
|
|---|
| 50 | echo "bootstrap: No configure.ac in directory `pwd`" >&2
|
|---|
| 51 | exit 1
|
|---|
| 52 | fi
|
|---|
| 53 |
|
|---|
| 54 | subdirs=`autoconf --trace=AC_CONFIG_SUBDIRS:$% configure.ac`
|
|---|
| 55 |
|
|---|
| 56 | if test -f component.xml.in; then
|
|---|
| 57 |
|
|---|
| 58 | if starconf --show buildsupport >/dev/null 2>&1; then
|
|---|
| 59 |
|
|---|
| 60 | # starconf is in the path
|
|---|
| 61 | echo "...using starconf in " `starconf --show buildsupport`
|
|---|
| 62 | starconf || exit 1
|
|---|
| 63 |
|
|---|
| 64 | else
|
|---|
| 65 |
|
|---|
| 66 | # The temptation here is to use ./starconf.status to find the
|
|---|
| 67 | # starconf that it came from and invoke that explicitly. Don't do
|
|---|
| 68 | # this, however: we don't want to be too clever, and it's better
|
|---|
| 69 | # to be consistent with the way the autotools behave (the first
|
|---|
| 70 | # one in your path is the one that works, and they don't have this
|
|---|
| 71 | # sort of `phone home' cleverness in them).
|
|---|
| 72 |
|
|---|
| 73 | echo "bootstrap error: The starconf application is not in your path"
|
|---|
| 74 |
|
|---|
| 75 | # This doesn't stop us being helpful, however.
|
|---|
| 76 | if test -f ./starconf.status; then
|
|---|
| 77 | starconf_home=`./starconf.status --show buildsupport`
|
|---|
| 78 | echo "This directory was last bootstrapped with $starconf_home/bin/starconf"
|
|---|
| 79 | fi
|
|---|
| 80 |
|
|---|
| 81 | exit 1
|
|---|
| 82 | fi
|
|---|
| 83 |
|
|---|
| 84 | # Check that there are no component.xml.in files in any subdirectories
|
|---|
| 85 | if test -n "$subdirs"; then
|
|---|
| 86 | for d in $subdirs
|
|---|
| 87 | do
|
|---|
| 88 | if test -d "$d" && test -f "$d/component.xml.in"; then
|
|---|
| 89 | echo "bootstrap: warning: ignoring child $d/component.xml.in" >&2
|
|---|
| 90 | fi
|
|---|
| 91 | done
|
|---|
| 92 | fi
|
|---|
| 93 |
|
|---|
| 94 | # If STAR_SUPPRESS_AUTORECONF is true in the environment, then we
|
|---|
| 95 | # suppress the call of `autoreconf'. This is here _only_ so that
|
|---|
| 96 | # the top-level bootstrap file can suppress multiple calls of this
|
|---|
| 97 | # in bootstrap scripts in its children. This mechanism must not
|
|---|
| 98 | # be used by users, as it is likely to change without warning.
|
|---|
| 99 | if ${STAR_SUPPRESS_AUTORECONF-false}; then
|
|---|
| 100 | echo "Suppressing autoreconf in" `pwd`
|
|---|
| 101 | else
|
|---|
| 102 | echo autoreconf --install --symlink
|
|---|
| 103 | autoreconf --install --symlink || exit 1
|
|---|
| 104 | fi
|
|---|
| 105 |
|
|---|
| 106 | else
|
|---|
| 107 |
|
|---|
| 108 | # This is not a component directory, so simply recurse into the children.
|
|---|
| 109 |
|
|---|
| 110 | # ...if there are any, that is.
|
|---|
| 111 | if test -z "$subdirs"; then
|
|---|
| 112 | echo "bootstrap: error: non-component directory `pwd` has no subdirs" >&2
|
|---|
| 113 | exit 1
|
|---|
| 114 | fi
|
|---|
| 115 |
|
|---|
| 116 | # Bootstrap the child directories mentioned in AC_CONFIG_SUBDIRS.
|
|---|
| 117 | # These bootstrap files must exist.
|
|---|
| 118 | for d in $subdirs
|
|---|
| 119 | do
|
|---|
| 120 | if test -d "$d"; then
|
|---|
| 121 | echo "Bootstrapping $d..."
|
|---|
| 122 | if test -f $d/bootstrap; then
|
|---|
| 123 | # good...
|
|---|
| 124 | (cd $d; /bin/sh ./bootstrap)
|
|---|
| 125 | else
|
|---|
| 126 | echo "bootstrap: no file $d/bootstrap" >&2
|
|---|
| 127 | exit 1
|
|---|
| 128 | fi
|
|---|
| 129 | fi
|
|---|
| 130 | done
|
|---|
| 131 |
|
|---|
| 132 | fi
|
|---|
| 133 |
|
|---|
| 134 | exit 0
|
|---|