| [1510] | 1 | #!/bin/sh
 | 
|---|
| [224] | 2 | # $Id: env.sh 3492 2020-12-23 13:59:02Z bird $
 | 
|---|
 | 3 | ## @file
 | 
|---|
 | 4 | # Environment setup script.
 | 
|---|
 | 5 | #
 | 
|---|
| [1511] | 6 | 
 | 
|---|
 | 7 | #
 | 
|---|
| [2413] | 8 | # Copyright (c) 2005-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
 | 
|---|
| [224] | 9 | #
 | 
|---|
 | 10 | # This file is part of kBuild.
 | 
|---|
 | 11 | #
 | 
|---|
 | 12 | # kBuild is free software; you can redistribute it and/or modify
 | 
|---|
 | 13 | # it under the terms of the GNU General Public License as published by
 | 
|---|
 | 14 | # the Free Software Foundation; either version 2 of the License, or
 | 
|---|
 | 15 | # (at your option) any later version.
 | 
|---|
 | 16 | #
 | 
|---|
 | 17 | # kBuild is distributed in the hope that it will be useful,
 | 
|---|
 | 18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
 | 19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
 | 20 | # GNU General Public License for more details.
 | 
|---|
 | 21 | #
 | 
|---|
 | 22 | # You should have received a copy of the GNU General Public License
 | 
|---|
 | 23 | # along with kBuild; if not, write to the Free Software
 | 
|---|
 | 24 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
|---|
 | 25 | #
 | 
|---|
 | 26 | #
 | 
|---|
| [1067] | 27 | #set -x
 | 
|---|
| [224] | 28 | 
 | 
|---|
| [992] | 29 | #
 | 
|---|
| [1510] | 30 | # Check if we're in eval mode or not.
 | 
|---|
 | 31 | #
 | 
|---|
 | 32 | ERR_REDIR=1
 | 
|---|
 | 33 | DBG_REDIR=1
 | 
|---|
 | 34 | EVAL_OPT=
 | 
|---|
| [1530] | 35 | EVAL_EXPORT="export "
 | 
|---|
| [1510] | 36 | DBG_OPT=
 | 
|---|
 | 37 | QUIET_OPT=
 | 
|---|
| [1512] | 38 | FULL_OPT=
 | 
|---|
| [2191] | 39 | FULL_WITH_BIN_OPT=
 | 
|---|
| [1570] | 40 | LEGACY_OPT=
 | 
|---|
| [1513] | 41 | VAR_OPT=
 | 
|---|
| [1517] | 42 | VALUE_ONLY_OPT=
 | 
|---|
| [1530] | 43 | EXP_TYPE_OPT=
 | 
|---|
| [1531] | 44 | while test $# -gt 0;
 | 
|---|
| [1512] | 45 | do
 | 
|---|
 | 46 |     case "$1" in
 | 
|---|
| [1530] | 47 |         "--debug-script")
 | 
|---|
| [1512] | 48 |             DBG_OPT="true"
 | 
|---|
 | 49 |             ;;
 | 
|---|
| [1530] | 50 |         "--no-debug-script")
 | 
|---|
| [1517] | 51 |             DBG_OPT=
 | 
|---|
 | 52 |             ;;
 | 
|---|
| [1512] | 53 |         "--quiet")
 | 
|---|
 | 54 |             QUIET_OPT="true"
 | 
|---|
 | 55 |             ;;
 | 
|---|
| [1517] | 56 |         "--verbose")
 | 
|---|
 | 57 |             QUIET_OPT=
 | 
|---|
 | 58 |             ;;
 | 
|---|
| [1512] | 59 |         "--full")
 | 
|---|
 | 60 |             FULL_OPT="true"
 | 
|---|
 | 61 |             ;;
 | 
|---|
| [2191] | 62 |         "--full-with-bin")
 | 
|---|
 | 63 |             FULL_OPT="true"
 | 
|---|
 | 64 |             FULL_WITH_BIN_OPT="true"
 | 
|---|
 | 65 |             ;;
 | 
|---|
| [1517] | 66 |         "--normal")
 | 
|---|
 | 67 |             FULL_OPT=
 | 
|---|
 | 68 |             ;;
 | 
|---|
 | 69 |         "--legacy")
 | 
|---|
 | 70 |             LEGACY_OPT="true"
 | 
|---|
 | 71 |             ;;
 | 
|---|
 | 72 |         "--no-legacy")
 | 
|---|
 | 73 |             LEGACY_OPT=
 | 
|---|
 | 74 |             ;;
 | 
|---|
| [1512] | 75 |         "--eval")
 | 
|---|
 | 76 |             EVAL_OPT="true"
 | 
|---|
 | 77 |             ERR_REDIR=2
 | 
|---|
 | 78 |             DBG_REDIR=2
 | 
|---|
 | 79 |             ;;
 | 
|---|
| [1530] | 80 |         "--set")
 | 
|---|
 | 81 |             EVAL_OPT="true"
 | 
|---|
 | 82 |             EVAL_EXPORT=""
 | 
|---|
 | 83 |             ERR_REDIR=2
 | 
|---|
 | 84 |             DBG_REDIR=2
 | 
|---|
 | 85 |             ;;
 | 
|---|
| [1513] | 86 |         "--var")
 | 
|---|
 | 87 |             shift
 | 
|---|
 | 88 |             VAR_OPT="${VAR_OPT} $1"
 | 
|---|
| [1517] | 89 |             ERR_REDIR=2
 | 
|---|
 | 90 |             DBG_REDIR=2
 | 
|---|
| [1513] | 91 |             ;;
 | 
|---|
| [1517] | 92 |         "--value-only")
 | 
|---|
 | 93 |             VALUE_ONLY_OPT="true"
 | 
|---|
 | 94 |             ;;
 | 
|---|
 | 95 |         "--name-and-value")
 | 
|---|
 | 96 |             VALUE_ONLY_OPT=
 | 
|---|
 | 97 |             ;;
 | 
|---|
| [1530] | 98 |         "--release")
 | 
|---|
 | 99 |             EXP_TYPE_OPT=1
 | 
