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

Annotation of /sml/branches/SMLNJ/src/system/makeml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 475 - (view) (download)

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

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