| [1510] | 1 | #!/bin/sh | 
|---|
| [224] | 2 | # $Id: env.sh 1731 2008-09-05 04:27:14Z bird $ | 
|---|
|  | 3 | ## @file | 
|---|
|  | 4 | # Environment setup script. | 
|---|
|  | 5 | # | 
|---|
| [1511] | 6 |  | 
|---|
|  | 7 | # | 
|---|
| [1507] | 8 | # Copyright (c) 2005-2008 knut st. osmundsen <bird-kBuild-spam@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= | 
|---|
| [1570] | 39 | LEGACY_OPT= | 
|---|
| [1513] | 40 | VAR_OPT= | 
|---|
| [1517] | 41 | VALUE_ONLY_OPT= | 
|---|
| [1530] | 42 | EXP_TYPE_OPT= | 
|---|
| [1531] | 43 | while test $# -gt 0; | 
|---|
| [1512] | 44 | do | 
|---|
|  | 45 | case "$1" in | 
|---|
| [1530] | 46 | "--debug-script") | 
|---|
| [1512] | 47 | DBG_OPT="true" | 
|---|
|  | 48 | ;; | 
|---|
| [1530] | 49 | "--no-debug-script") | 
|---|
| [1517] | 50 | DBG_OPT= | 
|---|
|  | 51 | ;; | 
|---|
| [1512] | 52 | "--quiet") | 
|---|
|  | 53 | QUIET_OPT="true" | 
|---|
|  | 54 | ;; | 
|---|
| [1517] | 55 | "--verbose") | 
|---|
|  | 56 | QUIET_OPT= | 
|---|
|  | 57 | ;; | 
|---|
| [1512] | 58 | "--full") | 
|---|
|  | 59 | FULL_OPT="true" | 
|---|
|  | 60 | ;; | 
|---|
| [1517] | 61 | "--normal") | 
|---|
|  | 62 | FULL_OPT= | 
|---|
|  | 63 | ;; | 
|---|
|  | 64 | "--legacy") | 
|---|
|  | 65 | LEGACY_OPT="true" | 
|---|
|  | 66 | ;; | 
|---|
|  | 67 | "--no-legacy") | 
|---|
|  | 68 | LEGACY_OPT= | 
|---|
|  | 69 | ;; | 
|---|
| [1512] | 70 | "--eval") | 
|---|
|  | 71 | EVAL_OPT="true" | 
|---|
|  | 72 | ERR_REDIR=2 | 
|---|
|  | 73 | DBG_REDIR=2 | 
|---|
|  | 74 | ;; | 
|---|
| [1530] | 75 | "--set") | 
|---|
|  | 76 | EVAL_OPT="true" | 
|---|
|  | 77 | EVAL_EXPORT="" | 
|---|
|  | 78 | ERR_REDIR=2 | 
|---|
|  | 79 | DBG_REDIR=2 | 
|---|
|  | 80 | ;; | 
|---|
| [1513] | 81 | "--var") | 
|---|
|  | 82 | shift | 
|---|
|  | 83 | VAR_OPT="${VAR_OPT} $1" | 
|---|
| [1517] | 84 | ERR_REDIR=2 | 
|---|
|  | 85 | DBG_REDIR=2 | 
|---|
| [1513] | 86 | ;; | 
|---|
| [1517] | 87 | "--value-only") | 
|---|
|  | 88 | VALUE_ONLY_OPT="true" | 
|---|
|  | 89 | ;; | 
|---|
|  | 90 | "--name-and-value") | 
|---|
|  | 91 | VALUE_ONLY_OPT= | 
|---|
|  | 92 | ;; | 
|---|
| [1530] | 93 | "--release") | 
|---|
|  | 94 | EXP_TYPE_OPT=1 | 
|---|
|  | 95 | KBUILD_TYPE=release | 
|---|
|  | 96 | BUILD_TYPE= | 
|---|
|  | 97 | ;; | 
|---|
|  | 98 | "--debug") | 
|---|
|  | 99 | EXP_TYPE_OPT=1 | 
|---|
|  | 100 | KBUILD_TYPE=debug | 
|---|
|  | 101 | BUILD_TYPE= | 
|---|
|  | 102 | ;; | 
|---|
|  | 103 | "--profile") | 
|---|
|  | 104 | EXP_TYPE_OPT=1 | 
|---|
|  | 105 | KBUILD_TYPE=profile | 
|---|
|  | 106 | BUILD_TYPE= | 
|---|
|  | 107 | ;; | 
|---|
|  | 108 |  | 
|---|
| [1512] | 109 | "--help") | 
|---|
| [1731] | 110 | echo "kBuild Environment Setup Script, v0.1.4" | 
|---|
| [1517] | 111 | echo "" | 
|---|
|  | 112 | echo "syntax: $0 [options] [command [args]]" | 
|---|
|  | 113 | echo "    or: $0 [options] --var <varname>" | 
|---|
|  | 114 | echo "    or: $0 [options] --eval" | 
|---|
|  | 115 | echo "    or: $0 [options] --eval --var <varname>" | 
|---|
|  | 116 | echo "" | 
|---|
| [1570] | 117 | echo "The first form will execute the command, or if no command is given start" | 
|---|
| [1517] | 118 | echo "an interactive shell." | 
|---|
|  | 119 | echo "The second form will print the specfified variable(s)." | 
|---|
|  | 120 | echo "The third form will print all exported variables suitable for bourne shell" | 
|---|
|  | 121 | echo "evalutation." | 
|---|
|  | 122 | echo "The forth form will only print the specified variable(s)." | 
|---|
|  | 123 | echo "" | 
|---|
|  | 124 | echo "Options:" | 
|---|
| [1530] | 125 | echo "  --debug, --release, --profile" | 
|---|
|  | 126 | echo "      Alternative way of specifying KBUILD_TYPE." | 
|---|
|  | 127 | echo "  --debug-script, --no-debug-script" | 
|---|
|  | 128 | echo "      Controls debug output. Default: --no-debug-script" | 
|---|
| [1517] | 129 | echo "  --quiet, --verbose" | 
|---|
|  | 130 | echo "      Controls informational output. Default: --verbose" | 
|---|
|  | 131 | echo "  --full, --normal" | 
|---|
|  | 132 | echo "      Controls the variable set. Default: --normal" | 
|---|
|  | 133 | echo "  --legacy, --no-legacy" | 
|---|
| [1570] | 134 | echo "      Include legacy variables in result. Default: --no-legacy" | 
|---|
| [1517] | 135 | echo "  --value-only, --name-and-value" | 
|---|
|  | 136 | echo "      Controls what the result of a --var query. Default: --name-and-value" | 
|---|
| [1530] | 137 | echo "  --set, --export" | 
|---|
|  | 138 | echo "      Whether --eval explicitly export the variables. --set is useful for" | 
|---|
|  | 139 | echo "      getting a list of environment vars for a commandline, while --eval" | 
|---|
|  | 140 | echo "      is useful for eval `env.sh`. Default: --export" | 
|---|
| [1517] | 141 | echo "" | 
|---|
| [1512] | 142 | exit 1 | 
|---|
|  | 143 | ;; | 
|---|
|  | 144 | *) | 
|---|
|  | 145 | break | 
|---|
|  | 146 | ;; | 
|---|
|  | 147 | esac | 
|---|
| [1510] | 148 | shift | 
|---|
| [1512] | 149 | done | 
|---|
| [1510] | 150 |  | 
|---|
|  | 151 |  | 
|---|
|  | 152 | # | 
|---|
| [1517] | 153 | # Deal with legacy environment variables. | 
|---|
| [992] | 154 | # | 
|---|
| [1517] | 155 | if test -n "$PATH_KBUILD"; then | 
|---|
|  | 156 | if test -n "$KBUILD_PATH"  -a  "$KBUILD_PATH" != "$PATH_KBUILD"; then | 
|---|
|  | 157 | echo "$0: error: KBUILD_PATH ($KBUILD_PATH) and PATH_KBUILD ($PATH_KBUILD) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 158 | sleep 1 | 
|---|
|  | 159 | exit 1 | 
|---|
|  | 160 | fi | 
|---|
|  | 161 | KBUILD_PATH=$PATH_KBUILD | 
|---|
| [224] | 162 | fi | 
|---|
| [1517] | 163 | if test -n "$PATH_KBUILD_BIN"; then | 
|---|
|  | 164 | if test -n "$KBUILD_BIN_PATH"  -a  "$KBUILD_BIN_PATH" != "$PATH_KBUILD_BIN"; then | 
|---|
|  | 165 | echo "$0: error: KBUILD_BIN_PATH ($KBUILD_BIN_PATH) and PATH_KBUILD_BIN ($PATH_KBUILD_BIN) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 166 | sleep 1 | 
|---|
|  | 167 | exit 1 | 
|---|
|  | 168 | fi | 
|---|
|  | 169 | KBUILD_BIN_PATH=$PATH_KBUILD_BIN | 
|---|
| [224] | 170 | fi | 
|---|
|  | 171 |  | 
|---|
| [1517] | 172 | if test -n "$BUILD_TYPE"; then | 
|---|
|  | 173 | if test -n "$KBUILD_TYPE"  -a  "$KBUILD_TYPE" != "$BUILD_TYPE"; then | 
|---|
|  | 174 | echo "$0: error: KBUILD_TYPE ($KBUILD_TYPE) and BUILD_TYPE ($BUILD_TYPE) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 175 | sleep 1 | 
|---|
|  | 176 | exit 1 | 
|---|
|  | 177 | fi | 
|---|
|  | 178 | KBUILD_TYPE=$BUILD_TYPE | 
|---|
|  | 179 | fi | 
|---|
| [1076] | 180 |  | 
|---|
| [1517] | 181 | if test -n "$BUILD_PLATFORM"; then | 
|---|
|  | 182 | if test -n "$KBUILD_HOST"  -a  "$KBUILD_HOST" != "$BUILD_PLATFORM"; then | 
|---|
|  | 183 | echo "$0: error: KBUILD_HOST ($KBUILD_HOST) and BUILD_PLATFORM ($BUILD_PLATFORM) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 184 | sleep 1 | 
|---|
|  | 185 | exit 1 | 
|---|
|  | 186 | fi | 
|---|
|  | 187 | KBUILD_HOST=$BUILD_PLATFORM | 
|---|
|  | 188 | fi | 
|---|
|  | 189 | if test -n "$BUILD_PLATFORM_ARCH"; then | 
|---|
|  | 190 | if test -n "$KBUILD_HOST_ARCH"  -a  "$KBUILD_HOST_ARCH" != "$BUILD_PLATFORM_ARCH"; then | 
|---|
|  | 191 | echo "$0: error: KBUILD_HOST_ARCH ($KBUILD_HOST_ARCH) and BUILD_PLATFORM_ARCH ($BUILD_PLATFORM_ARCH) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 192 | sleep 1 | 
|---|
|  | 193 | exit 1 | 
|---|
|  | 194 | fi | 
|---|
|  | 195 | KBUILD_HOST_ARCH=$BUILD_PLATFORM_ARCH | 
|---|
|  | 196 | fi | 
|---|
|  | 197 | if test -n "$BUILD_PLATFORM_CPU"; then | 
|---|
|  | 198 | if test -n "$KBUILD_HOST_CPU"  -a  "$KBUILD_HOST_CPU" != "$BUILD_PLATFORM_CPU"; then | 
|---|
|  | 199 | echo "$0: error: KBUILD_HOST_CPU ($KBUILD_HOST_CPU) and BUILD_PLATFORM_CPU ($BUILD_PLATFORM_CPU) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 200 | sleep 1 | 
|---|
|  | 201 | exit 1 | 
|---|
|  | 202 | fi | 
|---|
|  | 203 | KBUILD_HOST_CPU=$BUILD_PLATFORM_CPU | 
|---|
|  | 204 | fi | 
|---|
|  | 205 |  | 
|---|
|  | 206 | if test -n "$BUILD_TARGET"; then | 
|---|
|  | 207 | if test -n "$KBUILD_TARGET"  -a  "$KBUILD_TARGET" != "$BUILD_TARGET"; then | 
|---|
|  | 208 | echo "$0: error: KBUILD_TARGET ($KBUILD_TARGET) and BUILD_TARGET ($BUILD_TARGET) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 209 | sleep 1 | 
|---|
|  | 210 | exit 1 | 
|---|
|  | 211 | fi | 
|---|
|  | 212 | KBUILD_TARGET=$BUILD_TARGET | 
|---|
|  | 213 | fi | 
|---|
|  | 214 | if test -n "$BUILD_TARGET_ARCH"; then | 
|---|
|  | 215 | if test -n "$KBUILD_TARGET_ARCH"  -a  "$KBUILD_TARGET_ARCH" != "$BUILD_TARGET_ARCH"; then | 
|---|
|  | 216 | echo "$0: error: KBUILD_TARGET_ARCH ($KBUILD_TARGET_ARCH) and BUILD_TARGET_ARCH ($BUILD_TARGET_ARCH) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 217 | sleep 1 | 
|---|
|  | 218 | exit 1 | 
|---|
|  | 219 | fi | 
|---|
|  | 220 | KBUILD_TARGET_ARCH=$BUILD_TARGET_ARCH | 
|---|
|  | 221 | fi | 
|---|
|  | 222 | if test -n "$BUILD_TARGET_CPU"; then | 
|---|
|  | 223 | if test -n "$KBUILD_TARGET_CPU"  -a  "$KBUILD_TARGET_CPU" != "$BUILD_TARGET_CPU"; then | 
|---|
|  | 224 | echo "$0: error: KBUILD_TARGET_CPU ($KBUILD_TARGET_CPU) and BUILD_TARGET_CPU ($BUILD_TARGET_CPU) disagree." 1>&${ERR_REDIR} | 
|---|
|  | 225 | sleep 1 | 
|---|
|  | 226 | exit 1 | 
|---|
|  | 227 | fi | 
|---|
|  | 228 | KBUILD_TARGET_CPU=$BUILD_TARGET_CPU | 
|---|
|  | 229 | fi | 
|---|
|  | 230 |  | 
|---|
|  | 231 |  | 
|---|
| [992] | 232 | # | 
|---|
|  | 233 | # Set default build type. | 
|---|
|  | 234 | # | 
|---|
| [1517] | 235 | if test -z "$KBUILD_TYPE"; then | 
|---|
|  | 236 | KBUILD_TYPE=release | 
|---|
| [224] | 237 | fi | 
|---|
| [1517] | 238 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TYPE=$KBUILD_TYPE" 1>&${DBG_REDIR} | 
|---|
| [224] | 239 |  | 
|---|
| [992] | 240 | # | 
|---|
|  | 241 | # Determin the host platform. | 
|---|
|  | 242 | # | 
|---|
|  | 243 | # The CPU isn't important, only the other two are.  But, since the cpu, | 
|---|
|  | 244 | # arch and platform (and build type) share a common key space, try make | 
|---|
|  | 245 | # sure any new additions are unique. (See header.kmk, KBUILD_OSES/ARCHES.) | 
|---|
|  | 246 | # | 
|---|
| [1517] | 247 | if test -z "$KBUILD_HOST"; then | 
|---|
|  | 248 | KBUILD_HOST=`uname` | 
|---|
|  | 249 | case "$KBUILD_HOST" in | 
|---|
| [1603] | 250 | Darwin|darwin) | 
|---|
|  | 251 | KBUILD_HOST=darwin | 
|---|
| [994] | 252 | ;; | 
|---|
|  | 253 |  | 
|---|
| [1603] | 254 | DragonFly) | 
|---|
|  | 255 | KBUILD_HOST=dragonfly | 
|---|
| [994] | 256 | ;; | 
|---|
|  | 257 |  | 
|---|
|  | 258 | freebsd|FreeBSD|FREEBSD) | 
|---|
| [1517] | 259 | KBUILD_HOST=freebsd | 
|---|
| [994] | 260 | ;; | 
|---|
|  | 261 |  | 
|---|
| [1603] | 262 | linux|Linux|GNU/Linux|LINUX) | 
|---|
|  | 263 | KBUILD_HOST=linux | 
|---|
| [994] | 264 | ;; | 
|---|
|  | 265 |  | 
|---|
|  | 266 | netbsd|NetBSD|NETBSD) | 
|---|
| [1517] | 267 | KBUILD_HOST=netbsd | 
|---|
| [994] | 268 | ;; | 
|---|
|  | 269 |  | 
|---|
| [1603] | 270 | openbsd|OpenBSD|OPENBSD) | 
|---|
|  | 271 | KBUILD_HOST=openbsd | 
|---|
| [994] | 272 | ;; | 
|---|
|  | 273 |  | 
|---|
| [1603] | 274 | os2|OS/2|OS2) | 
|---|
|  | 275 | KBUILD_HOST=os2 | 
|---|
|  | 276 | ;; | 
|---|
|  | 277 |  | 
|---|
| [994] | 278 | SunOS) | 
|---|
| [1517] | 279 | KBUILD_HOST=solaris | 
|---|
| [994] | 280 | ;; | 
|---|
|  | 281 |  | 
|---|
|  | 282 | WindowsNT|CYGWIN_NT-*) | 
|---|
| [1517] | 283 | KBUILD_HOST=win | 
|---|
| [994] | 284 | ;; | 
|---|
|  | 285 |  | 
|---|
|  | 286 | *) | 
|---|
| [1517] | 287 | echo "$0: unknown os $KBUILD_HOST" 1>&${ERR_REDIR} | 
|---|
| [994] | 288 | sleep 1 | 
|---|
|  | 289 | exit 1 | 
|---|
|  | 290 | ;; | 
|---|
|  | 291 | esac | 
|---|
|  | 292 | fi | 
|---|
| [1517] | 293 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST=$KBUILD_HOST" 1>&${DBG_REDIR} | 
|---|
| [994] | 294 |  | 
|---|
| [1517] | 295 | if test -z "$KBUILD_HOST_ARCH"; then | 
|---|
| [992] | 296 | # Try deduce it from the cpu if given. | 
|---|
| [1517] | 297 | if test -n "$KBUILD_HOST_CPU"; then | 
|---|
|  | 298 | case "$KBUILD_HOST_CPU" in | 
|---|
| [992] | 299 | i[3456789]86) | 
|---|
| [1517] | 300 | KBUILD_HOST_ARCH='x86' | 
|---|
| [992] | 301 | ;; | 
|---|
|  | 302 | k8|k8l|k9|k10) | 
|---|
| [1517] | 303 | KBUILD_HOST_ARCH='amd64' | 
|---|
| [992] | 304 | ;; | 
|---|
|  | 305 | esac | 
|---|
|  | 306 | fi | 
|---|
| [224] | 307 | fi | 
|---|
| [1517] | 308 | if test -z "$KBUILD_HOST_ARCH"; then | 
|---|
| [1156] | 309 | # Use uname -m or isainfo (lots of guesses here, please help clean this up...) | 
|---|
| [1517] | 310 | if test "$KBUILD_HOST" = "solaris"; then | 
|---|
|  | 311 | KBUILD_HOST_ARCH=`isainfo | cut -f 1 -d ' '` | 
|---|
| [1531] | 312 |  | 
|---|
| [1156] | 313 | else | 
|---|
| [1517] | 314 | KBUILD_HOST_ARCH=`uname -m` | 
|---|
| [1156] | 315 | fi | 
|---|
| [1517] | 316 | case "$KBUILD_HOST_ARCH" in | 
|---|
| [992] | 317 | x86_64|AMD64|amd64|k8|k8l|k9|k10) | 
|---|
| [1517] | 318 | KBUILD_HOST_ARCH='amd64' | 
|---|
| [992] | 319 | ;; | 
|---|
|  | 320 | x86|i86pc|ia32|i[3456789]86) | 
|---|
| [1517] | 321 | KBUILD_HOST_ARCH='x86' | 
|---|
| [224] | 322 | ;; | 
|---|
| [992] | 323 | sparc32|sparc) | 
|---|
| [1517] | 324 | KBUILD_HOST_ARCH='sparc32' | 
|---|
| [299] | 325 | ;; | 
|---|
| [992] | 326 | sparc64) | 
|---|
| [1517] | 327 | KBUILD_HOST_ARCH='sparc64' | 
|---|
| [992] | 328 | ;; | 
|---|
|  | 329 | s390) | 
|---|
| [1517] | 330 | KBUILD_HOST_ARCH='s390' | 
|---|
| [992] | 331 | ;; | 
|---|
| [1380] | 332 | s390x) | 
|---|
| [1517] | 333 | KBUILD_HOST_ARCH='s390x' | 
|---|
| [1380] | 334 | ;; | 
|---|
| [992] | 335 | ppc32|ppc|powerpc) | 
|---|
| [1517] | 336 | KBUILD_HOST_ARCH='ppc32' | 
|---|
| [992] | 337 | ;; | 
|---|
|  | 338 | ppc64|powerpc64) | 
|---|
| [1517] | 339 | KBUILD_HOST_ARCH='ppc64' | 
|---|
| [992] | 340 | ;; | 
|---|
|  | 341 | mips32|mips) | 
|---|
| [1517] | 342 | KBUILD_HOST_ARCH='mips32' | 
|---|
| [992] | 343 | ;; | 
|---|
|  | 344 | mips64) | 
|---|
| [1517] | 345 | KBUILD_HOST_ARCH='mips64' | 
|---|
| [992] | 346 | ;; | 
|---|
|  | 347 | ia64) | 
|---|
| [1517] | 348 | KBUILD_HOST_ARCH='ia64' | 
|---|
| [992] | 349 | ;; | 
|---|
| [1589] | 350 | hppa32|parisc32|parisc) | 
|---|
| [1517] | 351 | KBUILD_HOST_ARCH='hppa32' | 
|---|
| [992] | 352 | ;; | 
|---|
|  | 353 | hppa64|parisc64) | 
|---|
| [1517] | 354 | KBUILD_HOST_ARCH='hppa64' | 
|---|
| [992] | 355 | ;; | 
|---|
| [1589] | 356 | arm|armv4l|armv5tel|armv5tejl) | 
|---|
| [1517] | 357 | KBUILD_HOST_ARCH='arm' | 
|---|
| [992] | 358 | ;; | 
|---|
|  | 359 | alpha) | 
|---|
| [1517] | 360 | KBUILD_HOST_ARCH='alpha' | 
|---|
| [992] | 361 | ;; | 
|---|
|  | 362 |  | 
|---|
| [1517] | 363 | *)  echo "$0: unknown cpu/arch - $KBUILD_HOST_ARCH" 1>&${ERR_REDIR} | 
|---|
| [224] | 364 | sleep 1 | 
|---|
|  | 365 | exit 1 | 
|---|
|  | 366 | ;; | 
|---|
|  | 367 | esac | 
|---|
|  | 368 |  | 
|---|
|  | 369 | fi | 
|---|
| [1517] | 370 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_ARCH=$KBUILD_HOST_ARCH" 1>&${DBG_REDIR} | 
|---|
| [224] | 371 |  | 
|---|
| [1517] | 372 | if test -z "$KBUILD_HOST_CPU"; then | 
|---|
|  | 373 | KBUILD_HOST_CPU="blend" | 
|---|
| [992] | 374 | fi | 
|---|
| [1517] | 375 | test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_CPU=$KBUILD_HOST_CPU" 1>&${DBG_REDIR} | 
|---|
| [224] | 376 |  | 
|---|
| [992] | 377 | # | 
|---|
|  | 378 | # The target platform. | 
|---|
|  | 379 | # Defaults to the host when not specified. | 
|---|
|  | 380 | # | 
|---|
| [1517] | 381 | if test -z "$KBUILD_TARGET"; then | 
|---|
|  | 382 | KBUILD_TARGET="$KBUILD_HOST" | 
|---|
| [224] | 383 | fi | 
|---|
| [1517] | 384 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET=$KBUILD_TARGET" 1>&${DBG_REDIR} | 
|---|
| [224] | 385 |  | 
|---|
| [1517] | 386 | if test -z "$KBUILD_TARGET_ARCH"; then | 
|---|
|  | 387 | KBUILD_TARGET_ARCH="$KBUILD_HOST_ARCH" | 
|---|
| [224] | 388 | fi | 
|---|
| [1517] | 389 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH" 1>&${DBG_REDIR} | 
|---|
| [224] | 390 |  | 
|---|
| [1517] | 391 | if test -z "$KBUILD_TARGET_CPU"; then | 
|---|
|  | 392 | if test "$KBUILD_TARGET_ARCH" = "$KBUILD_HOST_ARCH"; then | 
|---|
|  | 393 | KBUILD_TARGET_CPU="$KBUILD_HOST_CPU" | 
|---|
| [994] | 394 | else | 
|---|
| [1517] | 395 | KBUILD_TARGET_CPU="blend" | 
|---|
| [994] | 396 | fi | 
|---|
| [224] | 397 | fi | 
|---|
| [1517] | 398 | test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_CPU=$KBUILD_TARGET_CPU" 1>&${DBG_REDIR} | 
|---|
| [224] | 399 |  | 
|---|
| [1517] | 400 | # | 
|---|
| [224] | 401 | # Determin executable extension and path separator. | 
|---|
| [1517] | 402 | # | 
|---|
| [224] | 403 | _SUFF_EXE= | 
|---|
|  | 404 | _PATH_SEP=":" | 
|---|
| [1517] | 405 | case "$KBUILD_HOST" in | 
|---|
| [992] | 406 | os2|win|nt) | 
|---|
| [224] | 407 | _SUFF_EXE=".exe" | 
|---|
|  | 408 | _PATH_SEP=";" | 
|---|
|  | 409 | ;; | 
|---|
|  | 410 | esac | 
|---|
|  | 411 |  | 
|---|
| [1076] | 412 | # | 
|---|
| [1517] | 413 | # Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there. | 
|---|
| [1076] | 414 | # | 
|---|
| [1517] | 415 | if test -z "$KBUILD_PATH"; then | 
|---|
|  | 416 | KBUILD_PATH=`dirname "$0"` | 
|---|
|  | 417 | KBUILD_PATH=`cd "$KBUILD_PATH" ; /bin/pwd` | 
|---|
| [1076] | 418 | fi | 
|---|
| [1517] | 419 | if test ! -f "$KBUILD_PATH/footer.kmk" -o ! -f "$KBUILD_PATH/header.kmk" -o ! -f "$KBUILD_PATH/rules.kmk"; then | 
|---|
|  | 420 | echo "$0: error: KBUILD_PATH ($KBUILD_PATH) is not pointing to a popluated kBuild directory." 1>&${ERR_REDIR} | 
|---|
|  | 421 | sleep 1 | 
|---|
|  | 422 | exit 1 | 
|---|
|  | 423 | fi | 
|---|
|  | 424 | test -n "$DBG_OPT" && echo "dbg: KBUILD_PATH=$KBUILD_PATH" 1>&${DBG_REDIR} | 
|---|
| [1076] | 425 |  | 
|---|
| [1517] | 426 | if test -z "$KBUILD_BIN_PATH"; then | 
|---|
|  | 427 | KBUILD_BIN_PATH="${KBUILD_PATH}/bin/${KBUILD_HOST}.${KBUILD_HOST_ARCH}" | 
|---|
| [1510] | 428 | fi | 
|---|
| [1517] | 429 | test -n "$DBG_OPT" && echo "dbg: KBUILD_BIN_PATH=${KBUILD_BIN_PATH}" 1>&${DBG_REDIR} | 
|---|
| [224] | 430 |  | 
|---|
| [992] | 431 | # | 
|---|
|  | 432 | # Add the bin/x.y/ directory to the PATH. | 
|---|
|  | 433 | # NOTE! Once bootstrapped this is the only thing that is actually necessary. | 
|---|
|  | 434 | # | 
|---|
| [1517] | 435 | PATH="${KBUILD_BIN_PATH}${_PATH_SEP}$PATH" | 
|---|
| [1510] | 436 | test -n "$DBG_OPT" && echo "dbg: PATH=$PATH" 1>&${DBG_REDIR} | 
|---|
| [224] | 437 |  | 
|---|
| [1517] | 438 | # | 
|---|
| [224] | 439 | # Sanity and x bits. | 
|---|
| [1517] | 440 | # | 
|---|
|  | 441 | if test ! -d "${KBUILD_BIN_PATH}/"; then | 
|---|
| [1531] | 442 | echo "$0: warning: The bin directory for this platform doesn't exist. (${KBUILD_BIN_PATH}/)" 1>&${ERR_REDIR} | 
|---|
| [224] | 443 | else | 
|---|
| [731] | 444 | 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] | 445 | do | 
|---|
| [1517] | 446 | chmod a+x ${KBUILD_BIN_PATH}/${prog} > /dev/null 2>&1 | 
|---|
|  | 447 | if test ! -f "${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE}"; then | 
|---|
|  | 448 | echo "$0: warning: The ${prog} program doesn't exist for this platform. (${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE})" 1>&${ERR_REDIR} | 
|---|
| [224] | 449 | fi | 
|---|
|  | 450 | done | 
|---|
|  | 451 | fi | 
|---|
|  | 452 |  | 
|---|
| [1517] | 453 | # | 
|---|
|  | 454 | # The environment is in place, now take the requested action. | 
|---|
|  | 455 | # | 
|---|
| [1542] | 456 | MY_RC=0 | 
|---|
| [1513] | 457 | if test -n "${VAR_OPT}"; then | 
|---|
|  | 458 | # Echo variable values or variable export statements. | 
|---|
|  | 459 | for var in ${VAR_OPT}; | 
|---|
|  | 460 | do | 
|---|
|  | 461 | val= | 
|---|
| [1531] | 462 | case "$var" in | 
|---|
|  | 463 | PATH) | 
|---|
|  | 464 | val=$PATH | 
|---|
| [1513] | 465 | ;; | 
|---|
| [1531] | 466 | KBUILD_PATH) | 
|---|
|  | 467 | val=$KBUILD_PATH | 
|---|
| [1513] | 468 | ;; | 
|---|
| [1531] | 469 | KBUILD_BIN_PATH) | 
|---|
| [1517] | 470 | val=$KBUILD_BIN_PATH | 
|---|
| [1513] | 471 | ;; | 
|---|
| [1531] | 472 | KBUILD_HOST) | 
|---|
|  | 473 | val=$KBUILD_HOST | 
|---|
| [1513] | 474 | ;; | 
|---|
| [1531] | 475 | KBUILD_HOST_ARCH) | 
|---|
| [1517] | 476 | val=$KBUILD_HOST_ARCH | 
|---|
| [1513] | 477 | ;; | 
|---|
| [1531] | 478 | KBUILD_HOST_CPU) | 
|---|
| [1517] | 479 | val=$KBUILD_HOST_CPU | 
|---|
| [1513] | 480 | ;; | 
|---|
| [1531] | 481 | KBUILD_TARGET) | 
|---|
|  | 482 | val=$KBUILD_TARGET | 
|---|
| [1513] | 483 | ;; | 
|---|
| [1531] | 484 | KBUILD_TARGET_ARCH) | 
|---|
| [1517] | 485 | val=$KBUILD_TARGET_ARCH | 
|---|
| [1513] | 486 | ;; | 
|---|
| [1531] | 487 | KBUILD_TARGET_CPU) | 
|---|
| [1517] | 488 | val=$KBUILD_TARGET_CPU | 
|---|
| [1513] | 489 | ;; | 
|---|
| [1531] | 490 | KBUILD_TYPE) | 
|---|
| [1517] | 491 | val=$KBUILD_TYPE | 
|---|
| [1513] | 492 | ;; | 
|---|
| [1531] | 493 | *) | 
|---|
| [1513] | 494 | echo "$0: error: Unknown variable $var specified in --var request." 1>&${ERR_REDIR} | 
|---|
|  | 495 | sleep 1 | 
|---|
|  | 496 | exit 1 | 
|---|
|  | 497 | ;; | 
|---|
|  | 498 | esac | 
|---|
| [1512] | 499 |  | 
|---|
| [1513] | 500 | if test -n "$EVAL_OPT"; then | 
|---|
| [1530] | 501 | echo "${EVAL_EXPORT} $var=$val" | 
|---|
| [1513] | 502 | else | 
|---|
| [1517] | 503 | if test -n "$VALUE_ONLY_OPT"; then | 
|---|
|  | 504 | echo "$val" | 
|---|
|  | 505 | else | 
|---|
|  | 506 | echo "$var=$val" | 
|---|
|  | 507 | fi | 
|---|
| [1510] | 508 | fi | 
|---|
| [1513] | 509 | done | 
|---|
|  | 510 | else | 
|---|
|  | 511 | if test -n "$EVAL_OPT"; then | 
|---|
|  | 512 | # Echo statements for the shell to evaluate. | 
|---|
|  | 513 | test -n "$DBG_OPT" && echo "dbg: echoing exported variables" 1>&${DBG_REDIR} | 
|---|
| [1530] | 514 | echo "${EVAL_EXPORT} PATH=${PATH}" | 
|---|
|  | 515 | test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && echo "${EVAL_EXPORT} KBUILD_TYPE=${KBUILD_TYPE}" | 
|---|
| [1513] | 516 | if test -n "${FULL_OPT}"; then | 
|---|
| [1530] | 517 | echo "${EVAL_EXPORT} KBUILD_PATH=${KBUILD_PATH}" | 
|---|
|  | 518 | echo "${EVAL_EXPORT} KBUILD_HOST=${KBUILD_HOST}" | 
|---|
|  | 519 | echo "${EVAL_EXPORT} KBUILD_HOST_ARCH=${KBUILD_HOST_ARCH}" | 
|---|
|  | 520 | echo "${EVAL_EXPORT} KBUILD_HOST_CPU=${KBUILD_HOST_CPU}" | 
|---|
|  | 521 | echo "${EVAL_EXPORT} KBUILD_TARGET=${KBUILD_TARGET}" | 
|---|
|  | 522 | echo "${EVAL_EXPORT} KBUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}" | 
|---|
|  | 523 | echo "${EVAL_EXPORT} KBUILD_TARGET_CPU=${KBUILD_TARGET_CPU}" | 
|---|
| [1517] | 524 |  | 
|---|
|  | 525 | if test -n "${LEGACY_OPT}"; then | 
|---|
| [1530] | 526 | echo "${EVAL_EXPORT} PATH_KBUILD=${KBUILD_PATH}" | 
|---|
|  | 527 | echo "${EVAL_EXPORT} BUILD_TYPE=${KBUILD_TYPE}" | 
|---|
|  | 528 | echo "${EVAL_EXPORT} BUILD_PLATFORM=${KBUILD_HOST}" | 
|---|
|  | 529 | echo "${EVAL_EXPORT} BUILD_PLATFORM_ARCH=${KBUILD_HOST_ARCH}" | 
|---|
|  | 530 | echo "${EVAL_EXPORT} BUILD_PLATFORM_CPU=${KBUILD_HOST_CPU}" | 
|---|
|  | 531 | echo "${EVAL_EXPORT} BUILD_TARGET=${KBUILD_TARGET}" | 
|---|
|  | 532 | echo "${EVAL_EXPORT} BUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}" | 
|---|
|  | 533 | echo "${EVAL_EXPORT} BUILD_TARGET_CPU=${KBUILD_TARGET_CPU}" | 
|---|
| [1517] | 534 | fi | 
|---|
| [1513] | 535 | fi | 
|---|
| [1510] | 536 | else | 
|---|
| [1513] | 537 | # Export variables. | 
|---|
|  | 538 | export PATH | 
|---|
| [1530] | 539 | test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && export KBUILD_TYPE | 
|---|
| [1513] | 540 | if test -n "${FULL_OPT}"; then | 
|---|
| [1517] | 541 | export KBUILD_PATH | 
|---|
|  | 542 | export KBUILD_HOST | 
|---|
|  | 543 | export KBUILD_HOST_ARCH | 
|---|
|  | 544 | export KBUILD_HOST_CPU | 
|---|
|  | 545 | export KBUILD_TARGET | 
|---|
|  | 546 | export KBUILD_TARGET_ARCH | 
|---|
|  | 547 | export KBUILD_TARGET_CPU | 
|---|
|  | 548 |  | 
|---|
|  | 549 | if test -n "${LEGACY_OPT}"; then | 
|---|
|  | 550 | export PATH_KBUILD=$KBUILD_PATH | 
|---|
|  | 551 | export BUILD_TYPE=$KBUILD_TYPE | 
|---|
|  | 552 | export BUILD_PLATFORM=$KBUILD_HOST | 
|---|
|  | 553 | export BUILD_PLATFORM_ARCH=$KBUILD_HOST_ARCH | 
|---|
|  | 554 | export BUILD_PLATFORM_CPU=$KBUILD_HOST_CPU | 
|---|
|  | 555 | export BUILD_TARGET=$KBUILD_TARGET | 
|---|
|  | 556 | export BUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH | 
|---|
|  | 557 | export BUILD_TARGET_CPU=$KBUILD_TARGET_CPU | 
|---|
|  | 558 | fi | 
|---|
| [1513] | 559 | fi | 
|---|
| [1531] | 560 |  | 
|---|
| [1513] | 561 | # Execute command or spawn shell. | 
|---|
|  | 562 | if test $# -eq 0; then | 
|---|
|  | 563 | test -z "${QUIET_OPT}" && echo "$0: info: Spawning work shell..." 1>&${ERR_REDIR} | 
|---|
|  | 564 | if test "$TERM" != 'dumb'  -a  -n "$BASH"; then | 
|---|
|  | 565 | export PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]' | 
|---|
|  | 566 | fi | 
|---|
|  | 567 | $SHELL -i | 
|---|
| [1542] | 568 | MY_RC=$? | 
|---|
| [1513] | 569 | else | 
|---|
|  | 570 | test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR} | 
|---|
|  | 571 | $* | 
|---|
| [1542] | 572 | MY_RC=$? | 
|---|
|  | 573 | test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR} | 
|---|
| [1513] | 574 | fi | 
|---|
| [224] | 575 | fi | 
|---|
|  | 576 | fi | 
|---|
| [1542] | 577 | test -n "$DBG_OPT" && echo "dbg: finished (rc=$MY_RC)" 1>&${DBG_REDIR} | 
|---|
|  | 578 | exit $MY_RC | 
|---|
| [731] | 579 |  | 
|---|