|---|
 | 100 |             KBUILD_TYPE=release
 | 
|---|
 | 101 |             BUILD_TYPE=
 | 
|---|
 | 102 |             ;;
 | 
|---|
 | 103 |         "--debug")
 | 
|---|
 | 104 |             EXP_TYPE_OPT=1
 | 
|---|
 | 105 |             KBUILD_TYPE=debug
 | 
|---|
 | 106 |             BUILD_TYPE=
 | 
|---|
 | 107 |             ;;
 | 
|---|
 | 108 |         "--profile")
 | 
|---|
 | 109 |             EXP_TYPE_OPT=1
 | 
|---|
 | 110 |             KBUILD_TYPE=profile
 | 
|---|
 | 111 |             BUILD_TYPE=
 | 
|---|
 | 112 |             ;;
 | 
|---|
 | 113 | 
 | 
|---|
| [1512] | 114 |         "--help")
 | 
|---|
| [2347] | 115 |             echo "kBuild Environment Setup Script, v0.2.0-pre"
 | 
|---|
| [1517] | 116 |             echo ""
 | 
|---|
 | 117 |             echo "syntax: $0 [options] [command [args]]"
 | 
|---|
 | 118 |             echo "    or: $0 [options] --var <varname>"
 | 
|---|
 | 119 |             echo "    or: $0 [options] --eval"
 | 
|---|
 | 120 |             echo "    or: $0 [options] --eval --var <varname>"
 | 
|---|
 | 121 |             echo ""
 | 
|---|
| [1570] | 122 |             echo "The first form will execute the command, or if no command is given start"
 | 
|---|
| [1517] | 123 |             echo "an interactive shell."
 | 
|---|
 | 124 |             echo "The second form will print the specfified variable(s)."
 | 
|---|
 | 125 |             echo "The third form will print all exported variables suitable for bourne shell"
 | 
|---|
| [2347] | 126 |             echo "evaluation."
 | 
|---|
| [1517] | 127 |             echo "The forth form will only print the specified variable(s)."
 | 
|---|
 | 128 |             echo ""
 | 
|---|
 | 129 |             echo "Options:"
 | 
|---|
| [1530] | 130 |             echo "  --debug, --release, --profile"
 | 
|---|
 | 131 |             echo "      Alternative way of specifying KBUILD_TYPE."
 | 
|---|
 | 132 |             echo "  --debug-script, --no-debug-script"
 | 
|---|
 | 133 |             echo "      Controls debug output. Default: --no-debug-script"
 | 
|---|
| [1517] | 134 |             echo "  --quiet, --verbose"
 | 
|---|
 | 135 |             echo "      Controls informational output. Default: --verbose"
 | 
|---|
| [2191] | 136 |             echo "  --full, --full-with-bin, --normal"
 | 
|---|
| [1517] | 137 |             echo "      Controls the variable set. Default: --normal"
 | 
|---|
 | 138 |             echo "  --legacy, --no-legacy"
 | 
|---|
| [1570] | 139 |             echo "      Include legacy variables in result. Default: --no-legacy"
 | 
|---|
| [1517] | 140 |             echo "  --value-only, --name-and-value"
 | 
|---|
 | 141 |             echo "      Controls what the result of a --var query. Default: --name-and-value"
 | 
|---|
| [1530] | 142 |             echo "  --set, --export"
 | 
|---|
 | 143 |             echo "      Whether --eval explicitly export the variables. --set is useful for"
 | 
|---|
 | 144 |             echo "      getting a list of environment vars for a commandline, while --eval"
 | 
|---|
| [2347] | 145 |             echo '      is useful for eval `env.sh`. Default: --export'
 | 
|---|
| [1517] | 146 |             echo ""
 | 
|---|
| [1512] | 147 |             exit 1
 | 
|---|
 | 148 |             ;;
 | 
|---|
 | 149 |         *)
 | 
|---|
 | 150 |             break
 | 
|---|
 | 151 |             ;;
 | 
|---|
 | 152 |     esac
 | 
|---|
| [1510] | 153 |     shift
 | 
|---|
| [1512] | 154 | done
 | 
|---|
| [1510] | 155 | 
 | 
|---|
 | 156 | 
 | 
|---|
 | 157 | #
 | 
|---|
| [1517] | 158 | # Deal with legacy environment variables.
 | 
|---|
| [992] | 159 | #
 | 
|---|
| [1517] | 160 | if test -n "$PATH_KBUILD"; then
 | 
|---|
 | 161 |     if test -n "$KBUILD_PATH"  -a  "$KBUILD_PATH" != "$PATH_KBUILD"; then
 | 
|---|
 | 162 |         echo "$0: error: KBUILD_PATH ($KBUILD_PATH) and PATH_KBUILD ($PATH_KBUILD) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 163 |         sleep 1
 | 
|---|
 | 164 |         exit 1
 | 
|---|
 | 165 |     fi
 | 
|---|
 | 166 |     KBUILD_PATH=$PATH_KBUILD
 | 
|---|
| [224] | 167 | fi
 | 
|---|
| [1517] | 168 | if test -n "$PATH_KBUILD_BIN"; then
 | 
|---|
 | 169 |     if test -n "$KBUILD_BIN_PATH"  -a  "$KBUILD_BIN_PATH" != "$PATH_KBUILD_BIN"; then
 | 
|---|
 | 170 |         echo "$0: error: KBUILD_BIN_PATH ($KBUILD_BIN_PATH) and PATH_KBUILD_BIN ($PATH_KBUILD_BIN) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 171 |         sleep 1
 | 
|---|
 | 172 |         exit 1
 | 
|---|
 | 173 |     fi
 | 
|---|
 | 174 |     KBUILD_BIN_PATH=$PATH_KBUILD_BIN
 | 
|---|
| [224] | 175 | fi
 | 
|---|
 | 176 | 
 | 
|---|
| [1517] | 177 | if test -n "$BUILD_TYPE"; then
 | 
|---|
 | 178 |     if test -n "$KBUILD_TYPE"  -a  "$KBUILD_TYPE" != "$BUILD_TYPE"; then
 | 
