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 498 - (view) (download)
Original Path: sml/branches/SMLNJ/src/system/makeml

1 : monnier 416 #!/bin/sh
2 :     #
3 :    
4 :    
5 :     ARCH=sparc
6 :     OPSYS=solaris
7 :     RUN_DIR=../../bin/.run
8 :     OBJS_DIR=../runtime/objs
9 :     HEAP_IMAGE=""
10 :     RUN=""
11 :     RUN_ARGS=""
12 : monnier 498 MODE=""
13 : monnier 416 BOOT_DIR=""
14 : monnier 498 rebuilt=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 :     # in config/install.sh
41 :     #
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 : monnier 498 -bare) MODE="@SMLbare" ;;
60 : monnier 416 -rebuild)
61 :     if [ "$#" = "0" ]; then
62 :     echo "makeml: missing argument for \"-rebuild\" option"
63 :     exit 1
64 :     fi
65 : monnier 498 rebuilt=yes
66 :     MODE="@SMLrebuild=$1"; shift
67 : monnier 416 ;;
68 :     -arch)
69 :     if [ "$#" = "0" ]; then
70 :     echo "makeml: missing argument for \"-arch\" option"
71 :     exit 1
72 :     fi
73 :     ARCH=$1; shift
74 :     ;;
75 :     -opsys)
76 :     if [ "$#" = "0" ]; then
77 :     echo "makeml: missing argument for \"-opsys\" option"
78 :     exit 1
79 :     fi
80 :     OPSYS=$1; shift
81 :     ;;
82 :     -o)
83 :     if [ "$#" = "0" ]; then
84 :     echo "makeml: missing argument for \"-o\" option"
85 :     exit 1
86 :     fi
87 :     HEAP_IMAGE=$1; shift
88 :     ;;
89 :     -run)
90 :     if [ "$#" = "0" ]; then
91 :     echo "makeml: missing argument for \"-run\" option"
92 :     exit 1
93 :     fi
94 :     RUN=$1; shift
95 :     ;;
96 :     -alloc)
97 :     if [ "$#" = "0" ]; then
98 :     echo "makeml: missing argument for \"-alloc\" option"
99 :     exit 1
100 :     fi
101 :     ALLOC=$1; shift
102 :     ;;
103 :     -boot)
104 :     if [ "$#" = "0" ]; then
105 :     echo "makeml: missing argument for \"-boot\" option"
106 :     exit 1
107 :     fi
108 :     BOOT_DIR=$1; shift
109 :     ;;
110 :     @SML*)
111 :     RUN_ARGS="$RUN_ARGS $arg"
112 :     ;;
113 :     *) echo "makeml: unknown argument \"$arg\""
114 :     exit 1
115 :     ;;
116 :     esac
117 :     done
118 :    
119 :     if [ x"$RUN" = x ]; then
120 :     if [ x"$OPSYS" = xwin32 ]; then
121 :     RUN_CMD="run.$ARCH-$OPSYS.exe"
122 :     else
123 :     RUN_CMD="run.$ARCH-$OPSYS"
124 :     fi
125 :     if [ -x "$RUN_DIR/$RUN_CMD" ]; then
126 :     RUN="$RUN_DIR/$RUN_CMD"
127 :     elif [ -x "$OBJS_DIR/$RUN_CMD" ]; then
128 :     RUN="$OBJS_DIR/$RUN_CMD"
129 :     else
130 :     echo "makeml: unable to find run-time system \"$RUN_CMD\""
131 :     exit 1
132 :     fi
133 :     fi
134 :    
135 :     if [ x"$HEAP_IMAGE" = x ]; then
136 :     HEAP_IMAGE="sml"
137 :     fi
138 :    
139 :     if [ x"$BOOT_DIR" = x ]; then
140 : monnier 498 BOOT_DIR="./sml.boot.$ARCH-unix"
141 : monnier 416 fi
142 :    
143 :     echo "$RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \
144 : monnier 498 @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE"
145 : monnier 416
146 :     if $RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \
147 : monnier 498 @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE
148 : monnier 416 then
149 :     #
150 :     # If this was a -rebuild run, we have to quit now...
151 :     #
152 : monnier 498 if [ $rebuilt = yes ] ; then
153 : monnier 416 echo New binfiles are ready.
154 :     exit 0
155 :     fi
156 :     echo Heap image generated.
157 :     else
158 :     echo Something broke.
159 :     exit 1
160 :     fi
161 :    
162 :     #
163 :     # Now move the libraries, generate the pathconfig file, and delete the bootdir.
164 :     #
165 :    
166 :     LIB_DIR=`pwd`/${HEAP_IMAGE}.lib
167 :    
168 :     rm -rf $LIB_DIR
169 :     mkdir $LIB_DIR
170 :    
171 :     cd $BOOT_DIR
172 :    
173 :     for i in *.cm ; do
174 :     mv $i $LIB_DIR/$i
175 : monnier 498 echo $i $i
176 : monnier 416 done >$LIB_DIR/pathconfig
177 :    
178 :     cd ..
179 :     rm -r $BOOT_DIR

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