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 522 - (view) (download)

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

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