|---|
 | 179 |         echo "$0: error: KBUILD_TYPE ($KBUILD_TYPE) and BUILD_TYPE ($BUILD_TYPE) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 180 |         sleep 1
 | 
|---|
 | 181 |         exit 1
 | 
|---|
 | 182 |     fi
 | 
|---|
 | 183 |     KBUILD_TYPE=$BUILD_TYPE
 | 
|---|
 | 184 | fi
 | 
|---|
| [1076] | 185 | 
 | 
|---|
| [1517] | 186 | if test -n "$BUILD_PLATFORM"; then
 | 
|---|
 | 187 |     if test -n "$KBUILD_HOST"  -a  "$KBUILD_HOST" != "$BUILD_PLATFORM"; then
 | 
|---|
 | 188 |         echo "$0: error: KBUILD_HOST ($KBUILD_HOST) and BUILD_PLATFORM ($BUILD_PLATFORM) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 189 |         sleep 1
 | 
|---|
 | 190 |         exit 1
 | 
|---|
 | 191 |     fi
 | 
|---|
 | 192 |     KBUILD_HOST=$BUILD_PLATFORM
 | 
|---|
 | 193 | fi
 | 
|---|
 | 194 | if test -n "$BUILD_PLATFORM_ARCH"; then
 | 
|---|
 | 195 |     if test -n "$KBUILD_HOST_ARCH"  -a  "$KBUILD_HOST_ARCH" != "$BUILD_PLATFORM_ARCH"; then
 | 
|---|
 | 196 |         echo "$0: error: KBUILD_HOST_ARCH ($KBUILD_HOST_ARCH) and BUILD_PLATFORM_ARCH ($BUILD_PLATFORM_ARCH) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 197 |         sleep 1
 | 
|---|
 | 198 |         exit 1
 | 
|---|
 | 199 |     fi
 | 
|---|
 | 200 |     KBUILD_HOST_ARCH=$BUILD_PLATFORM_ARCH
 | 
|---|
 | 201 | fi
 | 
|---|
 | 202 | if test -n "$BUILD_PLATFORM_CPU"; then
 | 
|---|
 | 203 |     if test -n "$KBUILD_HOST_CPU"  -a  "$KBUILD_HOST_CPU" != "$BUILD_PLATFORM_CPU"; then
 | 
|---|
 | 204 |         echo "$0: error: KBUILD_HOST_CPU ($KBUILD_HOST_CPU) and BUILD_PLATFORM_CPU ($BUILD_PLATFORM_CPU) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 205 |         sleep 1
 | 
|---|
 | 206 |         exit 1
 | 
|---|
 | 207 |     fi
 | 
|---|
 | 208 |     KBUILD_HOST_CPU=$BUILD_PLATFORM_CPU
 | 
|---|
 | 209 | fi
 | 
|---|
 | 210 | 
 | 
|---|
 | 211 | if test -n "$BUILD_TARGET"; then
 | 
|---|
 | 212 |     if test -n "$KBUILD_TARGET"  -a  "$KBUILD_TARGET" != "$BUILD_TARGET"; then
 | 
|---|
 | 213 |         echo "$0: error: KBUILD_TARGET ($KBUILD_TARGET) and BUILD_TARGET ($BUILD_TARGET) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 214 |         sleep 1
 | 
|---|
 | 215 |         exit 1
 | 
|---|
 | 216 |     fi
 | 
|---|
 | 217 |     KBUILD_TARGET=$BUILD_TARGET
 | 
|---|
 | 218 | fi
 | 
|---|
 | 219 | if test -n "$BUILD_TARGET_ARCH"; then
 | 
|---|
 | 220 |     if test -n "$KBUILD_TARGET_ARCH"  -a  "$KBUILD_TARGET_ARCH" != "$BUILD_TARGET_ARCH"; then
 | 
|---|
 | 221 |         echo "$0: error: KBUILD_TARGET_ARCH ($KBUILD_TARGET_ARCH) and BUILD_TARGET_ARCH ($BUILD_TARGET_ARCH) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 222 |         sleep 1
 | 
|---|
 | 223 |         exit 1
 | 
|---|
 | 224 |     fi
 | 
|---|
 | 225 |     KBUILD_TARGET_ARCH=$BUILD_TARGET_ARCH
 | 
|---|
 | 226 | fi
 | 
|---|
 | 227 | if test -n "$BUILD_TARGET_CPU"; then
 | 
|---|
 | 228 |     if test -n "$KBUILD_TARGET_CPU"  -a  "$KBUILD_TARGET_CPU" != "$BUILD_TARGET_CPU"; then
 | 
|---|
 | 229 |         echo "$0: error: KBUILD_TARGET_CPU ($KBUILD_TARGET_CPU) and BUILD_TARGET_CPU ($BUILD_TARGET_CPU) disagree." 1>&${ERR_REDIR}
 | 
|---|
 | 230 |         sleep 1
 | 
|---|
 | 231 |         exit 1
 | 
|---|
 | 232 |     fi
 | 
|---|
 | 233 |     KBUILD_TARGET_CPU=$BUILD_TARGET_CPU
 | 
|---|
 | 234 | fi
 | 
|---|
 | 235 | 
 | 
|---|
 | 236 | 
 | 
|---|
| [992] | 237 | #
 | 
|---|
 | 238 | # Set default build type.
 | 
|---|
 | 239 | #
 | 
|---|
| [1517] | 240 | if test -z "$KBUILD_TYPE"; then
 | 
|---|
 | 241 |     KBUILD_TYPE=release
 | 
|---|
| [224] | 242 | fi
 | 
|---|
| [1517] | 243 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TYPE=$KBUILD_TYPE" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 244 | 
 | 
|---|
| [992] | 245 | #
 | 
|---|
 | 246 | # Determin the host platform.
 | 
|---|
 | 247 | #
 | 
|---|
 | 248 | # The CPU isn't important, only the other two are.  But, since the cpu,
 | 
|---|
 | 249 | # arch and platform (and build type) share a common key space, try make
 | 
|---|
 | 250 | # sure any new additions are unique. (See header.kmk, KBUILD_OSES/ARCHES.)
 | 
