new option -t (target shell filename)
This commit is contained in:
		
							
								
								
									
										56
									
								
								Build.sh
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								Build.sh
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| #!/bin/sh | #!/bin/sh | ||||||
| srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.571 2012/05/18 01:38:04 tg Exp $' | srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.572 2012/06/24 20:46:07 tg Exp $' | ||||||
| #- | #- | ||||||
| # Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | # Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||||||
| #		2011, 2012 | #		2011, 2012 | ||||||
| @@ -303,13 +303,6 @@ addsrcs() { | |||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| if test -d mksh || test -d mksh.exe; then |  | ||||||
| 	echo "$me: Error: ./mksh is a directory!" >&2 |  | ||||||
| 	exit 1 |  | ||||||
| fi |  | ||||||
| rmf a.exe* a.out* conftest.c *core core.* lft mksh* no *.bc *.ll *.o \ |  | ||||||
|     Rebuild.sh signames.inc test.sh x vv.out |  | ||||||
|  |  | ||||||
| curdir=`pwd` srcdir=`dirname "$0" 2>/dev/null` check_categories= | curdir=`pwd` srcdir=`dirname "$0" 2>/dev/null` check_categories= | ||||||
| test -n "$srcdir" || srcdir=. # in case dirname does not exist | test -n "$srcdir" || srcdir=. # in case dirname does not exist | ||||||
| dstversion=`sed -n '/define MKSH_VERSION/s/^.*"\([^"]*\)".*$/\1/p' $srcdir/sh.h` | dstversion=`sed -n '/define MKSH_VERSION/s/^.*"\([^"]*\)".*$/\1/p' $srcdir/sh.h` | ||||||
| @@ -322,6 +315,7 @@ pm=0 | |||||||
| cm=normal | cm=normal | ||||||
| optflags=-std-compile-opts | optflags=-std-compile-opts | ||||||
| last= | last= | ||||||
|  | tfn=mksh | ||||||
|  |  | ||||||
| for i | for i | ||||||
| do | do | ||||||
| @@ -338,6 +332,10 @@ do | |||||||
| 		optflags=$i | 		optflags=$i | ||||||
| 		last= | 		last= | ||||||
| 		;; | 		;; | ||||||
|  | 	t:*) | ||||||
|  | 		tfn=$i | ||||||
|  | 		last= | ||||||
|  | 		;; | ||||||
| 	:-c) | 	:-c) | ||||||
| 		last=c | 		last=c | ||||||
| 		;; | 		;; | ||||||
| @@ -364,6 +362,9 @@ do | |||||||
| 	:-r) | 	:-r) | ||||||
| 		r=1 | 		r=1 | ||||||
| 		;; | 		;; | ||||||
|  | 	:-t) | ||||||
|  | 		last=t | ||||||
|  | 		;; | ||||||
| 	:-v) | 	:-v) | ||||||
| 		echo "Build.sh $srcversion" | 		echo "Build.sh $srcversion" | ||||||
| 		echo "for mksh $dstversion" | 		echo "for mksh $dstversion" | ||||||
| @@ -384,6 +385,13 @@ if test -n "$last"; then | |||||||
| 	exit 1 | 	exit 1 | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | if test -d $tfn || test -d $tfn.exe; then | ||||||
|  | 	echo "$me: Error: ./$tfn is a directory!" >&2 | ||||||
|  | 	exit 1 | ||||||
|  | fi | ||||||
|  | rmf a.exe* a.out* conftest.c *core core.* lft ${tfn}* no *.bc *.ll *.o \ | ||||||
|  |     Rebuild.sh signames.inc test.sh x vv.out | ||||||
|  |  | ||||||
| SRCS="lalloc.c edit.c eval.c exec.c expr.c funcs.c histrap.c" | SRCS="lalloc.c edit.c eval.c exec.c expr.c funcs.c histrap.c" | ||||||
| SRCS="$SRCS jobs.c lex.c main.c misc.c shf.c syn.c tree.c var.c" | SRCS="$SRCS jobs.c lex.c main.c misc.c shf.c syn.c tree.c var.c" | ||||||
|  |  | ||||||
| @@ -1456,23 +1464,23 @@ else | |||||||
| 		#define EXTERN | 		#define EXTERN | ||||||
| 		#define MKSH_INCLUDES_ONLY | 		#define MKSH_INCLUDES_ONLY | ||||||
| 		#include "sh.h" | 		#include "sh.h" | ||||||
| 		__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.571 2012/05/18 01:38:04 tg Exp $"); | 		__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.572 2012/06/24 20:46:07 tg Exp $"); | ||||||
| 		int main(void) { printf("Hello, World!\n"); return (0); } | 		int main(void) { printf("Hello, World!\n"); return (0); } | ||||||
| EOF | EOF | ||||||
| 	case $cm in | 	case $cm in | ||||||
| 	llvm) | 	llvm) | ||||||
| 		v "$CC $CFLAGS $CPPFLAGS $NOWARN -emit-llvm -c conftest.c" || fv=0 | 		v "$CC $CFLAGS $CPPFLAGS $NOWARN -emit-llvm -c conftest.c" || fv=0 | ||||||
| 		rmf mksh.s | 		rmf $tfn.s | ||||||
| 		test $fv = 0 || v "llvm-link -o - conftest.o | opt $optflags | llc -o mksh.s" || fv=0 | 		test $fv = 0 || v "llvm-link -o - conftest.o | opt $optflags | llc -o $tfn.s" || fv=0 | ||||||
| 		test $fv = 0 || v "$CC $CFLAGS $LDFLAGS -o $tcfn mksh.s $LIBS $ccpr" | 		test $fv = 0 || v "$CC $CFLAGS $LDFLAGS -o $tcfn $tfn.s $LIBS $ccpr" | ||||||
| 		;; | 		;; | ||||||
| 	dragonegg) | 	dragonegg) | ||||||
| 		v "$CC $CFLAGS $CPPFLAGS $NOWARN -S -flto conftest.c" || fv=0 | 		v "$CC $CFLAGS $CPPFLAGS $NOWARN -S -flto conftest.c" || fv=0 | ||||||
| 		test $fv = 0 || v "mv conftest.s conftest.ll" | 		test $fv = 0 || v "mv conftest.s conftest.ll" | ||||||
| 		test $fv = 0 || v "llvm-as conftest.ll" || fv=0 | 		test $fv = 0 || v "llvm-as conftest.ll" || fv=0 | ||||||
| 		rmf mksh.s | 		rmf $tfn.s | ||||||
| 		test $fv = 0 || v "llvm-link -o - conftest.bc | opt $optflags | llc -o mksh.s" || fv=0 | 		test $fv = 0 || v "llvm-link -o - conftest.bc | opt $optflags | llc -o $tfn.s" || fv=0 | ||||||
| 		test $fv = 0 || v "$CC $CFLAGS $LDFLAGS -o $tcfn mksh.s $LIBS $ccpr" | 		test $fv = 0 || v "$CC $CFLAGS $LDFLAGS -o $tcfn $tfn.s $LIBS $ccpr" | ||||||
| 		;; | 		;; | ||||||
| 	combine) | 	combine) | ||||||
| 		v "$CC $CFLAGS $CPPFLAGS $LDFLAGS -fwhole-program --combine $NOWARN -o $tcfn conftest.c $LIBS $ccpr" | 		v "$CC $CFLAGS $CPPFLAGS $LDFLAGS -fwhole-program --combine $NOWARN -o $tcfn conftest.c $LIBS $ccpr" | ||||||
| @@ -1929,8 +1937,8 @@ files= | |||||||
| objs= | objs= | ||||||
| sp= | sp= | ||||||
| case $tcfn in | case $tcfn in | ||||||
| a.exe)	mkshexe=mksh.exe ;; | a.exe)	mkshexe=$tfn.exe ;; | ||||||
| *)	mkshexe=mksh ;; | *)	mkshexe=$tfn ;; | ||||||
| esac | esac | ||||||
| case $curdir in | case $curdir in | ||||||
| *\ *)	mkshshebang="#!./$mkshexe" ;; | *\ *)	mkshshebang="#!./$mkshexe" ;; | ||||||
| @@ -2038,9 +2046,9 @@ for file in $SRCS; do | |||||||
| done | done | ||||||
| case $cm in | case $cm in | ||||||
| dragonegg|llvm) | dragonegg|llvm) | ||||||
| 	echo "rm -f mksh.s" >>Rebuild.sh | 	echo "rm -f $tfn.s" >>Rebuild.sh | ||||||
| 	echo "llvm-link -o - $objs | opt $optflags | llc -o mksh.s" >>Rebuild.sh | 	echo "llvm-link -o - $objs | opt $optflags | llc -o $tfn.s" >>Rebuild.sh | ||||||
| 	lobjs=mksh.s | 	lobjs=$tfn.s | ||||||
| 	;; | 	;; | ||||||
| *) | *) | ||||||
| 	lobjs=$objs | 	lobjs=$objs | ||||||
| @@ -2119,8 +2127,8 @@ else | |||||||
| fi | fi | ||||||
| case $cm in | case $cm in | ||||||
| dragonegg|llvm) | dragonegg|llvm) | ||||||
| 	rmf mksh.s | 	rmf $tfn.s | ||||||
| 	v "llvm-link -o - $objs | opt $optflags | llc -o mksh.s" | 	v "llvm-link -o - $objs | opt $optflags | llc -o $tfn.s" | ||||||
| 	;; | 	;; | ||||||
| esac | esac | ||||||
| tcfn=$mkshexe | tcfn=$mkshexe | ||||||
| @@ -2134,8 +2142,8 @@ test -f /usr/ucb/$i && i=/usr/ucb/$i | |||||||
| test 1 = $eq && e=: | test 1 = $eq && e=: | ||||||
| $e | $e | ||||||
| $e Installing the shell: | $e Installing the shell: | ||||||
| $e "# $i -c -s -o root -g bin -m 555 mksh /bin/mksh" | $e "# $i -c -s -o root -g bin -m 555 $tfn /bin/$tfn" | ||||||
| $e "# grep -x /bin/mksh /etc/shells >/dev/null || echo /bin/mksh >>/etc/shells" | $e "# grep -x /bin/$tfn /etc/shells >/dev/null || echo /bin/$tfn >>/etc/shells" | ||||||
| $e "# $i -c -o root -g bin -m 444 dot.mkshrc /usr/share/doc/mksh/examples/" | $e "# $i -c -o root -g bin -m 444 dot.mkshrc /usr/share/doc/mksh/examples/" | ||||||
| $e | $e | ||||||
| $e Installing the manual: | $e Installing the manual: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user