Artifact 482a7c7be3e2c8c081c4063301f3d4dc05106978:
- Executable file
build/fake-bin/uname
— part of check-in
[aa00b0ada2]
at
2012-05-13 18:50:59
on branch trunk
— Updated to use standard cross-compile script for Linux/MIPS target
Updated to include "mips" support in fake uname
Updated to not use fake uname for "mips" (user: rkeene, size: 1983) [annotate] [blame] [check-ins using] [more...]
0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 #! /usr/bin/env 0010: 62 61 73 68 0a 0a 69 66 20 5b 20 22 24 31 22 20 bash..if [ "$1" 0020: 3d 3d 20 22 2d 2d 66 61 6b 65 22 20 5d 3b 20 74 == "--fake" ]; t 0030: 68 65 6e 0a 09 65 63 68 6f 20 22 74 72 75 65 22 hen..echo "true" 0040: 0a 0a 09 65 78 69 74 20 30 0a 66 69 0a 0a 23 20 ...exit 0.fi..# 0050: 53 6f 6d 65 20 73 79 73 74 65 6d 73 20 64 6f 20 Some systems do 0060: 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 77 65 6c 6c not compile well 0070: 20 77 69 74 68 20 74 68 69 73 20 66 61 6b 65 20 with this fake 0080: 75 6e 61 6d 65 20 69 6e 20 70 6c 61 63 65 0a 23 uname in place.# 0090: 20 70 72 6f 76 69 64 65 20 74 68 65 20 72 65 61 provide the rea 00a0: 6c 20 75 6e 61 6d 65 20 66 6f 72 20 74 68 65 6d l uname for them 00b0: 2e 0a 63 61 73 65 20 22 24 7b 43 52 4f 53 53 7d ..case "${CROSS} 00c0: 22 20 69 6e 0a 09 6d 69 70 73 65 6c 2d 75 6e 6b " in..mipsel-unk 00d0: 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 75 63 6c 69 62 nown-linux-uclib 00e0: 63 29 0a 09 09 75 6e 73 65 74 20 43 52 4f 53 53 c)...unset CROSS 00f0: 0a 09 09 3b 3b 0a 65 73 61 63 0a 0a 69 66 20 5b ...;;.esac..if [ 0100: 20 2d 7a 20 22 24 7b 43 52 4f 53 53 7d 22 20 5d -z "${CROSS}" ] 0110: 3b 20 74 68 65 6e 0a 09 23 20 49 66 20 6e 6f 74 ; then..# If not 0120: 20 63 72 6f 73 73 20 63 6f 6d 70 69 6c 69 6e 67 cross compiling 0130: 2c 20 72 65 76 65 72 74 20 74 6f 20 73 79 73 74 , revert to syst 0140: 65 6d 20 75 6e 61 6d 65 0a 09 77 68 69 6c 65 20 em uname..while 0150: 5b 20 22 24 28 75 6e 61 6d 65 20 2d 2d 66 61 6b [ "$(uname --fak 0160: 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 22 20 e 2>/dev/null)" 0170: 3d 3d 20 22 74 72 75 65 22 20 2d 61 20 2d 6e 20 == "true" -a -n 0180: 22 24 7b 50 41 54 48 7d 22 20 5d 3b 20 64 6f 0a "${PATH}" ]; do. 0190: 09 09 50 41 54 48 3d 22 24 28 65 63 68 6f 20 22 ..PATH="$(echo " 01a0: 24 7b 50 41 54 48 7d 22 20 7c 20 2f 75 73 72 2f ${PATH}" | /usr/ 01b0: 62 69 6e 2f 73 65 64 20 27 73 40 5e 5b 5e 3a 5d bin/sed 's@^[^:] 01c0: 2a 24 40 40 3b 73 40 5e 5b 5e 3a 5d 2a 3a 40 40 *$@@;s@^[^:]*:@@ 01d0: 27 29 22 0a 0a 09 09 65 78 70 6f 72 74 20 50 41 ')"....export PA 01e0: 54 48 0a 09 64 6f 6e 65 0a 0a 09 69 66 20 5b 20 TH..done...if [ 01f0: 2d 7a 20 22 24 7b 50 41 54 48 7d 22 20 5d 3b 20 -z "${PATH}" ]; 0200: 74 68 65 6e 0a 09 09 65 78 69 74 20 31 0a 09 66 then...exit 1..f 0210: 69 0a 0a 09 65 78 65 63 20 75 6e 61 6d 65 20 22 i...exec uname " 0220: 24 40 22 0a 66 69 0a 0a 43 52 4f 53 53 3d 22 24 $@".fi..CROSS="$ 0230: 28 65 63 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22 (echo "${CROSS}" 0240: 20 7c 20 73 65 64 20 27 73 40 2d 2a 24 40 40 27 | sed 's@-*$@@' 0250: 29 22 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 )"..# Determine 0260: 72 65 6c 65 61 73 65 20 69 6e 66 6f 72 6d 61 74 release informat 0270: 69 6f 6e 0a 63 61 73 65 20 22 24 7b 43 52 4f 53 ion.case "${CROS 0280: 53 7d 22 20 69 6e 0a 09 2a 2d 68 70 75 78 31 31 S}" in..*-hpux11 0290: 2a 29 0a 09 09 73 79 73 6e 61 6d 65 3d 22 48 50 *)...sysname="HP 02a0: 2d 55 58 22 0a 09 09 73 79 73 72 65 6c 65 61 73 -UX"...sysreleas 02b0: 65 3d 22 24 28 65 63 68 6f 20 22 24 7b 43 52 4f e="$(echo "${CRO 02c0: 53 53 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 2e SS}" | sed 's@^. 02d0: 2a 2d 68 70 75 78 40 40 27 29 22 0a 09 09 3b 3b *-hpux@@')"...;; 02e0: 0a 09 2a 2d 73 6f 6c 61 72 69 73 32 2a 29 0a 09 ..*-solaris2*).. 02f0: 09 73 79 73 6e 61 6d 65 3d 22 53 75 6e 4f 53 22 .sysname="SunOS" 0300: 0a 09 09 73 79 73 72 65 6c 65 61 73 65 3d 22 24 ...sysrelease="$ 0310: 28 65 63 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22 (echo "${CROSS}" 0320: 20 7c 20 73 65 64 20 27 73 40 5e 2e 2a 2d 73 6f | sed 's@^.*-so 0330: 6c 61 72 69 73 40 40 3b 73 40 5e 32 40 35 40 27 laris@@;s@^2@5@' 0340: 29 22 0a 09 09 3b 3b 0a 09 2a 2d 6c 69 6e 75 78 )"...;;..*-linux 0350: 2a 29 0a 09 09 73 79 73 6e 61 6d 65 3d 22 4c 69 *)...sysname="Li 0360: 6e 75 78 22 0a 09 09 73 79 73 72 65 6c 65 61 73 nux"...sysreleas 0370: 65 3d 22 32 2e 36 2e 35 22 0a 09 09 3b 3b 0a 09 e="2.6.5"...;;.. 0380: 2a 2d 6e 65 74 62 73 64 2a 29 0a 09 09 73 79 73 *-netbsd*)...sys 0390: 6e 61 6d 65 3d 22 4e 65 74 42 53 44 22 0a 09 09 name="NetBSD"... 03a0: 73 79 73 72 65 6c 65 61 73 65 3d 22 24 28 65 63 sysrelease="$(ec 03b0: 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22 20 7c 20 ho "${CROSS}" | 03c0: 73 65 64 20 27 73 40 5e 2e 2a 2d 6e 65 74 62 73 sed 's@^.*-netbs 03d0: 64 40 40 3b 73 40 24 40 2e 30 40 27 29 22 0a 09 d@@;s@$@.0@')".. 03e0: 09 3b 3b 0a 09 2a 2d 66 72 65 65 62 73 64 2a 29 .;;..*-freebsd*) 03f0: 0a 09 09 73 79 73 6e 61 6d 65 3d 22 46 72 65 65 ...sysname="Free 0400: 42 53 44 22 0a 09 09 73 79 73 72 65 6c 65 61 73 BSD"...sysreleas 0410: 65 3d 22 24 28 65 63 68 6f 20 22 24 7b 43 52 4f e="$(echo "${CRO 0420: 53 53 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 2e SS}" | sed 's@^. 0430: 2a 2d 66 72 65 65 62 73 64 40 40 3b 73 40 24 40 *-freebsd@@;s@$@ 0440: 2e 30 2d 52 45 4c 45 41 53 45 40 27 29 22 0a 09 .0-RELEASE@')".. 0450: 09 3b 3b 0a 65 73 61 63 0a 0a 23 20 44 65 74 65 .;;.esac..# Dete 0460: 72 6d 69 6e 65 20 6d 61 63 68 69 6e 65 20 69 6e rmine machine in 0470: 66 6f 72 6d 61 74 69 6f 6e 0a 63 61 73 65 20 22 formation.case " 0480: 24 7b 43 52 4f 53 53 7d 22 20 69 6e 0a 09 68 70 ${CROSS}" in..hp 0490: 70 61 36 34 2d 2a 2d 68 70 75 78 2a 29 0a 09 09 pa64-*-hpux*)... 04a0: 73 79 73 6d 61 63 68 69 6e 65 3d 22 39 30 30 30 sysmachine="9000 04b0: 2f 38 35 39 22 0a 09 09 3b 3b 0a 09 69 33 38 36 /859"...;;..i386 04c0: 2d 2a 2d 73 6f 6c 61 72 69 73 2a 29 0a 09 09 73 -*-solaris*)...s 04d0: 79 73 6d 61 63 68 69 6e 65 3d 22 69 38 36 70 63 ysmachine="i86pc 04e0: 22 0a 09 09 3b 3b 0a 09 73 70 61 72 63 2d 2a 2d "...;;..sparc-*- 04f0: 73 6f 6c 61 72 69 73 2a 29 0a 09 09 73 79 73 6d solaris*)...sysm 0500: 61 63 68 69 6e 65 3d 22 73 75 6e 34 75 22 0a 09 achine="sun4u".. 0510: 09 3b 3b 0a 09 78 38 36 5f 36 34 2d 2a 29 0a 09 .;;..x86_64-*).. 0520: 09 73 79 73 6d 61 63 68 69 6e 65 3d 22 78 38 36 .sysmachine="x86 0530: 5f 36 34 22 0a 09 09 3b 3b 0a 09 69 3f 38 36 2d _64"...;;..i?86- 0540: 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e 65 3d *)...sysmachine= 0550: 22 69 36 38 36 22 0a 09 09 3b 3b 0a 09 69 61 36 "i686"...;;..ia6 0560: 34 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e 4-*)...sysmachin 0570: 65 3d 22 69 61 36 34 22 0a 09 09 3b 3b 0a 09 61 e="ia64"...;;..a 0580: 72 6d 2d 2a 7c 61 72 6d 65 6c 2d 2a 7c 61 72 6d rm-*|armel-*|arm 0590: 65 62 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 eb-*)...sysmachi 05a0: 6e 65 3d 22 61 72 6d 76 37 6c 22 0a 09 09 3b 3b ne="armv7l"...;; 05b0: 0a 09 6d 69 70 73 65 6c 2d 2a 7c 6d 69 70 73 65 ..mipsel-*|mipse 05c0: 62 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e b-*)...sysmachin 05d0: 65 3d 22 6d 69 70 73 22 0a 09 09 3b 3b 0a 65 73 e="mips"...;;.es 05e0: 61 63 0a 0a 66 6f 72 20 61 72 67 20 69 6e 20 24 ac..for arg in $ 05f0: 28 65 63 68 6f 20 22 24 40 22 20 7c 20 73 65 64 (echo "$@" | sed 0600: 20 27 73 40 2e 40 20 26 20 40 67 27 29 3b 20 64 's@.@ & @g'); d 0610: 6f 0a 09 63 61 73 65 20 22 24 7b 61 72 67 7d 22 o..case "${arg}" 0620: 20 69 6e 0a 09 09 2d 29 0a 09 09 09 63 6f 6e 74 in...-)....cont 0630: 69 6e 75 65 0a 09 09 09 3b 3b 0a 09 09 72 29 0a inue....;;...r). 0640: 09 09 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74 ...retval="${ret 0650: 76 61 6c 7d 20 24 7b 73 79 73 72 65 6c 65 61 73 val} ${sysreleas 0660: 65 7d 22 0a 09 09 09 3b 3b 0a 09 09 73 29 0a 09 e}"....;;...s).. 0670: 09 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74 76 ..retval="${retv 0680: 61 6c 7d 20 24 7b 73 79 73 6e 61 6d 65 7d 22 0a al} ${sysname}". 0690: 09 09 09 3b 3b 0a 09 09 6d 29 0a 09 09 09 72 65 ...;;...m)....re 06a0: 74 76 61 6c 3d 22 24 7b 72 65 74 76 61 6c 7d 20 tval="${retval} 06b0: 24 7b 73 79 73 6d 61 63 68 69 6e 65 7d 22 0a 09 ${sysmachine}".. 06c0: 09 09 3b 3b 0a 09 09 70 29 0a 09 09 09 23 20 58 ..;;...p)....# X 06d0: 58 58 0a 09 09 09 72 65 74 76 61 6c 3d 22 24 7b XX....retval="${ 06e0: 72 65 74 76 61 6c 7d 20 24 7b 73 79 73 63 70 75 retval} ${syscpu 06f0: 7d 22 0a 09 09 09 3b 3b 0a 09 09 6e 29 0a 09 09 }"....;;...n)... 0700: 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74 76 61 .retval="${retva 0710: 6c 7d 20 24 28 68 6f 73 74 6e 61 6d 65 29 22 0a l} $(hostname)". 0720: 09 09 09 3b 3b 0a 09 09 61 29 0a 09 09 09 72 65 ...;;...a)....re 0730: 74 76 61 6c 3d 22 24 7b 73 79 73 6e 61 6d 65 7d tval="${sysname} 0740: 20 24 28 68 6f 73 74 6e 61 6d 65 29 20 24 7b 73 $(hostname) ${s 0750: 79 73 72 65 6c 65 61 73 65 7d 20 24 7b 73 79 73 ysrelease} ${sys 0760: 76 65 72 73 69 6f 6e 7d 20 24 7b 73 79 73 6d 61 version} ${sysma 0770: 63 68 69 6e 65 7d 20 24 7b 73 79 73 63 70 75 7d chine} ${syscpu} 0780: 22 0a 09 09 09 3b 3b 0a 09 65 73 61 63 0a 64 6f "....;;..esac.do 0790: 6e 65 0a 0a 65 63 68 6f 20 22 24 7b 72 65 74 76 ne..echo "${retv 07a0: 61 6c 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 20 al}" | sed 's@^ 07b0: 20 2a 40 40 3b 73 40 20 20 2a 24 40 40 27 0a *@@;s@ *$@@'.