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

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

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