source: trunk/kBuild/env.sh@ 3083

Last change on this file since 3083 was 3062, checked in by bird, 8 years ago

netbsd patches from Uwe. Messing around on arm (arm -> arm32, adding arm64); Adding GNU/kFreeBSD and GNU/kNetBSD to the OS list. Added SuperH to archs. Recognize ppc64le as ppc64 in env.sh. Misc.

  • Property svn:eol-style set to LF
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 18.6 KB
Line 
1#!/bin/sh
2# $Id: env.sh 3062 2017-09-30 11:26:21Z bird $
3## @file
4# Environment setup script.
5#
6
7#
8# Copyright (c) 2005-2010 knut st. osmundsen <bird-kBuild-spamx@anduin.net>
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#
27#set -x
28
29#
30# Check if we're in eval mode or not.
31#
32ERR_REDIR=1
33DBG_REDIR=1
34EVAL_OPT=
35EVAL_EXPORT="export "
36DBG_OPT=
37QUIET_OPT=
38FULL_OPT=
39FULL_WITH_BIN_OPT=
40LEGACY_OPT=
41VAR_OPT=
42VALUE_ONLY_OPT=
43EXP_TYPE_OPT=
44while test $# -gt 0;
45do
46 case "$1" in
47 "--debug-script")
48 DBG_OPT="true"
49 ;;
50 "--no-debug-script")
51 DBG_OPT=
52 ;;
53 "--quiet")
54 QUIET_OPT="true"
55 ;;
56 "--verbose")
57 QUIET_OPT=
58 ;;
59 "--full")
60 FULL_OPT="true"
61 ;;
62 "--full-with-bin")
63 FULL_OPT="true"
64 FULL_WITH_BIN_OPT="true"
65 ;;
66 "--normal")
67 FULL_OPT=
68 ;;
69 "--legacy")
70 LEGACY_OPT="true"
71 ;;
72 "--no-legacy")
73 LEGACY_OPT=
74 ;;
75 "--eval")
76 EVAL_OPT="true"
77 ERR_REDIR=2
78 DBG_REDIR=2
79 ;;
80 "--set")
81 EVAL_OPT="true"
82 EVAL_EXPORT=""
83 ERR_REDIR=2
84 DBG_REDIR=2
85 ;;
86 "--var")
87 shift
88 VAR_OPT="${VAR_OPT} $1"
89 ERR_REDIR=2
90 DBG_REDIR=2
91 ;;
92 "--value-only")
93 VALUE_ONLY_OPT="true"
94 ;;
95 "--name-and-value")
96 VALUE_ONLY_OPT=
97 ;;
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
114 "--help")
115 echo "kBuild Environment Setup Script, v0.2.0-pre"
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 ""
122 echo "The first form will execute the command, or if no command is given start"
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"
126 echo "evaluation."
127 echo "The forth form will only print the specified variable(s)."
128 echo ""
129 echo "Options:"
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"
134 echo " --quiet, --verbose"
135 echo " Controls informational output. Default: --verbose"
136 echo " --full, --full-with-bin, --normal"
137 echo " Controls the variable set. Default: --normal"
138 echo " --legacy, --no-legacy"
139 echo " Include legacy variables in result. Default: --no-legacy"
140 echo " --value-only, --name-and-value"
141 echo " Controls what the result of a --var query. Default: --name-and-value"
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"
145 echo ' is useful for eval `env.sh`. Default: --export'
146 echo ""
147 exit 1
148 ;;
149 *)
150 break
151 ;;
152 esac
153 shift
154done
155
156
157#
158# Deal with legacy environment variables.
159#
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
167fi
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
175fi
176
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
185
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
237#
238# Set default build type.
239#
240if test -z "$KBUILD_TYPE"; then
241 KBUILD_TYPE=release
242fi
243test -n "$DBG_OPT" && echo "dbg: KBUILD_TYPE=$KBUILD_TYPE" 1>&${DBG_REDIR}
244
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#
252if test -z "$KBUILD_HOST"; then
253 KBUILD_HOST=`uname`
254 case "$KBUILD_HOST" in
255 Darwin|darwin)
256 KBUILD_HOST=darwin
257 ;;
258
259 DragonFly)
260 KBUILD_HOST=dragonfly
261 ;;
262
263 freebsd|FreeBSD|FREEBSD)
264 KBUILD_HOST=freebsd
265 ;;
266
267 Haiku)
268 KBUILD_HOST=haiku
269 ;;
270
271 linux|Linux|GNU/Linux|LINUX)
272 KBUILD_HOST=linux
273 ;;
274
275 netbsd|NetBSD|NETBSD)
276 KBUILD_HOST=netbsd
277 ;;
278
279 openbsd|OpenBSD|OPENBSD)
280 KBUILD_HOST=openbsd
281 ;;
282
283 os2|OS/2|OS2)
284 KBUILD_HOST=os2
285 ;;
286
287 SunOS)
288 KBUILD_HOST=solaris
289 ;;
290
291 WindowsNT|CYGWIN_NT-*)
292 KBUILD_HOST=win
293 ;;
294
295 *)
296 echo "$0: unknown os $KBUILD_HOST" 1>&${ERR_REDIR}
297 sleep 1
298 exit 1
299 ;;
300 esac
301fi
302test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST=$KBUILD_HOST" 1>&${DBG_REDIR}
303
304if test -z "$KBUILD_HOST_ARCH"; then
305 # Try deduce it from the cpu if given.
306 if test -n "$KBUILD_HOST_CPU"; then
307 case "$KBUILD_HOST_CPU" in
308 i[3456789]86)
309 KBUILD_HOST_ARCH='x86'
310 ;;
311 k8|k8l|k9|k10)
312 KBUILD_HOST_ARCH='amd64'
313 ;;
314 esac
315 fi
316fi
317if test -z "$KBUILD_HOST_ARCH"; then
318 # Use uname -m or isainfo (lots of guesses here, please help clean this up...)
319 if test "$KBUILD_HOST" = "solaris"; then
320 KBUILD_HOST_ARCH=`isainfo | cut -f 1 -d ' '`
321
322 else
323 KBUILD_HOST_ARCH=`uname -m`
324 fi
325 case "$KBUILD_HOST_ARCH" in
326 x86_64|AMD64|amd64|k8|k8l|k9|k10)
327 KBUILD_HOST_ARCH='amd64'
328 ;;
329 x86|i86pc|ia32|i[3456789]86|BePC)
330 KBUILD_HOST_ARCH='x86'
331 ;;
332 alpha)
333 KBUILD_HOST_ARCH='alpha'
334 ;;
335 aarch32|arm|arm1|arm2|arm3|arm6|armv1|armv2|armv3*|armv4*|armv5*|armv6*|armv7*)
336 KBUILD_HOST_ARCH='arm32'
337 ;;
338 aarch64*)
339 KBUILD_HOST_ARCH='arm64'
340 ;;
341 hppa32|parisc32|parisc)
342 KBUILD_HOST_ARCH='hppa32'
343 ;;
344 hppa64|parisc64)
345 KBUILD_HOST_ARCH='hppa64'
346 ;;
347 ia64)
348 KBUILD_HOST_ARCH='ia64'
349 ;;
350 ppc32|ppc|powerpc)
351 KBUILD_HOST_ARCH='ppc32'
352 ;;
353 ppc64|ppc64le|powerpc64|powerpc64le)
354 KBUILD_HOST_ARCH='ppc64'
355 ;;
356 mips32|mips)
357 KBUILD_HOST_ARCH='mips32'
358 ;;
359 mips64)
360 KBUILD_HOST_ARCH='mips64'
361 ;;
362 s390)
363 KBUILD_HOST_ARCH='s390'
364 ;;
365 s390x)
366 KBUILD_HOST_ARCH='s390x'
367 ;;
368 sh|sh2|sh2a|sh3|sh3|sh4|sh4a|sh4al|sh4al-dsp|shmedia)
369 KBUILD_HOST_ARCH='sh32'
370 ;;
371 sh64)
372 KBUILD_HOST_ARCH='sh64'
373 ;;
374 sparc32|sparc|sparcv8|sparcv7|sparcv8e)
375 KBUILD_HOST_ARCH='sparc32'
376 ;;
377 sparc64|sparcv9)
378 KBUILD_HOST_ARCH='sparc64'
379 ;;
380
381 *) echo "$0: unknown cpu/arch - $KBUILD_HOST_ARCH" 1>&${ERR_REDIR}
382 sleep 1
383 exit 1
384 ;;
385 esac
386
387fi
388test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_ARCH=$KBUILD_HOST_ARCH" 1>&${DBG_REDIR}
389
390if test -z "$KBUILD_HOST_CPU"; then
391 KBUILD_HOST_CPU="blend"
392fi
393test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_CPU=$KBUILD_HOST_CPU" 1>&${DBG_REDIR}
394
395#
396# The target platform.
397# Defaults to the host when not specified.
398#
399if test -z "$KBUILD_TARGET"; then
400 KBUILD_TARGET="$KBUILD_HOST"
401fi
402test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET=$KBUILD_TARGET" 1>&${DBG_REDIR}
403
404if test -z "$KBUILD_TARGET_ARCH"; then
405 KBUILD_TARGET_ARCH="$KBUILD_HOST_ARCH"
406fi
407test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH" 1>&${DBG_REDIR}
408
409if test -z "$KBUILD_TARGET_CPU"; then
410 if test "$KBUILD_TARGET_ARCH" = "$KBUILD_HOST_ARCH"; then
411 KBUILD_TARGET_CPU="$KBUILD_HOST_CPU"
412 else
413 KBUILD_TARGET_CPU="blend"
414 fi
415fi
416test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_CPU=$KBUILD_TARGET_CPU" 1>&${DBG_REDIR}
417
418#
419# Determin executable extension and path separator.
420#
421_SUFF_EXE=
422_PATH_SEP=":"
423case "$KBUILD_HOST" in
424 os2|win|nt)
425 _SUFF_EXE=".exe"
426 _PATH_SEP=";"
427 ;;
428esac
429
430#
431# Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there.
432#
433if test -z "$KBUILD_PATH"; then
434 KBUILD_PATH=`dirname "$0"`
435 KBUILD_PATH=`cd "$KBUILD_PATH" ; /bin/pwd`
436fi
437if test ! -f "$KBUILD_PATH/footer.kmk" -o ! -f "$KBUILD_PATH/header.kmk" -o ! -f "$KBUILD_PATH/rules.kmk"; then
438 echo "$0: error: KBUILD_PATH ($KBUILD_PATH) is not pointing to a popluated kBuild directory." 1>&${ERR_REDIR}
439 sleep 1
440 exit 1
441fi
442test -n "$DBG_OPT" && echo "dbg: KBUILD_PATH=$KBUILD_PATH" 1>&${DBG_REDIR}
443
444if test -z "$KBUILD_BIN_PATH"; then
445 KBUILD_BIN_PATH="${KBUILD_PATH}/bin/${KBUILD_HOST}.${KBUILD_HOST_ARCH}"
446fi
447test -n "$DBG_OPT" && echo "dbg: KBUILD_BIN_PATH=${KBUILD_BIN_PATH}" 1>&${DBG_REDIR}
448
449#
450# Add the bin/x.y/ directory to the PATH.
451# NOTE! Once bootstrapped this is the only thing that is actually necessary.
452#
453PATH="${KBUILD_BIN_PATH}${_PATH_SEP}$PATH"
454test -n "$DBG_OPT" && echo "dbg: PATH=$PATH" 1>&${DBG_REDIR}
455
456#
457# Sanity and x bits.
458#
459if test ! -d "${KBUILD_BIN_PATH}/"; then
460 echo "$0: warning: The bin directory for this platform doesn't exist. (${KBUILD_BIN_PATH}/)" 1>&${ERR_REDIR}
461else
462 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;
463 do
464 chmod a+x ${KBUILD_BIN_PATH}/${prog} > /dev/null 2>&1
465 if test ! -f "${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE}"; then
466 echo "$0: warning: The ${prog} program doesn't exist for this platform. (${KBUILD_BIN_PATH}/${prog}${_SUFF_EXE})" 1>&${ERR_REDIR}
467 fi
468 done
469fi
470
471#
472# The environment is in place, now take the requested action.
473#
474MY_RC=0
475if test -n "${VAR_OPT}"; then
476 # Echo variable values or variable export statements.
477 for var in ${VAR_OPT};
478 do
479 val=
480 case "$var" in
481 PATH)
482 val=$PATH
483 ;;
484 KBUILD_PATH)
485 val=$KBUILD_PATH
486 ;;
487 KBUILD_BIN_PATH)
488 val=$KBUILD_BIN_PATH
489 ;;
490 KBUILD_HOST)
491 val=$KBUILD_HOST
492 ;;
493 KBUILD_HOST_ARCH)
494 val=$KBUILD_HOST_ARCH
495 ;;
496 KBUILD_HOST_CPU)
497 val=$KBUILD_HOST_CPU
498 ;;
499 KBUILD_TARGET)
500 val=$KBUILD_TARGET
501 ;;
502 KBUILD_TARGET_ARCH)
503 val=$KBUILD_TARGET_ARCH
504 ;;
505 KBUILD_TARGET_CPU)
506 val=$KBUILD_TARGET_CPU
507 ;;
508 KBUILD_TYPE)
509 val=$KBUILD_TYPE
510 ;;
511 *)
512 echo "$0: error: Unknown variable $var specified in --var request." 1>&${ERR_REDIR}
513 sleep 1
514 exit 1
515 ;;
516 esac
517
518 if test -n "$EVAL_OPT"; then
519 echo "${EVAL_EXPORT} $var=$val"
520 else
521 if test -n "$VALUE_ONLY_OPT"; then
522 echo "$val"
523 else
524 echo "$var=$val"
525 fi
526 fi
527 done
528else
529 if test -n "$EVAL_OPT"; then
530 # Echo statements for the shell to evaluate.
531 test -n "$DBG_OPT" && echo "dbg: echoing exported variables" 1>&${DBG_REDIR}
532 echo "${EVAL_EXPORT} PATH=${PATH}"
533 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && echo "${EVAL_EXPORT} KBUILD_TYPE=${KBUILD_TYPE}"
534 if test -n "${FULL_OPT}"; then
535 echo "${EVAL_EXPORT} KBUILD_PATH=${KBUILD_PATH}"
536 if test -n "{FULL_WITH_BIN_OPT}"; then
537 echo "${EVAL_EXPORT} KBUILD_BIN_PATH=${KBUILD_BIN_PATH}"
538 fi
539 echo "${EVAL_EXPORT} KBUILD_HOST=${KBUILD_HOST}"
540 echo "${EVAL_EXPORT} KBUILD_HOST_ARCH=${KBUILD_HOST_ARCH}"
541 echo "${EVAL_EXPORT} KBUILD_HOST_CPU=${KBUILD_HOST_CPU}"
542 echo "${EVAL_EXPORT} KBUILD_TARGET=${KBUILD_TARGET}"
543 echo "${EVAL_EXPORT} KBUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
544 echo "${EVAL_EXPORT} KBUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
545
546 if test -n "${LEGACY_OPT}"; then
547 echo "${EVAL_EXPORT} PATH_KBUILD=${KBUILD_PATH}"
548 if test -n "${FULL_WITH_BIN_OPT}"; then
549 echo "${EVAL_EXPORT} PATH_KBUILD_BIN=${KBUILD_PATH_BIN}"
550 fi
551 echo "${EVAL_EXPORT} BUILD_TYPE=${KBUILD_TYPE}"
552 echo "${EVAL_EXPORT} BUILD_PLATFORM=${KBUILD_HOST}"
553 echo "${EVAL_EXPORT} BUILD_PLATFORM_ARCH=${KBUILD_HOST_ARCH}"
554 echo "${EVAL_EXPORT} BUILD_PLATFORM_CPU=${KBUILD_HOST_CPU}"
555 echo "${EVAL_EXPORT} BUILD_TARGET=${KBUILD_TARGET}"
556 echo "${EVAL_EXPORT} BUILD_TARGET_ARCH=${KBUILD_TARGET_ARCH}"
557 echo "${EVAL_EXPORT} BUILD_TARGET_CPU=${KBUILD_TARGET_CPU}"
558 fi
559 fi
560 else
561 # Export variables.
562 export PATH
563 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && export KBUILD_TYPE
564 if test -n "${FULL_OPT}"; then
565 export KBUILD_PATH
566 if test -n "${FULL_WITH_BIN_OPT}"; then
567 export KBUILD_BIN_PATH
568 fi
569 export KBUILD_HOST
570 export KBUILD_HOST_ARCH
571 export KBUILD_HOST_CPU
572 export KBUILD_TARGET
573 export KBUILD_TARGET_ARCH
574 export KBUILD_TARGET_CPU
575
576 if test -n "${LEGACY_OPT}"; then
577 export PATH_KBUILD=$KBUILD_PATH
578 if test -n "${FULL_WITH_BIN_OPT}"; then
579 export PATH_KBUILD_BIN=$KBUILD_BIN_PATH
580 fi
581 export BUILD_TYPE=$KBUILD_TYPE
582 export BUILD_PLATFORM=$KBUILD_HOST
583 export BUILD_PLATFORM_ARCH=$KBUILD_HOST_ARCH
584 export BUILD_PLATFORM_CPU=$KBUILD_HOST_CPU
585 export BUILD_TARGET=$KBUILD_TARGET
586 export BUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH
587 export BUILD_TARGET_CPU=$KBUILD_TARGET_CPU
588 fi
589 fi
590
591 # Execute command or spawn shell.
592 if test $# -eq 0; then
593 test -z "${QUIET_OPT}" && echo "$0: info: Spawning work shell..." 1>&${ERR_REDIR}
594 if test "$TERM" != 'dumb' -a -n "$BASH"; then
595 export PS1='\[\033[01;32m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]'
596 fi
597 $SHELL -i
598 MY_RC=$?
599 else
600 test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR}
601 $*
602 MY_RC=$?
603 test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR}
604 fi
605 fi
606fi
607test -n "$DBG_OPT" && echo "dbg: finished (rc=$MY_RC)" 1>&${DBG_REDIR}
608exit $MY_RC
609
Note: See TracBrowser for help on using the repository browser.