Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/xmakeml
ViewVC logotype

Annotation of /sml/trunk/src/compiler/xmakeml

Parent Directory Parent Directory | Revision Log 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