SCM Repository
Annotation of /sml/trunk/src/compiler/xmakeml
Parent Directory
|
Revision Log
Revision 57 - (view) (download)
1 : | monnier | 16 | #!/bin/ksh |
2 : | # | ||
3 : | |||
4 : | ELAB="" | ||
5 : | FULL="" | ||
6 : | ALLOC=1M | ||
7 : | |||
8 : | league | 52 | ARCH=x86 |
9 : | OPSYS=linux | ||
10 : | monnier | 16 | RUN_DIR=../../bin/.run |
11 : | OBJS_DIR=../runtime/objs | ||
12 : | HEAP_IMAGE="" | ||
13 : | RUN="" | ||
14 : | RUN_ARGS="" | ||
15 : | SET_FLAGS="" | ||
16 : | |||
17 : | # | ||
18 : | # use the arch-n-opsys script to determine the ARCH/OS if possible | ||
19 : | # | ||
20 : | if [ -f ../../bin/.arch-n-opsys ]; then | ||
21 : | ARCH_N_OPSYS=`../../bin/.arch-n-opsys` | ||
22 : | if [ "$?" = "0" ]; then | ||
23 : | eval $ARCH_N_OPSYS | ||
24 : | fi | ||
25 : | fi | ||
26 : | |||
27 : | while [ "$#" != "0" ] | ||
28 : | do | ||
29 : | arg=$1; shift | ||
30 : | case $arg in | ||
31 : | -elab) ELAB="@SMLelab" ;; | ||
32 : | league | 52 | -full) |
33 : | FULL="@SMLfull" | ||
34 : | NOTE="[-full]\n$NOTE" | ||
35 : | ;; | ||
36 : | -note) | ||
37 : | if [ "$#" = "0" ]; then | ||
38 : | echo "xmakeml: missing argument for \"-note\" option" | ||
39 : | exit 1 | ||
40 : | fi | ||
41 : | NOTE="$1\n"; shift | ||
42 : | ;; | ||
43 : | monnier | 16 | -arch) |
44 : | if [ "$#" = "0" ]; then | ||
45 : | echo "xmakeml: missing argument for \"-arch\" option" | ||
46 : | exit 1 | ||
47 : | fi | ||
48 : | ARCH=$1; shift | ||
49 : | ;; | ||
50 : | -opsys) | ||
51 : | if [ "$#" = "0" ]; then | ||
52 : | echo "xmakeml: missing argument for \"-opsys\" option" | ||
53 : | exit 1 | ||
54 : | fi | ||
55 : | OPSYS=$1; shift | ||
56 : | ;; | ||
57 : | -o) | ||
58 : | if [ "$#" = "0" ]; then | ||
59 : | echo "xmakeml: missing argument for \"-o\" option" | ||
60 : | exit 1 | ||
61 : | fi | ||
62 : | HEAP_IMAGE=$1; shift | ||
63 : | ;; | ||
64 : | -run) | ||
65 : | if [ "$#" = "0" ]; then | ||
66 : | echo "xmakeml: missing argument for \"-run\" option" | ||
67 : | exit 1 | ||
68 : | fi | ||
69 : | RUN=$1; shift | ||
70 : | ;; | ||
71 : | -alloc) | ||
72 : | if [ "$#" = "0" ]; then | ||
73 : | echo "xmakeml: missing argument for \"-alloc\" option" | ||
74 : | exit 1 | ||
75 : | fi | ||
76 : | ALLOC=$1; shift | ||
77 : | ;; | ||
78 : | -boot) | ||
79 : | if [ "$#" = "0" ]; then | ||
80 : | echo "xmakeml: missing argument for \"-boot\" option" | ||
81 : | exit 1 | ||
82 : | fi | ||
83 : | BOOT_DIR=$1; shift | ||
84 : | ;; | ||
85 : | @SML*) | ||
86 : | RUN_ARGS="$RUN_ARGS $arg" | ||
87 : | ;; | ||
88 : | *) echo "xmakeml: unknown argument \"$arg\"" | ||
89 : | exit 1 | ||
90 : | ;; | ||
91 : | esac | ||
92 : | done | ||
93 : | |||
94 : | case $OPSYS in | ||
95 : | solaris) MAKE=/usr/ccs/bin/make ;; | ||
96 : | esac | ||
97 : | |||
98 : | if [ "$RUN" = "" ]; then | ||
99 : | if [ "$OPSYS" = "win32" ]; then | ||
100 : | RUN_CMD="run.$ARCH-$OPSYS.exe" | ||
101 : | else | ||
102 : | RUN_CMD="run.$ARCH-$OPSYS" | ||
103 : | fi | ||
104 : | if [ -x "$RUN_DIR/$RUN_CMD" ]; then | ||
105 : | RUN="$RUN_DIR/$RUN_CMD" | ||
106 : | elif [ -x "$OBJS_DIR/$RUN_CMD" ]; then | ||
107 : | RUN="$OBJS_DIR/$RUN_CMD" | ||
108 : | else | ||
109 : | league | 52 | echo "xmakeml: unable to find run-time system \"$RUN_DIR/$RUN_CMD\"" |
110 : | monnier | 16 | exit 1 |
111 : | fi | ||
112 : | fi | ||
113 : | |||
114 : | if [ "$HEAP_IMAGE" = "" ]; then | ||
115 : | if [ "$FULL" = "" ]; then | ||
116 : | HEAP_IMAGE="sml" | ||
117 : | else | ||
118 : | HEAP_IMAGE="sml-full" | ||
119 : | fi | ||
120 : | fi | ||
121 : | |||
122 : | if [ "$BOOT_DIR" = "" ]; then | ||
123 : | BOOT_DIR="./bin.$ARCH-unix" | ||
124 : | fi | ||
125 : | |||
126 : | if [ ! -d ./bin.$ARCH-unix ]; then | ||
127 : | ln -s $BOOT_DIR ./bin.$ARCH-unix | ||
128 : | fi | ||
129 : | |||
130 : | #echo "$RUN @SMLboot=$BOOT_DIR @SMLalloc=$ALLOC $RUN_ARGS $ELAB $FULL -b $BOOT_DIR" | ||
131 : | #$RUN @SMLboot=$BOOT_DIR @SMLalloc=$ALLOC $RUN_ARGS $ELAB $FULL -b $BOOT_DIR <<XXXX | ||
132 : | echo "$RUN @SMLboot=$BOOT_DIR @SMLalloc=$ALLOC $RUN_ARGS $ELAB $FULL" | ||
133 : | $RUN @SMLboot=$BOOT_DIR @SMLalloc=$ALLOC $RUN_ARGS $ELAB $FULL <<XXXX | ||
134 : | $SET_FLAGS | ||
135 : | league | 52 | val use = Compiler.Interact.useFile; |
136 : | monnier | 16 | val _ = (SMLofNJ.exportML "$HEAP_IMAGE"; |
137 : | league | 52 | print Compiler.banner; print "\n"; |
138 : | print "[built `date`]\n"; print "$NOTE"); | ||
139 : | monnier | 16 | XXXX |
140 : | monnier | 57 | |
141 : | monnier | 16 | if [ -L ./bin.$ARCH-unix ]; then |
142 : | rm -f ./bin.$ARCH-unix | ||
143 : | fi |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |