home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / lisp / lispconf < prev    next >
Encoding:
Text File  |  1987-12-11  |  3.7 KB  |  143 lines

  1. #! /bin/csh 
  2. #$Header: lispconf,v 1.18 87/12/11 16:41:21 sklower Exp $
  3. #
  4. # csh script to configure lisp
  5. # use:
  6. #    lispconf type
  7. # where type is one of
  8. #    vax_4_1 vax_4_1a vax_4_1c vax_eunice_vms
  9. #    tahoe_4_3
  10. #    sun_4_1c sun_unisoft dual_unisoft pixel_unisoft lisa_uniplus3
  11. #    sun_4_2 sun_4_2beta mc500_2_0
  12. #
  13. if ($#argv == 1) then
  14.   set argument = $argv[1]
  15. else  
  16.   set argument = junk
  17. endif
  18.  
  19. #fix makefile
  20. sed "s%^RootDir = .*%RootDir = `pwd`%" Makefile > Make$$
  21. mv Make$$ Makefile < /dev/null
  22.  
  23. switch ($argument)
  24.  case vax_eunice_vms:
  25.     mv franz/vax/{Makefile,Make.unix}
  26.     mv franz/vax/{Make.vms,Makefile}
  27.  case vax_4_1:
  28.  case vax_4_1a:
  29.  case vax_4_1c:
  30.  case vax_4_2:
  31.  case vax_4_3:
  32.  case sun_4_1c: 
  33.  case sun_4_2: 
  34.  case sun_4_2beta: 
  35.  case mc500_2_0:
  36.  case tahoe_4_3:
  37.  case sun_unisoft:
  38.  case dual_unisoft:
  39.  case pixel_unisoft:
  40.  case lisa_unisys3:
  41.     echo "/* this file created by ../../lispconf */" >! franz/h/lconf.h
  42.     echo "#define $argv[1] 1" >>! franz/h/lconf.h
  43.     rm -f franz/h/{aout,lispo}.h
  44.     cp /usr/include/a.out.h franz/h/aout.h
  45.     cp /usr/include/a.out.h franz/h/lispo.h
  46.     breaksw
  47.  default:
  48.   echo "use: lispconf type"
  49.   echo "  where type is one of "
  50.   echo "  vax_4_1 vax_4_1a vax_4_1c vax_4_2 vax_4_3"
  51.   echo "  vax_eunice_vms tahoe_4_3"
  52.   echo "  sun_4_1c sun_unisoft dual_unisoft pixel_unisoft "
  53.   echo "  sun_4_2beta lisa_unisys3 mc500_2_0"
  54.   exit 1
  55. endsw 
  56.  
  57. set ifusft=""
  58. set ifsys3=""
  59. switch ($argument)
  60.  case vax_*:
  61.     set VAX mach="vax"
  62.     (echo vax ucbstd; cat Makefile) | awk -f cvt.awk > Make$$
  63.     mv Make$$ Makefile < /dev/null
  64.     breaksw
  65.  case tahoe_*:
  66.     set TAHOE mach="tahoe"
  67.     (echo tahoe ucbstd; cat Makefile) | awk -f cvt.awk >Make$$
  68.     mv Make$$ Makefile </dev/null
  69.     breaksw
  70.  case *_unisys3:
  71.     set ifsys3="unisys3botch"
  72.  case *_unisoft:
  73.     set ifusft="unisoft"
  74.  case sun_4_*: 
  75.  case mc500_2_*:
  76.     set M68K mach="68k"
  77.     (echo 68k ucbstd $ifusft; cat Makefile)| awk -f cvt.awk>Make$$
  78.     mv Make$$ Makefile < /dev/null
  79.     breaksw
  80. endsw 
  81.  
  82. # for the 68k version of the lisp compiler
  83. # The type of makefile built depends of the type of 68k
  84. #  system you have.  We assume that sun's and mc500's have virtual
  85. #  memory and that dual/unisoft's have no vm (thus, define swapper).
  86. # As long as we are checking to see if we are dealing with
  87. # a 68000 unisoft machine; make some patches to the C part as well.
  88. set ifsunII=""
  89. if ($?M68K) then
  90.     switch ($argument)
  91.      case *_unisys3:
  92.      case *_unisoft:
  93.         (echo swapper unisoft;\
  94.             cat liszt/68k/Makefile) |awk -f cvt.awk > Make$$
  95.         (echo unisoft $ifsys3;\
  96.             cat franz/68k/Makefile) |awk -f cvt.awk > franz/68k/Make$$
  97.         rm -f franz/h/{lispo,aout}.h
  98.         cp franz/h/duallispo.h franz/h/lispo.h
  99.         cp franz/h/dualaout.h franz/h/aout.h
  100.         cp franz/h/hpagsiz.h franz/h/pagsiz.h
  101.         cp lisplib/autorun/unisoft lisplib/autorun/68k
  102.         breaksw
  103.      case sun_4_2beta:
  104.      case sun_4_2:
  105.         set ifsunII=sunII
  106.      case sun_4_1c:
  107.         (echo sun; cat liszt/68k/Makefile) | awk -f cvt.awk > Make$$
  108.         (echo sun $ifsunII; cat franz/68k/Makefile)\
  109.                 | awk -f cvt.awk > franz/68k/Make$$
  110.         cp lisplib/autorun/sun4.2 lisplib/autorun/68k
  111.         breaksw
  112.      case mc500_2_*:
  113.         (echo mc500; cat liszt/68k/Makefile) | awk -f cvt.awk > Make$$
  114.         (echo mc500; cat franz/68k/Makefile)\
  115.                 | awk -f cvt.awk > franz/68k/Make$$
  116.         cp lisplib/autorun/mc500 lisplib/autorun/68k
  117.         breaksw
  118.     endsw
  119.     rm -f liszt/68k/Makefile
  120.     sed "s%^RootDir = .*%RootDir = `pwd`%" Make$$ > liszt/68k/Makefile
  121.     rm -f Make$$
  122.     rm -f franz/68k/Makefile
  123.     mv franz/68k/Make$$ franz/68k/Makefile
  124.  
  125.     if ($ifusft/x == unisoft/x) then
  126.         switch ($argument)
  127.          case sun_unisoft:
  128.             set OFFSET=0x40000
  129.             breaksw
  130.          case dual_unisoft:
  131.             set OFFSET=0x800000
  132.             breaksw
  133.          case pixel_unisoft:
  134.          case lisa_unisys3:
  135.             set OFFSET=0x20000
  136.             breaksw
  137.         endsw
  138.         sed "s%^OFFSET = .*%OFFSET = $OFFSET%"\
  139.                 lisplib/autorun/68k > temp$$
  140.         mv temp$$ lisplib/autorun/68k </dev/null
  141.     endif
  142. endif
  143.