Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/system/makeml
ViewVC logotype

Diff of /sml/trunk/src/system/makeml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 522, Wed Jan 12 20:45:49 2000 UTC revision 537, Fri Feb 18 17:20:16 2000 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
 #  
2    
3  ALLOC=1M  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    ALLOC=1M
16  ARCH=sparc  ARCH=sparc
17  OPSYS=solaris  HEAP="sml"
18  RUN_DIR=../../bin/.run  ARGS=""
 OBJS_DIR=../runtime/objs  
 HEAP_IMAGE=""  
 RUN=""  
 RUN_ARGS=""  
19  MODE=""  MODE=""
20  BOOT_DIR=""  RUN=""
21    
22  rebuilt=no  rebuilt=no
23  bare=no  bare=no
24    
# Line 20  Line 27 
27  # (using an absolute path!)  # (using an absolute path!)
28  #  #
29    
30  here=`pwd`  CM_PATHCONFIG_DEFAULT=$twoup/lib/pathconfig
 cd ../..  
 CM_PATHCONFIG_DEFAULT=`pwd`/lib/pathconfig  
 cd $here  
31  export CM_PATHCONFIG_DEFAULT  export CM_PATHCONFIG_DEFAULT
32    
33  #  #
34  # use the arch-n-opsys script to determine the ARCH/OS if possible  # use the arch-n-opsys script to determine the ARCH/OS if possible
35  #  #
36  if [ -f ../../bin/.arch-n-opsys ]; then  if [ -f $twoup/bin/.arch-n-opsys ]; then
37    ARCH_N_OPSYS=`../../bin/.arch-n-opsys`      ARCH_N_OPSYS=`$twoup/bin/.arch-n-opsys`
38    if [ "$?" = "0" ]; then    if [ "$?" = "0" ]; then
39      eval $ARCH_N_OPSYS      eval $ARCH_N_OPSYS
40          echo $ARCH $OPSYS          echo Architecture: $ARCH
41        fi
42    fi
43    
44    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    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  fi
62    }
63    
64  while [ "$#" != "0" ]  BOOT_DIR="sml.boot.${ARCH}-unix"
65  do  
66    while [ "$#" != "0" ] ; do
67    arg=$1; shift    arg=$1; shift
68    case $arg in    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      -bare)      -bare)
77          bare=yes          bare=yes
78          MODE="@SMLbare"          MODE="@SMLbare"
# Line 53  Line 85 
85          rebuilt=yes          rebuilt=yes
86          MODE="@SMLrebuild=$1"; shift          MODE="@SMLrebuild=$1"; shift
87          ;;          ;;
     -arch)  
         if [ "$#" = "0" ]; then  
             echo "makeml: missing argument for \"-arch\" option"  
             exit 1  
         fi  
         ARCH=$1; shift  
         ;;  
     -opsys)  
         if [ "$#" = "0" ]; then  
             echo "makeml: missing argument for \"-opsys\" option"  
             exit 1  
         fi  
         OPSYS=$1; shift  
         ;;  
88      -o)      -o)
89          if [ "$#" = "0" ]; then          if [ "$#" = "0" ]; then
90              echo "makeml: missing argument for \"-o\" option"              echo "makeml: missing argument for \"-o\" option"
91              exit 1              exit 1
92          fi          fi
93          HEAP_IMAGE=$1; shift          HEAP=$1; shift
         ;;  
     -run)  
         if [ "$#" = "0" ]; then  
             echo "makeml: missing argument for \"-run\" option"  
             exit 1  
         fi  
         RUN=$1; shift  
94          ;;          ;;
95      -alloc)      -alloc)
96          if [ "$#" = "0" ]; then          if [ "$#" = "0" ]; then
# Line 96  Line 107 
107          BOOT_DIR=$1; shift          BOOT_DIR=$1; shift
108          ;;          ;;
109      @SML*)      @SML*)
110          RUN_ARGS="$RUN_ARGS $arg"          ARGS="$ARGS $arg"
111          ;;          ;;
112      *)      *)
113          echo "makeml: unknown argument \"$arg\""          echo "makeml: unknown argument \"$arg\""
# Line 105  Line 116 
116      esac      esac
117  done  done
118    
119  if [ x"$RUN" = x ]; then  cd $BOOT_DIR
   if [ x"$OPSYS" = xwin32 ]; then  
     RUN_CMD="run.$ARCH-$OPSYS.exe"  
   else  
     RUN_CMD="run.$ARCH-$OPSYS"  
   fi  
   if [ -x "$RUN_DIR/$RUN_CMD" ]; then  
     RUN="$RUN_DIR/$RUN_CMD"  
   elif [ -x "$OBJS_DIR/$RUN_CMD" ]; then  
     RUN="$OBJS_DIR/$RUN_CMD"  
   else  
     echo "makeml: unable to find run-time system \"$RUN_CMD\""  
     exit 1  
   fi  
 fi  
   
 if [ x"$HEAP_IMAGE" = x ]; then  
   HEAP_IMAGE="sml"  
 fi  
   
 if [ x"$BOOT_DIR" = x ]; then  
   BOOT_DIR="./sml.boot.$ARCH-unix"  
 fi  
   
 echo "$RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \  
         @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE"  
120    
121  if $RUN @SMLboot=$BOOT_DIR @SMLrtpid=`cat $BOOT_DIR/RTPID` \  echo $LINK $RUN \
122          @SMLheap=$HEAP_IMAGE @SMLalloc=$ALLOC $RUN_ARGS $MODE      @SMLboot=BOOTLIST @SMLheap=$here/$HEAP @SMLalloc=$ALLOC $ARGS $MODE
123    if $LINK $RUN \
124        @SMLboot=BOOTLIST @SMLheap=$here/$HEAP @SMLalloc=$ALLOC $ARGS $MODE
125  then  then
126  #  #
127  # If this was a -rebuild run, we have to quit now...  # If this was a -rebuild run, we have to quit now...
# Line 152  Line 140 
140  # Now move the libraries, generate the pathconfig file, and delete the bootdir.  # Now move the libraries, generate the pathconfig file, and delete the bootdir.
141  #  #
142    
143    cd $here
144  if [ $bare = no ] ; then  if [ $bare = no ] ; then
145      LIB_DIR=`pwd`/${HEAP_IMAGE}.lib      LIB_DIR=`pwd`/${HEAP}.lib
146    
147      rm -rf $LIB_DIR      rm -rf $LIB_DIR
148      mkdir $LIB_DIR      mkdir $LIB_DIR
149    
150      cd $BOOT_DIR      cd $BOOT_DIR
151    
152      for i in *.cm ; do      for i in init.cmi *.cm ; do
153          mv $i $LIB_DIR/$i          link $i $LIB_DIR/$i
154          echo $i $i          echo $i $i
155      done >$LIB_DIR/pathconfig      done >$LIB_DIR/pathconfig
156    
157      cd ..      cd $here
     rm -r $BOOT_DIR  
158  fi  fi

Legend:
Removed from v.522  
changed lines
  Added in v.537

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