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
Line 
1#!/bin/sh
2# $Id: env.sh 3556 2022-02-18 02:02:07Z 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 GNU)
268 KBUILD_HOST=gnuhurd
269 ;;
270
271 GNU/kFreeBSD)
272 KBUILD_HOST=gnukfbsd
273 ;;
274
275 GNU/kNetBSD|GNU/NetBSD)
276 KBUILD_HOST=gnuknbsd
277 ;;
278
279 Haiku)
280 KBUILD_HOST=haiku
281 ;;
282
283 linux|Linux|GNU/Linux|LINUX)
284 KBUILD_HOST=linux
285 ;;
286
287 netbsd|NetBSD|NETBSD)
288 KBUILD_HOST=netbsd
289 ;;
290
291 openbsd|OpenBSD|OPENBSD)
292 KBUILD_HOST=openbsd
293 ;;
294
295 os2|OS/2|OS2)
296 KBUILD_HOST=os2
297 ;;
298
299 SunOS)
300 KBUILD_HOST=solaris
301 ;;
302
303 WindowsNT|CYGWIN_NT-*)
304 KBUILD_HOST=win
305 ;;
306
307 *)
308 echo "$0: unknown os $KBUILD_HOST" 1>&${ERR_REDIR}
309 sleep 1
310 exit 1
311 ;;
312 esac
313fi
314test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST=$KBUILD_HOST" 1>&${DBG_REDIR}
315
316if test -z "$KBUILD_HOST_ARCH"; then
317 # Try deduce it from the cpu if given.
318 if test -n "$KBUILD_HOST_CPU"; then
319 case "$KBUILD_HOST_CPU" in
320 i[3456789]86)
321 KBUILD_HOST_ARCH='x86'
322 ;;
323 k8|k8l|k9|k10)
324 KBUILD_HOST_ARCH='amd64'
325 ;;
326 esac
327 fi
328fi
329if test -z "$KBUILD_HOST_ARCH"; then
330 # Use uname -m or isainfo (lots of guesses here, please help clean this up...)
331 if test "$KBUILD_HOST" = "solaris"; then
332 KBUILD_HOST_ARCH=`isainfo | cut -f 1 -d ' '`
333
334 else
335 KBUILD_HOST_ARCH=`uname -m`
336 fi
337 case "$KBUILD_HOST_ARCH" in
338 x86_64|AMD64|amd64|k8|k8l|k9|k10)
339 KBUILD_HOST_ARCH='amd64'
340 # Try detect debian x32.
341 if test "$KBUILD_HOST" = "linux"; then
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 ;;
356 esac
357 fi
358 ;;
359 x86|i86pc|ia32|i[3456789]86|BePC|i[3456789]86-AT[3456789]86)
360 KBUILD_HOST_ARCH='x86'
361 ;;
362 alpha)
363 KBUILD_HOST_ARCH='alpha'
364 ;;
365 aarch32|arm|arm1|arm2|arm3|arm6|armv1|armv2|armv3*|armv4*|armv5*|armv6*|armv7*|armv8*)
366 KBUILD_HOST_ARCH='arm32'
367 ;;
368 aarch64*|arm64) # (Apple M1 is arm64.)
369 KBUILD_HOST_ARCH='arm64'
370 ;;
371 hppa32|parisc32|parisc)
372 KBUILD_HOST_ARCH='hppa32'
373 ;;
374 hppa64|parisc64)
375 KBUILD_HOST_ARCH='hppa64'
376 ;;
377 ia64)
378 KBUILD_HOST_ARCH='ia64'
379 ;;
380 m68k)
381 KBUILD_HOST_ARCH='m68k'
382 ;;
383 mips32|mips)
384 KBUILD_HOST_ARCH='mips32'
385 ;;
386 mips64)
387 KBUILD_HOST_ARCH='mips64'
388 ;;
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 ;;
401 s390)
402 KBUILD_HOST_ARCH='s390'
403 ;;
404 s390x)
405 KBUILD_HOST_ARCH='s390x'
406 ;;
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'
415 ;;
416 sparc64|sparcv9)
417 KBUILD_HOST_ARCH='sparc64'
418 ;;
419
420 *) echo "$0: unknown cpu/arch - $KBUILD_HOST_ARCH" 1>&${ERR_REDIR}
421 sleep 1
422 exit 1
423 ;;
424 esac
425
426fi
427test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_ARCH=$KBUILD_HOST_ARCH" 1>&${DBG_REDIR}
428
429if test -z "$KBUILD_HOST_CPU"; then
430 KBUILD_HOST_CPU="blend"
431fi
432test -n "$DBG_OPT" && echo "dbg: KBUILD_HOST_CPU=$KBUILD_HOST_CPU" 1>&${DBG_REDIR}
433
434#
435# The target platform.
436# Defaults to the host when not specified.
437#
438if test -z "$KBUILD_TARGET"; then
439 KBUILD_TARGET="$KBUILD_HOST"
440fi
441test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET=$KBUILD_TARGET" 1>&${DBG_REDIR}
442
443if test -z "$KBUILD_TARGET_ARCH"; then
444 KBUILD_TARGET_ARCH="$KBUILD_HOST_ARCH"
445fi
446test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_ARCH=$KBUILD_TARGET_ARCH" 1>&${DBG_REDIR}
447
448if test -z "$KBUILD_TARGET_CPU"; then
449 if test "$KBUILD_TARGET_ARCH" = "$KBUILD_HOST_ARCH"; then
450 KBUILD_TARGET_CPU="$KBUILD_HOST_CPU"
451 else
452 KBUILD_TARGET_CPU="blend"
453 fi
454fi
455test -n "$DBG_OPT" && echo "dbg: KBUILD_TARGET_CPU=$KBUILD_TARGET_CPU" 1>&${DBG_REDIR}
456
457#
458# Determin executable extension and path separator.
459#
460_SUFF_EXE=
461_PATH_SEP=":"
462case "$KBUILD_HOST" in
463 os2|win|nt)
464 _SUFF_EXE=".exe"
465 _PATH_SEP=";"
466 ;;
467esac
468
469#
470# Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there.
471#
472if test -z "$KBUILD_PATH"; then
473 KBUILD_PATH=`dirname "$0"`
474 KBUILD_PATH=`cd "$KBUILD_PATH" ; /bin/pwd`
475fi
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}
482
483if test -z "$KBUILD_BIN_PATH"; then
484 KBUILD_BIN_PATH="${KBUILD_PATH}/bin/${KBUILD_HOST}.${KBUILD_HOST_ARCH}"
485fi
486test -n "$DBG_OPT" && echo "dbg: KBUILD_BIN_PATH=${KBUILD_BIN_PATH}" 1>&${DBG_REDIR}
487
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#
492PATH="${KBUILD_BIN_PATH}${_PATH_SEP}$PATH"
493test -n "$DBG_OPT" && echo "dbg: PATH=$PATH" 1>&${DBG_REDIR}
494
495#
496# Sanity and x bits.
497#
498if test ! -d "${KBUILD_BIN_PATH}/"; then
499 echo "$0: warning: The bin directory for this platform doesn't exist. (${KBUILD_BIN_PATH}/)" 1>&${ERR_REDIR}
500else
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;
502 do
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}
506 fi
507 done
508fi
509
510#
511# The environment is in place, now take the requested action.
512#
513MY_RC=0
514if test -n "${VAR_OPT}"; then
515 # Echo variable values or variable export statements.
516 for var in ${VAR_OPT};
517 do
518 val=
519 case "$var" in
520 PATH)
521 val=$PATH
522 ;;
523 KBUILD_PATH)
524 val=$KBUILD_PATH
525 ;;
526 KBUILD_BIN_PATH)
527 val=$KBUILD_BIN_PATH
528 ;;
529 KBUILD_HOST)
530 val=$KBUILD_HOST
531 ;;
532 KBUILD_HOST_ARCH)
533 val=$KBUILD_HOST_ARCH
534 ;;
535 KBUILD_HOST_CPU)
536 val=$KBUILD_HOST_CPU
537 ;;
538 KBUILD_TARGET)
539 val=$KBUILD_TARGET
540 ;;
541 KBUILD_TARGET_ARCH)
542 val=$KBUILD_TARGET_ARCH
543 ;;
544 KBUILD_TARGET_CPU)
545 val=$KBUILD_TARGET_CPU
546 ;;
547 KBUILD_TYPE)
548 val=$KBUILD_TYPE
549 ;;
550 *)
551 echo "$0: error: Unknown variable $var specified in --var request." 1>&${ERR_REDIR}
552 sleep 1
553 exit 1
554 ;;
555 esac
556
557 if test -n "$EVAL_OPT"; then
558 echo "${EVAL_EXPORT} $var=$val"
559 else
560 if test -n "$VALUE_ONLY_OPT"; then
561 echo "$val"
562 else
563 echo "$var=$val"
564 fi
565 fi
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}
571 echo "${EVAL_EXPORT} PATH=${PATH}"
572 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && echo "${EVAL_EXPORT} KBUILD_TYPE=${KBUILD_TYPE}"
573 if test -n "${FULL_OPT}"; then
574 echo "${EVAL_EXPORT} KBUILD_PATH=${KBUILD_PATH}"
575 if test -n "{FULL_WITH_BIN_OPT}"; then
576 echo "${EVAL_EXPORT} KBUILD_BIN_PATH=${KBUILD_BIN_PATH}"
577 fi
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}"
584
585 if test -n "${LEGACY_OPT}"; then
586 echo "${EVAL_EXPORT} PATH_KBUILD=${KBUILD_PATH}"
587 if test -n "${FULL_WITH_BIN_OPT}"; then
588 echo "${EVAL_EXPORT} PATH_KBUILD_BIN=${KBUILD_PATH_BIN}"
589 fi
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}"
597 fi
598 fi
599 else
600 # Export variables.
601 export PATH
602 test -n "${FULL_OPT}" -o "${EXP_TYPE_OPT}" && export KBUILD_TYPE
603 if test -n "${FULL_OPT}"; then
604 export KBUILD_PATH
605 if test -n "${FULL_WITH_BIN_OPT}"; then
606 export KBUILD_BIN_PATH
607 fi
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
617 if test -n "${FULL_WITH_BIN_OPT}"; then
618 export PATH_KBUILD_BIN=$KBUILD_BIN_PATH
619 fi
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
628 fi
629
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
637 MY_RC=$?
638 else
639 test -z "${QUIET_OPT}" && echo "$0: info: Executing command: $*" 1>&${ERR_REDIR}
640 $*
641 MY_RC=$?
642 test -z "${QUIET_OPT}" -a "$MY_RC" -ne 0 && echo "$0: info: rc=$MY_RC: $*" 1>&${ERR_REDIR}
643 fi
644 fi
645fi
646test -n "$DBG_OPT" && echo "dbg: finished (rc=$MY_RC)" 1>&${DBG_REDIR}
647exit $MY_RC
648
Note: See TracBrowser for help on using the repository browser.