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/system/makeml
ViewVC logotype

Annotation of /sml/trunk/src/system/makeml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 515 - (view) (download)

1 : monnier 416 #!/bin/sh
2 :     #
3 :    
4 :     ARCH=sparc
5 :     OPSYS=solaris
6 :     RUN_DIR=../../bin/.run
7 :     OBJS_DIR=../runtime/objs
8 :     HEAP_IMAGE=""
9 :     RUN=""
10 :     RUN_ARGS=""
11 : monnier 498 MODE=""
12 : monnier 416 BOOT_DIR=""
13 : monnier 498 rebuilt=no
14 : blume 515 bare=no
15 : monnier 416
16 :     #
17 :     # Set CM_PATHCONFIG_DEFAULT to ../../lib/pathconfig
18 :     # (using an absolute path!)
19 :     #
20 :    
21 :     here=`pwd`
22 :     cd ../..
23 :     CM_PATHCONFIG_DEFAULT=`pwd`/lib/pathconfig
24 :     cd $here
25 :     export CM_PATHCONFIG_DEFAULT
26 :    
27 :     #
28 :     # use the arch-n-opsys script to determine the ARCH/OS if possible
29 :     #
30 :     if [ -f ../../bin/.arch-n-opsys ]; then
31 :     ARCH_N_OPSYS=`../../bin/.arch-n-opsys`
32 :     if [ "$?" = "0" ]; then
33 :     eval $ARCH_N_OPSYS
34 :     echo $ARCH $OPSYS
35 :     fi
36 :     fi
37 :    
38 : monnier 475 #
39 :     # Allocation size: This snippet should be kept consistent with that
40 : blume 515 # in config/install.sh
41 : monnier 475 #
42 :     case $ARCH in
43 :     mips*) ALLOC=1M ;;
44 :     x86)
45 :     ALLOC=256k
46 :     ;;
47 :     alpha32)
48 :     ALLOC=512k
49 :     ;;
50 :     *)
51 :     ALLOC=512k
52 :     ;;
53 :     esac
54 :    
55 : monnier 416 while [ "$#" != "0" ]
56 :     do
57 :     arg=$1; shift
58 :     case $arg in
59 : blume 515 -bare)
60 :     bare=yes
61 :     MODE="@SMLbare"
62 :     ;;
63 : monnier 416 -rebuild)
64 : blume 515 if [ "$#" = "0" ]; then
65 :     echo "makeml: missing argument for \"-rebuild\" option"
66 :     exit 1
67 :     fi
68 :     rebuilt=yes
69 :     MODE="@SMLrebuild=$1"; shift
70 :     ;;
71 : monnier 416 -arch)
72 : blume 515 if [ "$#" = "0" ]; then
73 :     echo "makeml: missing argument for \"-arch\" option"
74 :     exit 1
75 :     fi
76 :     ARCH=$1; shift
77 :     ;;
78 : monnier 416 -opsys)
79 : blume 515 if [ "$#" = "0" ]; then
80 :     echo "makeml: missing argument for \"-opsys\" option"
81 :     exit 1
82 :     fi
83 :     OPSYS=$1; shift
84 :     ;;
85 : monnier 416 -o)
86 : blume 515 if [ "$#" = "0" ]; then
87 :     echo "makeml: missing argument for \"-o\" option"
88 :     exit 1
89 :     fi
90 :     HEAP_IMAGE=$1; shift
91 :     ;;
92 : monnier 416 -run)
93 : blume 515 if [ "$#" = "0" ]; then
94 :     echo "makeml: missing argument for \"-run\" option"
95 :     exit 1
96 :     fi
97 :     RUN=$1; shift
98 :     ;;
99 : monnier 416 -alloc)
100 : blume 515 if [ "$#" = "0" ]; then
101 :     echo "makeml: missing argument for \"-alloc\" option"
102 :     exit 1
103 :     fi
104 :     ALLOC=$1; shift
105 :     ;;
106 : monnier 416 -boot)
107 : blume 515 if [ "$#" = "0" ]; then
108 :     echo "makeml: missing argument for \"-boot\" option"
109 :     exit 1
110 :     fi
111 :     BOOT_DIR=$1; shift
112 :     ;;
113 :     @SML*)
114 :     RUN_ARGS="$RUN_ARGS $arg"
115 :     ;;
116 :     *)
117 :     echo "makeml: unknown argument \"$arg\""
118 : monnier 416 exit 1
119 : blume 515 ;;
120 :     esac
121 : monnier 416 done
122 :    
123 :     if [ x"$RUN" = x ]; then
124 :     if [ x"$OPSYS" = xwin32 ]; then
125 :     RUN_CMD="run.$ARCH-$OPSYS.exe"
126 :     else
127 :     RUN_CMD="run.$ARCH-$OPSYS"
128 :     fi
129 :     if [ -x "$RUN_DIR/$RUN_CMD" ]; then
130 :     RUN="$RUN_DIR/$RUN_CMD"
131 :     elif [ -x "$OBJS_DIR/$RUN_CMD" ]; then
132 :     RUN="$OBJS_DIR/$RUN_CMD"
133 :     else
134 :     echo "makeml: unable to find run-time system \"$RUN_CMD\""
135 :     exit 1
136 :     fi
137 :     fi
138 :    
139 :     if [ x"$HEAP_IMAGE" = x ]; then
140 :     HEAP_IMAGE="sml"
141 :     fi
142 :    
143 :     if [ x"$BOOT_DIR" = x ]; then
144 : monnier 498 BOOT_DIR="./sml.boot.$ARCH-unix"
145 : monnier 416 fi
146 :    
147 :     echo "$RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \
148 : monnier 498 @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE"
149 : monnier 416
150 :     if $RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \
151 : monnier 498 @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE
152 : monnier 416 then
153 :     #
154 :     # If this was a -rebuild run, we have to quit now...
155 :     #
156 : monnier 498 if [ $rebuilt = yes ] ; then
157 : monnier 416 echo New binfiles are ready.
158 :     exit 0
159 :     fi
160 :     echo Heap image generated.
161 :     else
162 :     echo Something broke.
163 :     exit 1
164 :     fi
165 :    
166 :     #
167 :     # Now move the libraries, generate the pathconfig file, and delete the bootdir.
168 :     #
169 :    
170 : blume 515 if [ $bare = no ] ; then
171 :     LIB_DIR=`pwd`/${HEAP_IMAGE}.lib
172 : monnier 416
173 : blume 515 rm -rf $LIB_DIR
174 :     mkdir $LIB_DIR
175 : monnier 416
176 : blume 515 cd $BOOT_DIR
177 : monnier 416
178 : blume 515 for i in *.cm ; do
179 :     mv $i $LIB_DIR/$i
180 :     echo $i $i
181 :     done >$LIB_DIR/pathconfig
182 : monnier 416
183 : blume 515 cd ..
184 :     rm -r $BOOT_DIR
185 :     fi

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0