|---|
 | 251 | #
 | 
|---|
| [1517] | 252 | if test -z "$KBUILD_HOST"; then
 | 
|---|
 | 253 |     KBUILD_HOST=`uname`
 | 
|---|
 | 254 |     case "$KBUILD_HOST" in
 | 
|---|
| [1603] | 255 |         Darwin|darwin)
 | 
|---|
 | 256 |             KBUILD_HOST=darwin
 | 
|---|
| [994] | 257 |             ;;
 | 
|---|
 | 258 | 
 | 
|---|
| [1603] | 259 |         DragonFly)
 | 
|---|
 | 260 |             KBUILD_HOST=dragonfly
 | 
|---|
| [994] | 261 |             ;;
 | 
|---|
 | 262 | 
 | 
|---|
 | 263 |         freebsd|FreeBSD|FREEBSD)
 | 
|---|
| [1517] | 264 |             KBUILD_HOST=freebsd
 | 
|---|
| [994] | 265 |             ;;
 | 
|---|
 | 266 | 
 | 
|---|
| [3103] | 267 |         GNU)
 | 
|---|
 | 268 |             KBUILD_HOST=gnuhurd
 | 
|---|
 | 269 |             ;;
 | 
|---|
 | 270 | 
 | 
|---|
| [3099] | 271 |         GNU/kFreeBSD)
 | 
|---|
 | 272 |             KBUILD_HOST=gnukfbsd
 | 
|---|
 | 273 |             ;;
 | 
|---|
 | 274 | 
 | 
|---|
 | 275 |         GNU/kNetBSD|GNU/NetBSD)
 | 
|---|
 | 276 |             KBUILD_HOST=gnuknbsd
 | 
|---|
 | 277 |             ;;
 | 
|---|
 | 278 | 
 | 
|---|
| [2546] | 279 |         Haiku)
 | 
|---|
 | 280 |             KBUILD_HOST=haiku
 | 
|---|
 | 281 |             ;;
 | 
|---|
 | 282 | 
 | 
|---|
| [1603] | 283 |         linux|Linux|GNU/Linux|LINUX)
 | 
|---|
 | 284 |             KBUILD_HOST=linux
 | 
|---|
| [994] | 285 |             ;;
 | 
|---|
 | 286 | 
 | 
|---|
 | 287 |         netbsd|NetBSD|NETBSD)
 | 
|---|
| [1517] | 288 |             KBUILD_HOST=netbsd
 | 
|---|
| [994] | 289 |             ;;
 | 
|---|
 | 290 | 
 | 
|---|
| [1603] | 291 |         openbsd|OpenBSD|OPENBSD)
 | 
|---|
 | 292 |             KBUILD_HOST=openbsd
 | 
|---|
| [994] | 293 |             ;;
 | 
|---|
 | 294 | 
 | 
|---|
| [1603] | 295 |         os2|OS/2|OS2)
 | 
|---|
 | 296 |             KBUILD_HOST=os2
 | 
|---|
 | 297 |             ;;
 | 
|---|
 | 298 | 
 | 
|---|
| [994] | 299 |         SunOS)
 | 
|---|
| [1517] | 300 |             KBUILD_HOST=solaris
 | 
|---|
| [994] | 301 |             ;;
 | 
|---|
 | 302 | 
 | 
|---|
 | 303 |         WindowsNT|CYGWIN_NT-*)
 | 
|---|
| [1517] | 304 |             KBUILD_HOST=win
 | 
|---|
| [994] | 305 |             ;;
 | 
|---|
 | 306 | 
 | 
|---|
 | 307 |         *)
 | 
|---|
| [1517] | 308 |             echo "$0: unknown os $KBUILD_HOST" 1>&${ERR_REDIR}
 | 
|---|
| [994] | 309 |             sleep 1
 | 
|---|
 | 310 |             exit 1
 | 
|---|
 | 311 |             ;;
 | 
|---|
 | 312 |     esac
 | 
|---|
 | 313 | fi
 | 
|---|
| [1517] | 314 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST=$KBUILD_HOST" 1>&${DBG_REDIR}
 | 
|---|
| [994] | 315 | 
 | 
|---|
| [1517] | 316 | if test -z "$KBUILD_HOST_ARCH"; then
 | 
|---|
| [992] | 317 |     # Try deduce it from the cpu if given.
 | 
|---|
| [1517] | 318 |     if test -n "$KBUILD_HOST_CPU"; then
 | 
|---|
 | 319 |         case "$KBUILD_HOST_CPU" in
 | 
|---|
| [992] | 320 |             i[3456789]86)
 | 
|---|
| [1517] | 321 |                 KBUILD_HOST_ARCH='x86'
 | 
|---|
| [992] | 322 |                 ;;
 | 
|---|
 | 323 |             k8|k8l|k9|k10)
 | 
|---|
| [1517] | 324 |                 KBUILD_HOST_ARCH='amd64'
 | 
|---|
| [992] | 325 |                 ;;
 | 
|---|
 | 326 |         esac
 | 
|---|
 | 327 |     fi
 | 
|---|
| [224] | 328 | fi
 | 
|---|
| [1517] | 329 | if test -z "$KBUILD_HOST_ARCH"; then
 | 
|---|
| [1156] | 330 |     # Use uname -m or isainfo (lots of guesses here, please help clean this up...)
 | 
|---|
| [1517] | 331 |     if test "$KBUILD_HOST" = "solaris"; then
 | 
|---|
 | 332 |         KBUILD_HOST_ARCH=`isainfo | cut -f 1 -d ' '`
 | 
|---|
| [1531] | 333 | 
 | 
|---|
| [1156] | 334 |     else
 | 
|---|
| [1517] | 335 |         KBUILD_HOST_ARCH=`uname -m`
 | 
|---|
| [1156] | 336 |     fi
 | 
|---|
| [1517] | 337 |     case "$KBUILD_HOST_ARCH" in
 | 
|---|
| [992] | 338 |         x86_64|AMD64|amd64|k8|k8l|k9|k10)
 | 
