source: trunk/kBuild/env.sh@ 3608

Last change on this file since 3608 was 3556, checked in by bird, 3 years ago

header.kmk,env.sh: Added 32-bit and 64-bit risc-v to the architecture lists.

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 19.8 KB
RevLine 
[1510]1#!/bin/sh
[224]2# $Id: env.sh 3556 2022-02-18 02:02:07Z 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#
32ERR_REDIR=1
33DBG_REDIR=1
34EVAL_OPT=
[1530]35EVAL_EXPORT="export "
[1510]36DBG_OPT=
37QUIET_OPT=
[1512]38FULL_OPT=
[2191]39FULL_WITH_BIN_OPT=
[1570]40LEGACY_OPT=
[1513]41VAR_OPT=
[1517]42VALUE_ONLY_OPT=
[1530]43EXP_TYPE_OPT=
[1531]44while test $# -gt 0;
[1512]45do
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]154done
[1510]155
156
157#
[1517]158# Deal with legacy environment variables.
[992]159#
[1517]160if 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]167fi
[1517]168if 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]175fi
176
[1517]177if 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
184fi
[1076]185
[1517]186if 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
193fi
194if 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
201fi
202if 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
209fi
210
211if 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
218fi
219if 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
226fi
227if 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
234fi
235
236
[992]237#
238# Set default build type.
239#
[1517]240if test -z "$KBUILD_TYPE"; then
241 KBUILD_TYPE=release
[224]242fi
[1517]243test -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]252if 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
313fi
[1517]314test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST=$KBUILD_HOST" 1>&${DBG_REDIR}
[994]315
[1517]316if 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]328fi
[1517]329if 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 ;;
[3103]380 m68k)
381 KBUILD_HOST_ARCH='m68k'
382 ;;
[992]383 mips32|mips)
[1517]384 KBUILD_HOST_ARCH='mips32'
[992]385 ;;
386 mips64)
[1517]387 KBUILD_HOST_ARCH='mips64'
[992]388 ;;
[3556]389 ppc32|ppc|powerpc)
390 KBUILD_HOST_ARCH='ppc32'
391 ;;
392 ppc64|ppc64le|powerpc64|powerpc64le)
393 KBUILD_HOST_ARCH='ppc64'
394 ;;
395 riscv64*)
396 KBUILD_HOST_ARCH='riscv64'
397 ;;
398 riscv32*|riscv)
399 KBUILD_HOST_ARCH='riscv32'
400 ;;
[3062]401 s390)
402 KBUILD_HOST_ARCH='s390'
[992]403 ;;
[3062]404 s390x)
405 KBUILD_HOST_ARCH='s390x'
[992]406 ;;
[3062]407 sh|sh2|sh2a|sh3|sh3|sh4|sh4a|sh4al|sh4al-dsp|shmedia)
408 KBUILD_HOST_ARCH='sh32'
409 ;;
410 sh64)
411 KBUILD_HOST_ARCH='sh64'
412 ;;
413 sparc32|sparc|sparcv8|sparcv7|sparcv8e)
414 KBUILD_HOST_ARCH='sparc32'
[992]415 ;;
[3062]416 sparc64|sparcv9)
417 KBUILD_HOST_ARCH='sparc64'
[992]418 ;;
419
[1517]420 *) echo "$0: unknown cpu/arch - $KBUILD_HOST_ARCH" 1>&${ERR_REDIR}
[224]421 sleep 1
422 exit 1
423 ;;
424 esac
425
426fi
[1517]427test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_ARCH=$KBUILD_HOST_ARCH" 1>&${DBG_REDIR}
[224]428
[1517]429if test -z "$KBUILD_HOST_CPU"; then
430 KBUILD_HOST_CPU="blend"
[992]431fi
[1517]432test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_CPU=$KBUILD_HOST_CPU" 1>&${DBG_REDIR}
[224]433
[992]434#
435# The target platform.
436# Defaults to the host when not specified.
437#
[1517]438if test -z "$KBUILD_TARGET"; then
439 KBUILD_TARGET="$KBUILD_HOST"
[224]440fi
[1517]441test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET=$KBUILD_TARGET" 1>&${DBG_REDIR}
[224]442
[1517]443if test -z "$KBUILD_TARGET_ARCH"; then
444 KBUILD_TARGET_ARCH="$KBUILD_HOST_ARCH"
[224]445fi
[1517]446test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH" 1>&${DBG_REDIR}
[224]447
[1517]448if test -z "$KBUILD_TARGET_CPU"; then
449 if test "$KBUILD_TARGET_ARCH" = "$KBUILD_HOST_ARCH"; then
450 KBUILD_TARGET_CPU="$KBUILD_HOST_CPU"
[994]451 else
[1517]452 KBUILD_TARGET_CPU="blend"
[994]453 fi
[224]454fi
[1517]455test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_CPU=$KBUILD_TARGET_CPU" 1>&${DBG_REDIR}
[224]456
[1517]457#
[224]458# Determin executable extension and path separator.
[1517]459#
[224]460_SUFF_EXE=
461_PATH_SEP=":"
[1517]462case "$KBUILD_HOST" in
[992]463 os2|win|nt)
[224]464 _SUFF_EXE=".exe"
465 _PATH_SEP=";"
466 ;;
467esac
468
[1076]469#
[1517]470# Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there.
[1076]471#
[1517]472if test -z "$KBUILD_PATH"; then
473 KBUILD_PATH=`dirname "$0"`
474 KBUILD_PATH=`cd "$KBUILD_PATH" ; /bin/pwd`
[1076]475fi
[1517]476if test ! -f "$KBUILD_PATH/footer.kmk" -o ! -f "$KBUILD_PATH/header.kmk" -o ! -f "$KBUILD_PATH/rules.kmk"; then
477 echo "$0: error: KBUILD_PATH ($KBUILD_PATH) is not pointing to a popluated kBuild directory." 1>&${ERR_REDIR}
478 sleep 1
479 exit 1
480fi
481test -n "$DBG_OPT" && echo "dbg: KBUILD_PATH=$KBUILD_PATH" 1>&${DBG_REDIR}
[1076]482
[1517]483if test -z "$KBUILD_BIN_PATH"; then
484 KBUILD_BIN_PATH="${KBUILD_PATH}/bin/${KBUILD_HOST}.${KBUILD_HOST_ARCH}"
[1510]485fi
[1517]486test -n "$DBG_OPT" && echo "dbg: KBUILD_BIN_PATH=${KBUILD_BIN_PATH}" 1>&${DBG_REDIR}
[224]487
[992]488#
489# Add the bin/x.y/ directory to the PATH.
490# NOTE! Once bootstrapped this is the only thing that is actually necessary.
491#
[1517]492PATH="${KBUILD_BIN_PATH}${_PATH_SEP}$PATH"
[1510]493test -n "$DBG_OPT" && echo "dbg: PATH=$PATH" 1>&${DBG_REDIR}
[224]494
[1517]495#
[224]496# Sanity and x bits.
[1517]497#
498if test ! -d "${KBUILD_BIN_PATH}/"; then
[1531]499 echo "$0: warning: The bin directory for this platform doesn't exist. (${KBUILD_BIN_PATH}/)" 1>&${ERR_REDIR}
[224]500else
[731]501 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]502 do
[1517]503 chmod a+x ${KBUILD_BIN_PATH}/${prog} > /dev/null 2>&1
504 if test ! -f "${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE}"; then
505 echo "$0: warning: The ${prog} program doesn't exist for this platform. (${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE})" 1>&${ERR_REDIR}
[224]506 fi
507 done
508fi
509
[1517]510#
511# The environment is in place, now take the requested action.
512#
[1542]513MY_RC=0
[1513]514if test -n "${VAR_OPT}"; then
515 # Echo variable values or variable export statements.
516 for var in ${VAR_OPT};
517 do
518 val=
[1531]519 case "$var" in
520 PATH)
521 val=$PATH
[1513]522 ;;
[1531]523 KBUILD_PATH)
524 val=$KBUILD_PATH
[1513]525 ;;
[1531]526 KBUILD_BIN_PATH)
[1517]527 val=$KBUILD_BIN_PATH
[1513]528 ;;
[1531]529 KBUILD_HOST)
530 val=$KBUILD_HOST
[1513]531 ;;
[1531]532 KBUILD_HOST_ARCH)
[1517]533 val=$KBUILD_HOST_ARCH
[1513]534 ;;
[1531]535 KBUILD_HOST_CPU)
[1517]536 val=$KBUILD_HOST_CPU
[1513]537 ;;
[1531]538 KBUILD_TARGET)
539 val=$KBUILD_TARGET
[1513]540 ;;
[1531]541 KBUILD_TARGET_ARCH)
[1517]542 val=$KBUILD_TARGET_ARCH
[1513]543 ;;
[1531]544 KBUILD_TARGET_CPU)
[1517]545 val=$KBUILD_TARGET_CPU
[1513]546 ;;
[1531]547 KBUILD_TYPE)
[1517]548 val=$KBUILD_TYPE
[1513]549 ;;
[1531]550 *)
[1513]551 echo "$0: error: Unknown variable $var specified in --var request." 1>&${ERR_REDIR}
552 sleep 1
553 exit 1
554 ;;
555 esac
[1512]556
[1513]557 if test -n "$EVAL_OPT"; then
[1530]558 echo "${EVAL_EXPORT} $var=$val"
[1513]559 else
[1517]560 if test -n "$VALUE_ONLY_OPT"; then
561 echo "$val"
562 else
563 echo "$var=$val"
564 fi
[1510]565 fi
[1513]566 done
567else
568 if test -n "$EVAL_OPT"; then
569 # Echo statements for the shell to evaluate.
570 test -n "$DBG_OPT" && echo "dbg: echoing exported variables" 1>&${DBG_REDIR}
[1530]571 echo "${EVAL_EXPORT} PATH=${PATH}"
572 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && echo "${EVAL_EXPORT} KBUILD_TYPE=${KBUILD_TYPE}"
[1513]573 if test -n "${FULL_OPT}"; then
[1530]574 echo "${EVAL_EXPORT} KBUILD_PATH=${KBUILD_PATH}"
[2191]575 if test -n "{FULL_WITH_BIN_OPT}"; then
576 echo "${EVAL_EXPORT} KBUILD_BIN_PATH=${KBUILD_BIN_PATH}"
577 fi
[1530]578 echo "${EVAL_EXPORT} KBUILD_HOST=${KBUILD_HOST}"
579 echo "${EVAL_EXPORT} KBUILD_HOST_ARCH=${KBUILD_HOST_ARCH}"
580 echo "${EVAL_EXPORT} KBUILD_HOST_CPU=${KBUILD_HOST_CPU}"
581 echo "${EVAL_EXPORT} KBUILD_TARGET=${KBUILD_TARGET}"
582 echo "${EVAL_EXPORT} KBUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
583 echo "${EVAL_EXPORT} KBUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
[1517]584
585 if test -n "${LEGACY_OPT}"; then
[1530]586 echo "${EVAL_EXPORT} PATH_KBUILD=${KBUILD_PATH}"
[2243]587 if test -n "${FULL_WITH_BIN_OPT}"; then
[2191]588 echo "${EVAL_EXPORT} PATH_KBUILD_BIN=${KBUILD_PATH_BIN}"
[2243]589 fi
[1530]590 echo "${EVAL_EXPORT} BUILD_TYPE=${KBUILD_TYPE}"
591 echo "${EVAL_EXPORT} BUILD_PLATFORM=${KBUILD_HOST}"
592 echo "${EVAL_EXPORT} BUILD_PLATFORM_ARCH=${KBUILD_HOST_ARCH}"
593 echo "${EVAL_EXPORT} BUILD_PLATFORM_CPU=${KBUILD_HOST_CPU}"
594 echo "${EVAL_EXPORT} BUILD_TARGET=${KBUILD_TARGET}"
595 echo "${EVAL_EXPORT} BUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
596 echo "${EVAL_EXPORT} BUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
[1517]597 fi
[1513]598 fi
[1510]599 else
[1513]600 # Export variables.
601 export PATH
[1530]602 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && export KBUILD_TYPE
[1513]603 if test -n "${FULL_OPT}"; then
[1517]604 export KBUILD_PATH
[2191]605 if test -n "${FULL_WITH_BIN_OPT}"; then
606 export KBUILD_BIN_PATH
607 fi
[1517]608 export KBUILD_HOST
609 export KBUILD_HOST_ARCH
610 export KBUILD_HOST_CPU
611 export KBUILD_TARGET
612 export KBUILD_TARGET_ARCH
613 export KBUILD_TARGET_CPU
614
615 if test -n "${LEGACY_OPT}"; then
616 export PATH_KBUILD=$KBUILD_PATH
[2191]617 if test -n "${FULL_WITH_BIN_OPT}"; then
618 export PATH_KBUILD_BIN=$KBUILD_BIN_PATH
619 fi
[1517]620 export BUILD_TYPE=$KBUILD_TYPE
621 export BUILD_PLATFORM=$KBUILD_HOST
622 export BUILD_PLATFORM_ARCH=$KBUILD_HOST_ARCH
623 export BUILD_PLATFORM_CPU=$KBUILD_HOST_CPU
624 export BUILD_TARGET=$KBUILD_TARGET
625 export BUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH
626 export BUILD_TARGET_CPU=$KBUILD_TARGET_CPU
627 fi
[1513]628 fi
[1531]629
[1513]630 # Execute command or spawn shell.
631 if test $# -eq 0; then
632 test -z "${QUIET_OPT}" && echo "$0: info: Spawning work shell..." 1>&${ERR_REDIR}
633 if test "$TERM" != 'dumb' -a -n "$BASH"; then
634 export PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'
635 fi
636 $SHELL -i
[1542]637 MY_RC=$?
[1513]638 else
639 test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR}
640 $*
[1542]641 MY_RC=$?
642 test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR}
[1513]643 fi
[224]644 fi
645fi
[1542]646test -n "$DBG_OPT" && echo "dbg: finished (rc=$MY_RC)" 1>&${DBG_REDIR}
647exit $MY_RC
[731]648
Note: See TracBrowser for help on using the repository browser.