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 |
---|