|---|
| [1517] | 339 |             KBUILD_HOST_ARCH='amd64'
 | 
|---|
| [3111] | 340 |             # Try detect debian x32.
 | 
|---|
 | 341 |             if test "$KBUILD_HOST" = "linux"; then 
 | 
|---|
| [3127] | 342 |                 if test -z "${DEB_HOST_ARCH}"; then
 | 
|---|
 | 343 |                     DEB_HOST_ARCH=`dpkg-architecture -qDEB_HOST_ARCH 2> /dev/null`;
 | 
|---|
 | 344 |                     if test -z "${DEB_HOST_ARCH}"; then
 | 
|---|
 | 345 |                         DEB_HOST_ARCH=`dpkg --print-architecture 2> /dev/null`;
 | 
|---|
 | 346 |                     fi
 | 
|---|
 | 347 |                 fi
 | 
|---|
 | 348 |                 case "${DEB_HOST_ARCH}" in
 | 
|---|
 | 349 |                     "x32")
 | 
|---|
 | 350 |                         KBUILD_HOST_ARCH=x32
 | 
|---|
 | 351 |                         ;;
 | 
|---|
 | 352 |                     "") case "`uname -v`" in
 | 
|---|
 | 353 |                             *Debian*+x32+*) KBUILD_HOST_ARCH=x32 ;;
 | 
|---|
 | 354 |                         esac
 | 
|---|
 | 355 |                         ;;
 | 
|---|
| [3111] | 356 |                 esac
 | 
|---|
 | 357 |             fi
 | 
|---|
| [992] | 358 |             ;;
 | 
|---|
| [3104] | 359 |         x86|i86pc|ia32|i[3456789]86|BePC|i[3456789]86-AT[3456789]86)
 | 
|---|
| [1517] | 360 |             KBUILD_HOST_ARCH='x86'
 | 
|---|
| [224] | 361 |             ;;
 | 
|---|
| [3062] | 362 |         alpha)
 | 
|---|
 | 363 |             KBUILD_HOST_ARCH='alpha'
 | 
|---|
| [299] | 364 |             ;;
 | 
|---|
| [3295] | 365 |         aarch32|arm|arm1|arm2|arm3|arm6|armv1|armv2|armv3*|armv4*|armv5*|armv6*|armv7*|armv8*)
 | 
|---|
| [3062] | 366 |             KBUILD_HOST_ARCH='arm32'
 | 
|---|
| [992] | 367 |             ;;
 | 
|---|
| [3492] | 368 |         aarch64*|arm64) # (Apple M1 is arm64.)
 | 
|---|
| [3062] | 369 |             KBUILD_HOST_ARCH='arm64'
 | 
|---|
| [992] | 370 |             ;;
 | 
|---|
| [3062] | 371 |         hppa32|parisc32|parisc)
 | 
|---|
 | 372 |             KBUILD_HOST_ARCH='hppa32'
 | 
|---|
| [1380] | 373 |             ;;
 | 
|---|
| [3062] | 374 |         hppa64|parisc64)
 | 
|---|
 | 375 |             KBUILD_HOST_ARCH='hppa64'
 | 
|---|
 | 376 |             ;;
 | 
|---|
 | 377 |         ia64)
 | 
|---|
 | 378 |             KBUILD_HOST_ARCH='ia64'
 | 
|---|
 | 379 |             ;;
 | 
|---|
| [992] | 380 |         ppc32|ppc|powerpc)
 | 
|---|
| [1517] | 381 |             KBUILD_HOST_ARCH='ppc32'
 | 
|---|
| [992] | 382 |             ;;
 | 
|---|
| [3062] | 383 |         ppc64|ppc64le|powerpc64|powerpc64le)
 | 
|---|
| [1517] | 384 |             KBUILD_HOST_ARCH='ppc64'
 | 
|---|
| [992] | 385 |             ;;
 | 
|---|
| [3103] | 386 |         m68k)
 | 
|---|
 | 387 |             KBUILD_HOST_ARCH='m68k'
 | 
|---|
 | 388 |             ;;
 | 
|---|
| [992] | 389 |         mips32|mips)
 | 
|---|
| [1517] | 390 |             KBUILD_HOST_ARCH='mips32'
 | 
|---|
| [992] | 391 |             ;;
 | 
|---|
 | 392 |         mips64)
 | 
|---|
| [1517] | 393 |             KBUILD_HOST_ARCH='mips64'
 | 
|---|
| [992] | 394 |             ;;
 | 
|---|
| [3062] | 395 |         s390)
 | 
|---|
 | 396 |             KBUILD_HOST_ARCH='s390'
 | 
|---|
| [992] | 397 |             ;;
 | 
|---|
| [3062] | 398 |         s390x)
 | 
|---|
 | 399 |             KBUILD_HOST_ARCH='s390x'
 | 
|---|
| [992] | 400 |             ;;
 | 
|---|
| [3062] | 401 |         sh|sh2|sh2a|sh3|sh3|sh4|sh4a|sh4al|sh4al-dsp|shmedia)
 | 
|---|
 | 402 |             KBUILD_HOST_ARCH='sh32'
 | 
|---|
 | 403 |             ;;
 | 
|---|
 | 404 |         sh64)
 | 
|---|
 | 405 |             KBUILD_HOST_ARCH='sh64'
 | 
|---|
 | 406 |             ;;
 | 
|---|
 | 407 |         sparc32|sparc|sparcv8|sparcv7|sparcv8e)
 | 
|---|
 | 408 |             KBUILD_HOST_ARCH='sparc32'
 | 
|---|
| [992] | 409 |             ;;
 | 
|---|
| [3062] | 410 |         sparc64|sparcv9)
 | 
|---|
 | 411 |             KBUILD_HOST_ARCH='sparc64'
 | 
|---|
| [992] | 412 |             ;;
 | 
|---|
 | 413 | 
 | 
|---|
| [1517] | 414 |         *)  echo "$0: unknown cpu/arch - $KBUILD_HOST_ARCH" 1>&${ERR_REDIR}
 | 
|---|
| [224] | 415 |             sleep 1
 | 
