aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/BuildReleases.sh
diff options
context:
space:
mode:
authorDavid Walter Seikel2013-03-30 23:45:41 +1000
committerDavid Walter Seikel2013-03-30 23:45:41 +1000
commitc895bcd5f1c47df053d9025cdb685fd6617c0343 (patch)
treeffcbe362d20e27cb496d649d497e3bf0f5b79ab8 /BuildReleases.sh
parentRedo Windows via ssh, and actually get it to start compiling. (diff)
downloadImpyReleaseBuilder-c895bcd5f1c47df053d9025cdb685fd6617c0343.zip
ImpyReleaseBuilder-c895bcd5f1c47df053d9025cdb685fd6617c0343.tar.gz
ImpyReleaseBuilder-c895bcd5f1c47df053d9025cdb685fd6617c0343.tar.bz2
ImpyReleaseBuilder-c895bcd5f1c47df053d9025cdb685fd6617c0343.tar.xz
Finally got Windows to build. Dunno if it actually works.
Diffstat (limited to 'BuildReleases.sh')
-rwxr-xr-xBuildReleases.sh192
1 files changed, 100 insertions, 92 deletions
diff --git a/BuildReleases.sh b/BuildReleases.sh
index fd83073..bdef6bd 100755
--- a/BuildReleases.sh
+++ b/BuildReleases.sh
@@ -1,11 +1,11 @@
1#!/bin/bash 1#!/bin/bash
2 2
3# These control which ones get built. 3# These control which ones get built.
4do_linux64=1
5do_linux32=1
4do_local=0 6do_local=0
5do_linux64=0
6do_linux32=0
7do_windowsXP=1
8do_mac=0 7do_mac=0
8do_windowsXP=1
9 9
10# Where to find suitable disk images for the various OS's. 10# Where to find suitable disk images for the various OS's.
11img_linux64=~/bin/ubuntu64_diff.qcow2 11img_linux64=~/bin/ubuntu64_diff.qcow2
@@ -70,6 +70,103 @@ disown $(jobs -p)
70FTP_SERVER=10.0.2.2 70FTP_SERVER=10.0.2.2
71 71
72 72
73# Do Windows first, coz it still needs a manually typed password, dammit.
74if [ $do_windowsXP -eq 1 ]
75then
76 echo "Building in qemu, Windows XP."
77 qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -net nic -net user,vlan=0,hostfwd=tcp::2222-:22 -rtc base=localtime &
78 sleep 30
79 #expect -c 'spawn ssh -p 2222 me@localhost ; expect assword ; send " \n" ; interact' <<- zzzzEOFzzzz
80 ssh -p 2222 me@localhost <<- zzzzEOFzzzz
81 # TODO - there has to be a way of avoiding all this hard coded stuff, coz this is way too fragile.
82 PATH='/bin:/usr/local/bin:/usr/bin:'\$PATH':/cygdrive/c/Program Files/Microsoft SDKs/v6.1/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE:/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/Tools/:/cygdrive/c/Program Files/Inno Setup 5'
83 #./.profile
84 #./.bash_profile
85 export DXSDK_DIR='C:\Program Files\Microsoft DirectX SDK (November 2008)\'
86 #vcvarsall.bat x86
87 export INCLUDE="C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDKs\Windows\v6.1\Include"
88 export LIB="C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib"
89 export LIBPATH="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
90 #echo \$PATH
91 #set
92 cd /home/me
93 rm -fr BUILD
94 mkdir -p BUILD
95 rm -fr TARBALLS
96 mkdir -p TARBALLS
97 lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'
98 tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD
99 cd /home/me/BUILD/SOURCE
100 cd linden/scripts/linux
101
102 # Apparently my "works everywhere" Linux specific scripts work on Cygwin to. Mostly.
103 ./0-patch-SL-source
104 ./1-get-libraries-from-SL
105 ./2-trim-libraries-from-SL
106 ./3-compile-SL-source
107
108 cd /home/me/BUILD/SOURCE
109 rm linden/indra/CMakeCache.txt
110 cd linden/indra
111 # This would be preferable, but NMake is not an option.
112 #./develop.py -G "nmake" --type=Release build
113 # Also, apparently there's Cygwin support, but might have to install the cygwin python for that.
114 cmake -DCMAKE_BUILD_TYPE:STRING="Release" -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL=OFF -DROOT_PROJECT_NAME:STRING="Imprudence" -DPACKAGE:BOOL=ON -G "NMake Makefiles" build .
115 # Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds.
116 sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make
117 sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" newview/CMakeFiles/imprudence-bin.dir/flags.make
118 #cd build-nmake
119 nmake
120
121 # Build the inno installer.
122 iscc newview/package/Imprudence-1.4.0.3-beta-2.iss
123 cp newview/package/Imprudence-*.exe /home/me/TARBALLS
124 cd /home/me/TARBALLS
125 lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd /home/me/TARBALLS && mput Imprudence-*'
126
127 shutdown -s now
128zzzzEOFzzzz
129
130 # A here document would be preferable, but "interact" won't work then.
131 # Serial port would be preferable, but python does nothing then. WTF?
132# expect -c "
133# set timeout -1
134# set send_slow {1 .1}
135# spawn qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -serial stdio -rtc base=localtime
136# match_max 100000
137# strace 1
138# expect -exact \"\$ \"; sleep .1; send -s -- \"PATH=\\\$PATH':${cw_path}'\r\"
139# expect -exact \"\$ \"; sleep .1; send -s -- \"echo \\\$PATH\r\"
140# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me\r\"
141# expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr BUILD\r\"
142# expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr TARBALLS\r\"
143# expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p BUILD\r\"
144# expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p TARBALLS\r\"
145# expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'\r\"
146# expect -exact \"\$ \"; sleep .1; send -s -- \"tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD\r\"
147# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/SOURCE\r\"
148# expect -exact \"\$ \"; sleep .1; send -s -- \"cd linden/scripts/linux\r\"
149
150# expect -exact \"\$ \"; sleep .1; send -s -- \"./0-patch-SL-source\r\"
151# expect -exact \"\$ \"; sleep .1; send -s -- \"./1-get-libraries-from-SL\r\"
152# expect -exact \"\$ \"; sleep .1; send -s -- \"./2-trim-libraries-from-SL\r\"
153# expect -exact \"\$ \"; sleep .1; send -s -- \"./3-compile-SL-source\r\"
154# expect -exact \"\$ \"; sleep .1; send -s -- \"cd ../../indra/viewer-windows-*\r\"
155# expect -exact \"\$ \"; sleep .1; send -s -- \"make package\r\"
156
157# expect -exact \"\$ \"; sleep .1; send -s -- \"cp Imprudence-* ../../../../../TARBALLS\r\"
158# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/TARBALLS\r\"
159# expect -exact \"\$ \"; sleep .1; send -s -- \"ls -la\r\"
160# expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*'\r\"
161
162# interact quit return; sleep .1; send -s -- \"\r\"
163# expect -exact \"\$ \"; sleep .1; send -s -- \"shutdown -s now\r\"
164# expect eof"
165 echo ''
166 sleep 10
167fi
168
169
73if [ $do_local -eq 1 ] 170if [ $do_local -eq 1 ]
74then 171then
75 echo "Building local." && 172 echo "Building local." &&
@@ -154,95 +251,6 @@ zzzzEOFzzzz
154fi 251fi
155 252
156 253
157if [ $do_windowsXP -eq 1 ]
158then
159 echo "Building in qemu, Windows XP."
160 qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -net nic -net user,vlan=0,hostfwd=tcp::2222-:22 -rtc base=localtime &
161 sleep 30
162 ssh -p 2222 me@localhost <<- zzzzEOFzzzz
163 PATH='/bin:/usr/local/bin:/usr/bin:'\$PATH':/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE:/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/Tools/:/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin'
164 ./.profile
165 ./.bash_profile
166 export DXSDK_DIR='C:\Program Files\Microsoft DirectX SDK (November 2008)\'
167 #vcvarsall.bat x86
168 export INCLUDE="C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDKs\Windows\v6.1\Include"
169 export LIB="C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib"
170 export LIBPATH="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"
171 echo \$PATH
172 set
173 cd /home/me
174 #rm -fr BUILD/SOURCE/linden/indra
175 #rm -fr BUILD
176 rm -fr TARBALLS
177 #mkdir -p BUILD
178 mkdir -p TARBALLS
179 lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'
180 tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD
181 cd /home/me/BUILD/SOURCE
182 rm linden/indra/CMakeCache.txt
183 cd linden/scripts/linux
184
185 ./0-patch-SL-source
186 ./1-get-libraries-from-SL
187 ./2-trim-libraries-from-SL
188 ./3-compile-SL-source
189 ls -la ../../indra
190 #cd ../../indra/viewer-windows-*
191 #make package
192
193 cd /home/me/BUILD/SOURCE
194 rm linden/indra/CMakeCache.txt
195 cd linden/indra
196 cmake -G "NMake Makefiles" .
197 nmake
198
199 ls -la
200 #cp Imprudence-* ../../../../../TARBALLS
201 cd /home/me/BUILD/TARBALLS
202 lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*'
203
204 shutdown -s now
205zzzzEOFzzzz
206
207 # A here document would be preferable, but "interact" won't work then.
208# expect -c "
209# set timeout -1
210# set send_slow {1 .1}
211# spawn qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -serial stdio -rtc base=localtime
212# match_max 100000
213# strace 1
214# expect -exact \"\$ \"; sleep .1; send -s -- \"PATH=\\\$PATH':${cw_path}'\r\"
215# expect -exact \"\$ \"; sleep .1; send -s -- \"echo \\\$PATH\r\"
216# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me\r\"
217# expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr BUILD\r\"
218# expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr TARBALLS\r\"
219# expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p BUILD\r\"
220# expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p TARBALLS\r\"
221# expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'\r\"
222# expect -exact \"\$ \"; sleep .1; send -s -- \"tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD\r\"
223# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/SOURCE\r\"
224# expect -exact \"\$ \"; sleep .1; send -s -- \"cd linden/scripts/linux\r\"
225
226# expect -exact \"\$ \"; sleep .1; send -s -- \"./0-patch-SL-source\r\"
227# expect -exact \"\$ \"; sleep .1; send -s -- \"./1-get-libraries-from-SL\r\"
228# expect -exact \"\$ \"; sleep .1; send -s -- \"./2-trim-libraries-from-SL\r\"
229# expect -exact \"\$ \"; sleep .1; send -s -- \"./3-compile-SL-source\r\"
230# expect -exact \"\$ \"; sleep .1; send -s -- \"cd ../../indra/viewer-windows-*\r\"
231# expect -exact \"\$ \"; sleep .1; send -s -- \"make package\r\"
232
233# expect -exact \"\$ \"; sleep .1; send -s -- \"cp Imprudence-* ../../../../../TARBALLS\r\"
234# expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/TARBALLS\r\"
235# expect -exact \"\$ \"; sleep .1; send -s -- \"ls -la\r\"
236# expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*'\r\"
237
238# interact quit return; sleep .1; send -s -- \"\r\"
239# expect -exact \"\$ \"; sleep .1; send -s -- \"shutdown -s now\r\"
240# expect eof"
241 echo ''
242 sleep 10
243fi
244
245
246if [ $do_mac -eq 1 ] 254if [ $do_mac -eq 1 ]
247then 255then
248 echo "No Mac support yet, coz I need a real Mac for that." 256 echo "No Mac support yet, coz I need a real Mac for that."