home *** CD-ROM | disk | FTP | other *** search
- $! Command file to build Emacs on VMS and create a backup saveset.
- $!
- $! Argument list
- $! P1 (opt) name of the tape output device.
- $!
- $! History
- $! rms, 16 May 1988
- $! original version
- $! rbr, 30 Oct 1992, roberts@nsrl31.nsrl.rochester.edu
- $! modified to make this location independent.
- $!
- $!
- $! We assume this file is in disk:[dir.emacs19.vms], where `disk' may be
- $! a concealed device name. The default directory is moved to the location
- $! of this file, and the backup saveset will be contain disk:[dir...]*.*
- $!
- $! We also assume that the tar-tape reader has changed all `-' to `_'
- $! in filenames. If this is not so, delete the first `@allrename' command.
- $!
- $! You must also edit the mag tape device name
- $! And the Emacs version that appears in the saveset name.
- $!
- $!
- $! Get a valid tape device name
- $!
- $ tape = p1
- $ prompt:
- $ if tape .eqs. ""
- $ then inquire tape "Tape device destination for distribution files"
- $ endif
- $ if f$getdvi(tape,"EXISTS") .eqs. "FALSE" then goto prompt
- $ if f$getdvi(tape,"DEVCLASS") .ne. 2 then goto prompt
- $ if f$locate(":",tape) .eq. f$length(tape) then tape = tape + ":"
- $!
- $! Set the default directory to the root of the emacs distribution
- $!
- $ home = f$environment("DEFAULT")
- $ path = f$environment("PROCEDURE")
- $ path = f$extract(0,f$locate("]",path)+1,path)
- $ set default 'path'
- $!
- $! Change to VMS 4.4 filenames.
- $!
- $ @[.vms]allrename [...] "_" "-"
- $!
- $! Edit the configuration files.
- $!
- $ set default [-.src]
- $ copy vmspaths.h paths.h
- $ copy config.h-dist config.h
- $ edit/edt/nocommand config.h
- s/"@opsystemi@"/"[.s]vms4-4.h"/w
- s/"@machine@"/"[.m]vms.h"/w
- exit
- $!
- $! Compile, link and dump Emacs.
- $!
- $ @compile
- $ @link
- $ @[-.vms]complink
- $ @[-.vms]makedoc
- $ @build
- $!
- $! Move the executable and image to the appropriate place.
- $!
- $ rename temacs.exe [-]emacs.exe
- $ rename temacs.dump [-]emacs.dump
- $ copy sys$library:vaxcrtl.olb vaxcrtl.olb
- $!
- $! Recompile a few files for vms version 4.2.
- $! Call these object files for 4.2 `.jbo'.
- $!
- $ edit/edt/nocommand config.h
- s/vms4-4/vms4-2/w
- exit
- $ rename doc.obj doc.obx
- $ rename fileio.obj fileio.obx
- $ rename sysdep.obj sysdep.obx
- $ rename vmsfns.obj vmsfns.obx
- $ 'ccom' doc
- $ 'ccom' fileio
- $ 'ccom' sysdep
- $ 'ccom' vmsfns
- $ rename doc.obj doc.jbo
- $ rename fileio.obj fileio.jbo
- $ rename sysdep.obj sysdep.jbo
- $ rename vmsfns.obj vmsfns.jbo
- $ rename *.obx *.obj
- $ delete config.h;-1
- $!
- $! Change all files back to the names that VMS 4.2 can read in.
- $!
- $ set default [-]
- $ @allrename [...] "-" "_"
- $!
- $! Set up the device name for the backup, assume we are located in [.vms]
- $! of the Emacs directory tree.
- $!
- $ olddef = f$environment("DEFAULT")
- $ path = f$environment("PROCEDURE")
- $ path = f$extract(0,f$locate("]",path)+1,path)
- $ set default 'path'
- $ set default [-.-]
- $ path = f$environment("DEFAULT")
- $ set default 'olddef'
- $ if f$parse(path,,,"DEVICE") .nes. f$parse(path,,,"DEVICE","NO_CONCEAL")
- $ then
- $ disk = f$parse(path,,,"DEVICE","NO_CONCEAL")
- $ disk = disk + f$parse(path,,,"DIRECTORY") - "]" + ".]"
- $ else
- $ disk = path - "]" + ".]"
- $ endif
- $!
- $! Dump onto tape.
- $!
- $ mount /foreign 'tape'
- $ define /translation=concealed dumping 'disk'
- $ set def dumping:[emacs]
- $ backup /interchange /verify /list [...] 'tape'emacs19.0
- $ dismount 'tape'
- $!
- $ set default 'home'
- $ exit