home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Script to extract the 23feb90.tar.Z distribution of the
- # Scheme->C compiler on System V-ish systems with silly file
- # name length restrictions.
- #
- # The SysV.3.2 tar reports many bad extents when extracting
- # this archive, but it appears to extract everything correctly
- # anyway.
- #
- # Parameters that you should set according to your system
- # conventions and convenience.
- #
- archive=/home/archives/28sep90.tar.Z
- destdir=/home/s2c
- tempdir=/tmp
- #
- # Extract the archive.
- #
-
- mkdir $destdir
- zcat $archive | (cd $destdir; tar xfo -)
-
- #
- # Rename some files in place
- #
- mv $destdir/gnuemacs/s2c-gnuemacs.README $destdir/gnuemacs/s2c.README
- mv $destdir/gnuemacs/s2c-gnuemacs.el $destdir/gnuemacs/s2c.el
-
- mv $destdir/scrt/scexpanders1.sc $destdir/scrt/scexpand1.sc
- mv $destdir/scrt/scexpanders2.sc $destdir/scrt/scexpand2.sc
- mv $destdir/scrt/scexpanders1.c $destdir/scrt/scexpand1.c
- mv $destdir/scrt/scexpanders2.c $destdir/scrt/scexpand2.c
- ed $destdir/scrt/makefile-tail << %
- g/scexpanders/s//scexpand/g
- w
- q
- %
-
- mv $destdir/test/test20-input.sc $destdir/test/test20-in.sc
- ed $destdir/test/test20.sc << %
- g/test20-input.sc/s//test20-in.sc/g
- w
- q
- %
-
- #
- # Can't figure any good thing to do with these two
- # files, and their truncated names are harmless.
- # mv $destdir/xlib/Xcursorfont.cdecl $destdir/xlib/...
- # mv $destdir/xlib/Xresource.cdecl $destdir/xlib/...
- #
- mv $destdir/xlib/xtextitem.c $destdir/xlib/xtext.c
- mv $destdir/xlib/xtextitem.sc $destdir/xlib/xtext.sc
- mv $destdir/xlib/xtextitem.sch $destdir/xlib/xtext.sch
-
- #
- # Now comes the ugly part.
- #
- SCH="xlib/xcharstruct.sch xlib/xcomposestatus.sch xlib/xfontstruct.sch\
- xlib/xhostaddress.sch xlib/xkeyboardcontrol.sch xlib/xkeyboardstate.sch\
- xlib/xlibCONSTANTS.sch xlib/xmodifierkeymap.sch xlib/xrmoptiondescrec.sch\
- xlib/xsetwindowattributes.sch xlib/xstandardcolormap.sch xlib/xtextitem16.sch\
- xlib/xvisualinfo.sch xlib/xwindowattributes.sch xlib/xwindowchanges.sch"
- C="xlib/xcharstruct.c xlib/xcomposestatus.c xlib/xfontstruct.c\
- xlib/xhostaddress.c xlib/xkeyboardcontrol.c xlib/xkeyboardstate.c\
- xlib/xlibCONSTANTS.c xlib/xmodifierkeymap.c xlib/xrmoptiondescrec.c\
- xlib/xsetwindowattributes.c xlib/xstandardcolormap.c xlib/xtextitem16.c\
- xlib/xvisualinfo.c xlib/xwindowattributes.c xlib/xwindowchanges.c"
- SC="xlib/xcharstruct.sc xlib/xcomposestatus.sc xlib/xfontstruct.sc\
- xlib/xhostaddress.sc xlib/xkeyboardcontrol.sc xlib/xkeyboardstate.sc\
- xlib/xlibCONSTANTS.sc xlib/xmodifierkeymap.sc xlib/xrmoptiondescrec.sc\
- xlib/xsetwindowattributes.sc xlib/xstandardcolormap.sc xlib/xtextitem16.sc\
- xlib/xvisualinfo.sc xlib/xwindowattributes.sc xlib/xwindowchanges.sc"
-
- #
- # Extract the overlong files into $tempdir.
- #
- mkdir $tempdir/xlib
- cd $tempdir/xlib
- zcat $archive | tar xfo - $SCH
- mv xlib sch
- zcat $archive | tar xfo - $SC
- mv xlib sc
- zcat $archive | tar xfo - $C
- mv xlib c
-
- #
- # Remove the truncated file names from $destdir
- #
- cd $destdir
- rm -f $SCH
- rm -f $SC
- rm -f $C
-
- #
- # Move files to new names.
- #
- mv $tempdir/xlib/c/xcharstruct.c $destdir/xlib/xcharstr.c
- mv $tempdir/xlib/sc/xcharstruct.sc $destdir/xlib/xcharstr.sc
- mv $tempdir/xlib/sch/xcharstruct.sch $destdir/xlib/xcharstr.sch
- mv $tempdir/xlib/c/xcomposestatus.c $destdir/xlib/xcomstat.c
- mv $tempdir/xlib/sc/xcomposestatus.sc $destdir/xlib/xcomstat.sc
- mv $tempdir/xlib/sch/xcomposestatus.sch $destdir/xlib/xcomstat.sch
- mv $tempdir/xlib/c/xfontstruct.c $destdir/xlib/xfontstr.c
- mv $tempdir/xlib/sc/xfontstruct.sc $destdir/xlib/xfontstr.sc
- mv $tempdir/xlib/sch/xfontstruct.sch $destdir/xlib/xfontstr.sch
- mv $tempdir/xlib/c/xhostaddress.c $destdir/xlib/xhostaddr.c
- mv $tempdir/xlib/sc/xhostaddress.sc $destdir/xlib/xhostaddr.sc
- mv $tempdir/xlib/sch/xhostaddress.sch $destdir/xlib/xhostaddr.sch
- mv $tempdir/xlib/c/xkeyboardcontrol.c $destdir/xlib/xkbdcont.c
- mv $tempdir/xlib/sc/xkeyboardcontrol.sc $destdir/xlib/xkbdcont.sc
- mv $tempdir/xlib/sch/xkeyboardcontrol.sch $destdir/xlib/xkbdcont.sch
- mv $tempdir/xlib/c/xkeyboardstate.c $destdir/xlib/xkbdstat.c
- mv $tempdir/xlib/sc/xkeyboardstate.sc $destdir/xlib/xkbdstat.sc
- mv $tempdir/xlib/sch/xkeyboardstate.sch $destdir/xlib/xkbdstat.sch
- mv $tempdir/xlib/c/xlibCONSTANTS.c $destdir/xlib/xlibCONST.c
- mv $tempdir/xlib/sc/xlibCONSTANTS.sc $destdir/xlib/xlibCONST.sc
- mv $tempdir/xlib/sch/xlibCONSTANTS.sch $destdir/xlib/xlibCONST.sch
- mv $tempdir/xlib/c/xmodifierkeymap.c $destdir/xlib/xmodmap.c
- mv $tempdir/xlib/sc/xmodifierkeymap.sc $destdir/xlib/xmodmap.sc
- mv $tempdir/xlib/sch/xmodifierkeymap.sch $destdir/xlib/xmodmap.sch
- mv $tempdir/xlib/c/xrmoptiondescrec.c $destdir/xlib/xrmoption.c
- mv $tempdir/xlib/sc/xrmoptiondescrec.sc $destdir/xlib/xrmoption.sc
- mv $tempdir/xlib/sch/xrmoptiondescrec.sch $destdir/xlib/xrmoption.sch
- mv $tempdir/xlib/c/xsetwindowattributes.c $destdir/xlib/xswinattr.c
- mv $tempdir/xlib/sc/xsetwindowattributes.sc $destdir/xlib/xswinattr.sc
- mv $tempdir/xlib/sch/xsetwindowattributes.sch $destdir/xlib/xswinattr.sch
- mv $tempdir/xlib/c/xstandardcolormap.c $destdir/xlib/xstdcmap.c
- mv $tempdir/xlib/sc/xstandardcolormap.sc $destdir/xlib/xstdcmap.sc
- mv $tempdir/xlib/sch/xstandardcolormap.sch $destdir/xlib/xstdcmap.sch
- mv $tempdir/xlib/c/xtextitem16.c $destdir/xlib/xtext16.c
- mv $tempdir/xlib/sc/xtextitem16.sc $destdir/xlib/xtext16.sc
- mv $tempdir/xlib/sch/xtextitem16.sch $destdir/xlib/xtext16.sch
- mv $tempdir/xlib/c/xvisualinfo.c $destdir/xlib/xvinfo.c
- mv $tempdir/xlib/sc/xvisualinfo.sc $destdir/xlib/xvinfo.sc
- mv $tempdir/xlib/sch/xvisualinfo.sch $destdir/xlib/xvinfo.sch
- mv $tempdir/xlib/c/xwindowattributes.c $destdir/xlib/xwinattr.c
- mv $tempdir/xlib/sc/xwindowattributes.sc $destdir/xlib/xwinattr.sc
- mv $tempdir/xlib/sch/xwindowattributes.sch $destdir/xlib/xwinattr.sch
- mv $tempdir/xlib/c/xwindowchanges.c $destdir/xlib/xwinchgs.c
- mv $tempdir/xlib/sc/xwindowchanges.sc $destdir/xlib/xwinchgs.sc
- mv $tempdir/xlib/sch/xwindowchanges.sch $destdir/xlib/xwinchgs.sch
-
- #
- # Clean up $tempdir
- #
-
- rm -fr $tempdir/xlib
-
- #
- # Rewrite the makefile.
- #
- ed $destdir/xlib/makefile << %
- g/xcharstruct/s//xcharstr/g
- g/xcomposestatus/s//xcomstat/g
- g/xfontstruct/s//xfontstr/g
- g/xhostaddress/s//xhostaddr/g
- g/xkeyboardcontrol/s//xkbdcont/g
- g/xkeyboardstate/s//xkbdstat/g
- g/xlibCONSTANTS/s//xlibCONST/g
- g/xmodifierkeymap/s//xmodmap/g
- g/xrmoptiondescrec/s//xrmoption/g
- g/xsetwindowattributes/s//xswinattr/g
- g/xstandardcolormap/s//xstdcmap/g
- g/xtextitem16/s//xtext16/g
- g/xtextitem/s//xtext/g
- g/xvisualinfo/s//xvinfo/g
- g/xwindowattributes/s//xwinattr/g
- g/xwindowchanges/s//xwinchgs/g
- w
- q
- %
-
-