|---|
 | 416 |             exit 1
 | 
|---|
 | 417 |             ;;
 | 
|---|
 | 418 |     esac
 | 
|---|
 | 419 | 
 | 
|---|
 | 420 | fi
 | 
|---|
| [1517] | 421 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_ARCH=$KBUILD_HOST_ARCH" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 422 | 
 | 
|---|
| [1517] | 423 | if test -z "$KBUILD_HOST_CPU"; then
 | 
|---|
 | 424 |     KBUILD_HOST_CPU="blend"
 | 
|---|
| [992] | 425 | fi
 | 
|---|
| [1517] | 426 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_CPU=$KBUILD_HOST_CPU" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 427 | 
 | 
|---|
| [992] | 428 | #
 | 
|---|
 | 429 | # The target platform.
 | 
|---|
 | 430 | # Defaults to the host when not specified.
 | 
|---|
 | 431 | #
 | 
|---|
| [1517] | 432 | if test -z "$KBUILD_TARGET"; then
 | 
|---|
 | 433 |     KBUILD_TARGET="$KBUILD_HOST"
 | 
|---|
| [224] | 434 | fi
 | 
|---|
| [1517] | 435 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET=$KBUILD_TARGET" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 436 | 
 | 
|---|
| [1517] | 437 | if test -z "$KBUILD_TARGET_ARCH"; then
 | 
|---|
 | 438 |     KBUILD_TARGET_ARCH="$KBUILD_HOST_ARCH"
 | 
|---|
| [224] | 439 | fi
 | 
|---|
| [1517] | 440 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 441 | 
 | 
|---|
| [1517] | 442 | if test -z "$KBUILD_TARGET_CPU"; then
 | 
|---|
 | 443 |     if test "$KBUILD_TARGET_ARCH" = "$KBUILD_HOST_ARCH"; then
 | 
|---|
 | 444 |         KBUILD_TARGET_CPU="$KBUILD_HOST_CPU"
 | 
|---|
| [994] | 445 |     else
 | 
|---|
| [1517] | 446 |         KBUILD_TARGET_CPU="blend"
 | 
|---|
| [994] | 447 |     fi
 | 
|---|
| [224] | 448 | fi
 | 
|---|
| [1517] | 449 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_CPU=$KBUILD_TARGET_CPU" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 450 | 
 | 
|---|
| [1517] | 451 | #
 | 
|---|
| [224] | 452 | # Determin executable extension and path separator.
 | 
|---|
| [1517] | 453 | #
 | 
|---|
| [224] | 454 | _SUFF_EXE=
 | 
|---|
 | 455 | _PATH_SEP=":"
 | 
|---|
| [1517] | 456 | case "$KBUILD_HOST" in
 | 
|---|
| [992] | 457 |     os2|win|nt)
 | 
|---|
| [224] | 458 |         _SUFF_EXE=".exe"
 | 
|---|
 | 459 |         _PATH_SEP=";"
 | 
|---|
 | 460 |         ;;
 | 
|---|
 | 461 | esac
 | 
|---|
 | 462 | 
 | 
|---|
| [1076] | 463 | #
 | 
|---|
| [1517] | 464 | # Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there.
 | 
|---|
| [1076] | 465 | #
 | 
|---|
| [1517] | 466 | if test -z "$KBUILD_PATH"; then
 | 
|---|
 | 467 |     KBUILD_PATH=`dirname "$0"`
 | 
|---|
 | 468 |     KBUILD_PATH=`cd "$KBUILD_PATH" ; /bin/pwd`
 | 
|---|
| [1076] | 469 | fi
 | 
|---|
| [1517] | 470 | if test ! -f "$KBUILD_PATH/footer.kmk" -o ! -f "$KBUILD_PATH/header.kmk" -o ! -f "$KBUILD_PATH/rules.kmk"; then
 | 
|---|
 | 471 |     echo "$0: error: KBUILD_PATH ($KBUILD_PATH) is not pointing to a popluated kBuild directory." 1>&${ERR_REDIR}
 | 
|---|
 | 472 |     sleep 1
 | 
|---|
 | 473 |     exit 1
 | 
|---|
 | 474 | fi
 | 
|---|
 | 475 | test -n "$DBG_OPT" && echo "dbg: KBUILD_PATH=$KBUILD_PATH" 1>&${DBG_REDIR}
 | 
|---|
| [1076] | 476 | 
 | 
|---|
| [1517] | 477 | if test -z "$KBUILD_BIN_PATH"; then
 | 
|---|
 | 478 |     KBUILD_BIN_PATH="${KBUILD_PATH}/bin/${KBUILD_HOST}.${KBUILD_HOST_ARCH}"
 | 
|---|
| [1510] | 479 | fi
 | 
|---|
| [1517] | 480 | test -n "$DBG_OPT" && echo "dbg: KBUILD_BIN_PATH=${KBUILD_BIN_PATH}" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 481 | 
 | 
|---|
| [992] | 482 | #
 | 
|---|
 | 483 | # Add the bin/x.y/ directory to the PATH.
 | 
|---|
 | 484 | # NOTE! Once bootstrapped this is the only thing that is actually necessary.
 | 
|---|
 | 485 | #
 | 
|---|
| [1517] | 486 | PATH="${KBUILD_BIN_PATH}${_PATH_SEP}$PATH"
 | 
|---|
| [1510] | 487 | test -n "$DBG_OPT" && echo "dbg: PATH=$PATH" 1>&${DBG_REDIR}
 | 
|---|
| [224] | 488 | 
 | 
|---|
| [1517] | 489 | #
 | 
|---|
| [224] | 490 | # Sanity and x bits.
 | 
|---|
| [1517] | 491 | #
 | 
|---|
 | 492 | if test ! -d "${KBUILD_BIN_PATH}/"; then
 | 
|---|
| [1531] | 493 |     echo "$0: warning: The bin directory for this platform doesn't exist. (${KBUILD_BIN_PATH}/)" 1>&${ERR_REDIR}
 | 
|---|
| [224] | 494 | else
 | 
