[8836] | 1 | #!/bin/ksh |
---|
| 2 | |
---|
| 3 | USAGE="usage: SniAp_SVR4 [sourceDirectory]" |
---|
| 4 | |
---|
| 5 | ############################################################################ |
---|
| 6 | # This is the root of where the libraries and includes will be installed. |
---|
| 7 | # During pre-release development, you probably want this to be something |
---|
| 8 | # else, like your home directory or the project's home directory |
---|
| 9 | ############################################################################ |
---|
| 10 | |
---|
| 11 | DEST=/GlobalTools/WCL |
---|
| 12 | WCL_VER=2.7 |
---|
| 13 | |
---|
| 14 | ############################################################################ |
---|
| 15 | |
---|
| 16 | if (( $# == 1 )) |
---|
| 17 | then |
---|
| 18 | ############################################################################ |
---|
| 19 | # Optionally do build in specified directory |
---|
| 20 | ############################################################################ |
---|
| 21 | cd $1 |
---|
| 22 | fi |
---|
| 23 | |
---|
| 24 | set -x |
---|
| 25 | |
---|
| 26 | ############################################################################ |
---|
| 27 | # Make sure the distribution is unpacked |
---|
| 28 | ############################################################################ |
---|
| 29 | |
---|
| 30 | if [[ ! -f README ]] |
---|
| 31 | then |
---|
| 32 | zcat Wclx*Z | tar xf - |
---|
| 33 | fi |
---|
| 34 | |
---|
| 35 | |
---|
| 36 | ############################################################################ |
---|
| 37 | # First build static libraries |
---|
| 38 | ############################################################################ |
---|
| 39 | |
---|
| 40 | rm -rf _* ./Xmx/_* ./Xri/_* |
---|
| 41 | |
---|
| 42 | rm -f WcMake1.tmpl |
---|
| 43 | ln -s WcMake1.Svr4-a WcMake1.tmpl |
---|
| 44 | rm -f WcMake2.tmpl |
---|
| 45 | ln -s WcMake2.svr4-a WcMake2.tmpl |
---|
| 46 | |
---|
| 47 | rm -f _* |
---|
| 48 | |
---|
| 49 | ./makeSV -f MakeByHand World |
---|
| 50 | |
---|
| 51 | ############################################################################ |
---|
| 52 | # Copy includes, static libraries, and Mri to new directories in DEST. # |
---|
| 53 | ##### Must be static Mri, because shared libs are not going to USRLIB, ##### |
---|
| 54 | ##### and svr4 shared lib Mri had LD_RUN_PATH specified to be USRLIB. ##### |
---|
| 55 | ############################################################################ |
---|
| 56 | |
---|
| 57 | rm -rf $DEST/inc.new $DEST/lib.new $DEST/bin.new |
---|
| 58 | |
---|
| 59 | if [[ ! -d $DEST ]] |
---|
| 60 | then |
---|
| 61 | mkdir $DEST |
---|
| 62 | fi |
---|
| 63 | |
---|
| 64 | mkdir $DEST/inc.new |
---|
| 65 | mkdir $DEST/lib.new |
---|
| 66 | mkdir $DEST/bin.new |
---|
| 67 | |
---|
| 68 | cp -pr X11 $DEST/inc.new |
---|
| 69 | |
---|
| 70 | cp -p Wc/libWc.a $DEST/lib.new |
---|
| 71 | cp -p Xmp/libXmp.a $DEST/lib.new |
---|
| 72 | cp -p Xmx/libXmx.a $DEST/lib.new |
---|
| 73 | |
---|
| 74 | cp -p Mri/Mri $DEST/bin.new |
---|
| 75 | cp -p Xri/Xri $DEST/bin.new |
---|
| 76 | |
---|
| 77 | ############################################################################ |
---|
| 78 | # Second, build shared libraries |
---|
| 79 | ############################################################################ |
---|
| 80 | |
---|
| 81 | rm -f WcMake1.tmpl |
---|
| 82 | ln -s WcMake1.Svr4 WcMake1.tmpl |
---|
| 83 | rm -f WcMake2.tmpl |
---|
| 84 | ln -s WcMake2.svr4 WcMake2.tmpl |
---|
| 85 | |
---|
| 86 | ./makeSV -f MakeByHand World |
---|
| 87 | |
---|
| 88 | ############################################################################ |
---|
| 89 | # Copy shared libraries to new directory in DEST |
---|
| 90 | ############################################################################ |
---|
| 91 | |
---|
| 92 | cp -p Wc/libWc.so.$WCL_VER $DEST/lib.new |
---|
| 93 | cp -p Xmp/libXmp.so.$WCL_VER $DEST/lib.new |
---|
| 94 | cp -p Xmx/libXmx.so.$WCL_VER $DEST/lib.new |
---|
| 95 | |
---|
| 96 | ############################################################################ |
---|
| 97 | # Swap existing with new |
---|
| 98 | ############################################################################ |
---|
| 99 | |
---|
| 100 | if [[ -d $DEST/inc ]] |
---|
| 101 | then |
---|
| 102 | rm -rf $DEST/inc.old |
---|
| 103 | mv $DEST/inc $DEST/inc.old |
---|
| 104 | fi |
---|
| 105 | |
---|
| 106 | mv $DEST/inc.new $DEST/inc |
---|
| 107 | |
---|
| 108 | if [[ -d $DEST/lib ]] |
---|
| 109 | then |
---|
| 110 | rm -rf $DEST/lib.old |
---|
| 111 | mv $DEST/lib $DEST/lib.old |
---|
| 112 | fi |
---|
| 113 | |
---|
| 114 | mv $DEST/lib.new $DEST/lib |
---|
| 115 | |
---|
| 116 | if [[ -d $DEST/bin ]] |
---|
| 117 | then |
---|
| 118 | rm -rf $DEST/bin.old |
---|
| 119 | mv $DEST/bin $DEST/bin.old |
---|
| 120 | fi |
---|
| 121 | |
---|
| 122 | mv $DEST/bin.new $DEST/bin |
---|
| 123 | |
---|
| 124 | ############################################################################ |
---|
| 125 | # Symbolic links for latest version of shared libraries |
---|
| 126 | ############################################################################ |
---|
| 127 | |
---|
| 128 | ln -s $DEST/lib/libWc.so.$WCL_VER $DEST/lib/libWc.so |
---|
| 129 | ln -s $DEST/lib/libXmp.so.$WCL_VER $DEST/lib/libXmp.so |
---|
| 130 | ln -s $DEST/lib/libXmx.so.$WCL_VER $DEST/lib/libXmx.so |
---|
| 131 | |
---|
| 132 | ############################################################################ |
---|
| 133 | # Done installing in DEST |
---|
| 134 | ############################################################################ |
---|
| 135 | |
---|
| 136 | ls -l $DEST $DEST/lib $DEST/bin \ |
---|
| 137 | $DEST/inc $DEST/inc/X11 $DEST/inc/X11/Wc \ |
---|
| 138 | $DEST/inc/X11/Xmp $DEST/inc/X11/Xmx |
---|
| 139 | |
---|
| 140 | ./makeSV -f MakeByHand install |
---|
| 141 | echo sleep for a minute so the log file names do not collide |
---|
| 142 | sleep 60 |
---|
| 143 | ./makeSV -f MakeByHand install.man |
---|