|---|
| [731] | 495 |     for prog in kmk kDepPre kDepIDB kmk_append kmk_ash kmk_cat kmk_cp kmk_echo kmk_install kmk_ln kmk_mkdir kmk_mv kmk_rm kmk_rmdir kmk_sed;
 | 
|---|
| [224] | 496 |     do
 | 
|---|
| [1517] | 497 |         chmod a+x ${KBUILD_BIN_PATH}/${prog} > /dev/null 2>&1
 | 
|---|
 | 498 |         if test ! -f "${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE}"; then
 | 
|---|
 | 499 |             echo "$0: warning: The ${prog} program doesn't exist for this platform. (${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE})" 1>&${ERR_REDIR}
 | 
|---|
| [224] | 500 |         fi
 | 
|---|
 | 501 |     done
 | 
|---|
 | 502 | fi
 | 
|---|
 | 503 | 
 | 
|---|
| [1517] | 504 | #
 | 
|---|
 | 505 | # The environment is in place, now take the requested action.
 | 
|---|
 | 506 | #
 | 
|---|
| [1542] | 507 | MY_RC=0
 | 
|---|
| [1513] | 508 | if test -n "${VAR_OPT}"; then
 | 
|---|
 | 509 |     # Echo variable values or variable export statements.
 | 
|---|
 | 510 |     for var in ${VAR_OPT};
 | 
|---|
 | 511 |     do
 | 
|---|
 | 512 |         val=
 | 
|---|
| [1531] | 513 |         case "$var" in
 | 
|---|
 | 514 |             PATH)
 | 
|---|
 | 515 |                 val=$PATH
 | 
|---|
| [1513] | 516 |                 ;;
 | 
|---|
| [1531] | 517 |             KBUILD_PATH)
 | 
|---|
 | 518 |                 val=$KBUILD_PATH
 | 
|---|
| [1513] | 519 |                 ;;
 | 
|---|
| [1531] | 520 |             KBUILD_BIN_PATH)
 | 
|---|
| [1517] | 521 |                 val=$KBUILD_BIN_PATH
 | 
|---|
| [1513] | 522 |                 ;;
 | 
|---|
| [1531] | 523 |             KBUILD_HOST)
 | 
|---|
 | 524 |                 val=$KBUILD_HOST
 | 
|---|
| [1513] | 525 |                 ;;
 | 
|---|
| [1531] | 526 |             KBUILD_HOST_ARCH)
 | 
|---|
| [1517] | 527 |                 val=$KBUILD_HOST_ARCH
 | 
|---|
| [1513] | 528 |                 ;;
 | 
|---|
| [1531] | 529 |             KBUILD_HOST_CPU)
 | 
|---|
| [1517] | 530 |                 val=$KBUILD_HOST_CPU
 | 
|---|
| [1513] | 531 |                 ;;
 | 
|---|
| [1531] | 532 |             KBUILD_TARGET)
 | 
|---|
 | 533 |                 val=$KBUILD_TARGET
 | 
|---|
| [1513] | 534 |                 ;;
 | 
|---|
| [1531] | 535 |             KBUILD_TARGET_ARCH)
 | 
|---|
| [1517] | 536 |                 val=$KBUILD_TARGET_ARCH
 | 
|---|
| [1513] | 537 |                 ;;
 | 
|---|
| [1531] | 538 |             KBUILD_TARGET_CPU)
 | 
|---|
| [1517] | 539 |                 val=$KBUILD_TARGET_CPU
 | 
|---|
| [1513] | 540 |                 ;;
 | 
|---|
| [1531] | 541 |             KBUILD_TYPE)
 | 
|---|
| [1517] | 542 |                 val=$KBUILD_TYPE
 | 
|---|
| [1513] | 543 |                 ;;
 | 
|---|
| [1531] | 544 |             *)
 | 
|---|
| [1513] | 545 |                 echo "$0: error: Unknown variable $var specified in --var request." 1>&${ERR_REDIR}
 | 
|---|
 | 546 |                 sleep 1
 | 
|---|
 | 547 |                 exit 1
 | 
|---|
 | 548 |                 ;;
 | 
|---|
 | 549 |         esac
 | 
|---|
| [1512] | 550 | 
 | 
|---|
| [1513] | 551 |         if test -n "$EVAL_OPT"; then
 | 
|---|
| [1530] | 552 |             echo "${EVAL_EXPORT} $var=$val"
 | 
|---|
| [1513] | 553 |         else
 | 
|---|
| [1517] | 554 |             if test -n "$VALUE_ONLY_OPT"; then
 | 
|---|
 | 555 |                 echo "$val"
 | 
|---|
 | 556 |             else
 | 
|---|
 | 557 |                 echo "$var=$val"
 | 
|---|
 | 558 |             fi
 | 
|---|
| [1510] | 559 |         fi
 | 
|---|
| [1513] | 560 |     done
 | 
|---|
 | 561 | else
 | 
|---|
 | 562 |     if test -n "$EVAL_OPT"; then
 | 
|---|
 | 563 |         # Echo statements for the shell to evaluate.
 | 
|---|
 | 564 |         test -n "$DBG_OPT" && echo "dbg: echoing exported variables" 1>&${DBG_REDIR}
 | 
|---|
| [1530] | 565 |         echo "${EVAL_EXPORT} PATH=${PATH}"
 | 
|---|
 | 566 |         test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && echo "${EVAL_EXPORT} KBUILD_TYPE=${KBUILD_TYPE}"
 | 
|---|
| [1513] | 567 |         if test -n "${FULL_OPT}"; then
 | 
|---|
| [1530] | 568 |             echo "${EVAL_EXPORT} KBUILD_PATH=${KBUILD_PATH}"
 | 
|---|
| [2191] | 569 |             if test -n "{FULL_WITH_BIN_OPT}"; then
 | 
|---|
 | 570 |                 echo "${EVAL_EXPORT} KBUILD_BIN_PATH=${KBUILD_BIN_PATH}"
 | 
|---|
 | 571 |             fi
 | 
|---|
| [1530] | 572 |             echo "${EVAL_EXPORT} KBUILD_HOST=${KBUILD_HOST}"
 | 
|---|
 | 573 |             echo "${EVAL_EXPORT} KBUILD_HOST_ARCH=${KBUILD_HOST_ARCH}"
 | 
|---|
 | 574 |             echo "${EVAL_EXPORT} KBUILD_HOST_CPU=${KBUILD_HOST_CPU}"
 | 
|---|
 | 575 |             echo "${EVAL_EXPORT} KBUILD_TARGET=${KBUILD_TARGET}"
 | 
|---|
 | 576 |             echo "${EVAL_EXPORT} KBUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
 | 
|---|
 | 577 |             echo "${EVAL_EXPORT} KBUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
 | 
|---|
| [1517] | 578 | 
 | 
|---|
 | 579 |             if test -n "${LEGACY_OPT}"; then
 | 
|---|
| [1530] | 580 |                 echo "${EVAL_EXPORT} PATH_KBUILD=${KBUILD_PATH}"
 | 
|---|
| [2243] | 581 |                 if test -n "${FULL_WITH_BIN_OPT}"; then
 | 
|---|
| [2191] | 582 |                     echo "${EVAL_EXPORT} PATH_KBUILD_BIN=${KBUILD_PATH_BIN}"
 | 
|---|
| [2243] | 583 |                 fi
 | 
|---|
| [1530] | 584 |                 echo "${EVAL_EXPORT} BUILD_TYPE=${KBUILD_TYPE}"
 | 
|---|
 | 585 |                 echo "${EVAL_EXPORT} BUILD_PLATFORM=${KBUILD_HOST}"
 | 
|---|
 | 586 |                 echo "${EVAL_EXPORT} BUILD_PLATFORM_ARCH=${KBUILD_HOST_ARCH}"
 | 
|---|
 | 587 |                 echo "${EVAL_EXPORT} BUILD_PLATFORM_CPU=${KBUILD_HOST_CPU}"
 | 
|---|
 | 588 |                 echo "${EVAL_EXPORT} BUILD_TARGET=${KBUILD_TARGET}"
 | 
|---|
 | 589 |                 echo "${EVAL_EXPORT} BUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
 | 
|---|
 | 590 |                 echo "${EVAL_EXPORT} BUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
 | 
|---|
| [1517] | 591 |             fi
 | 
|---|
| [1513] | 592 |         fi
 | 
|---|
| [1510] | 593 |     else
 | 
|---|
| [1513] | 594 |         # Export variables.
 | 
|---|
 | 595 |         export PATH
 | 
|---|
| [1530] | 596 |         test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && export KBUILD_TYPE
 | 
|---|
| [1513] | 597 |         if test -n "${FULL_OPT}"; then
 | 
|---|
| [1517] | 598 |             export KBUILD_PATH
 | 
|---|
| [2191] | 599 |             if test -n "${FULL_WITH_BIN_OPT}"; then
 | 
|---|
 | 600 |                 export KBUILD_BIN_PATH
 | 
|---|
 | 601 |             fi
 | 
|---|
| [1517] | 602 |             export KBUILD_HOST
 | 
|---|
 | 603 |             export KBUILD_HOST_ARCH
 | 
|---|
 | 604 |             export KBUILD_HOST_CPU
 | 
|---|
 | 605 |             export KBUILD_TARGET
 | 
|---|
 | 606 |             export KBUILD_TARGET_ARCH
 | 
|---|
 | 607 |             export KBUILD_TARGET_CPU
 | 
|---|
 | 608 | 
 | 
|---|
 | 609 |             if test -n "${LEGACY_OPT}"; then
 | 
|---|
 | 610 |                 export PATH_KBUILD=$KBUILD_PATH
 | 
|---|
| [2191] | 611 |                 if test -n "${FULL_WITH_BIN_OPT}"; then
 | 
|---|
 | 612 |                     export PATH_KBUILD_BIN=$KBUILD_BIN_PATH
 | 
|---|
 | 613 |                 fi
 | 
|---|
| [1517] | 614 |                 export BUILD_TYPE=$KBUILD_TYPE
 | 
|---|
 | 615 |                 export BUILD_PLATFORM=$KBUILD_HOST
 | 
|---|
 | 616 |                 export BUILD_PLATFORM_ARCH=$KBUILD_HOST_ARCH
 | 
|---|
 | 617 |                 export BUILD_PLATFORM_CPU=$KBUILD_HOST_CPU
 | 
|---|
 | 618 |                 export BUILD_TARGET=$KBUILD_TARGET
 | 
|---|
 | 619 |                 export BUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH
 | 
|---|
 | 620 |                 export BUILD_TARGET_CPU=$KBUILD_TARGET_CPU
 | 
|---|
 | 621 |             fi
 | 
|---|
| [1513] | 622 |         fi
 | 
|---|
| [1531] | 623 | 
 | 
|---|
| [1513] | 624 |         # Execute command or spawn shell.
 | 
|---|
 | 625 |         if test $# -eq 0; then
 | 
|---|
 | 626 |             test -z "${QUIET_OPT}" && echo "$0: info: Spawning work shell..." 1>&${ERR_REDIR}
 | 
|---|
 | 627 |             if test "$TERM" != 'dumb'  -a  -n "$BASH"; then
 | 
|---|
 | 628 |                 export PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'
 | 
|---|
 | 629 |             fi
 | 
|---|
 | 630 |             $SHELL -i
 | 
|---|
| [1542] | 631 |             MY_RC=$?
 | 
|---|
| [1513] | 632 |         else
 | 
|---|
 | 633 |             test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR}
 | 
|---|
 | 634 |             $*
 | 
|---|
| [1542] | 635 |             MY_RC=$?
 | 
|---|
 | 636 |             test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR}
 | 
|---|
| [1513] | 637 |         fi
 | 
|---|
| [224] | 638 |     fi
 | 
|---|
 | 639 | fi
 | 
|---|
| [1542] | 640 | test -n "$DBG_OPT" && echo "dbg: finished (rc=$MY_RC)" 1>&${DBG_REDIR}
 | 
|---|
 | 641 | exit $MY_RC
 | 
|---|
| [731] | 642 | 
 | 
|---|