source: main/trunk/release-kits/kits/rk2/ant-scripts/mountainlion-compile.xml@ 35605

Last change on this file since 35605 was 35605, checked in by davidb, 3 years ago

iconv.zip changed to iconv-PRE-VS14.zip to keep in line with the recent change that provides both iconv-PRE-VS14.zip (the original iconv.zip) and iconv-VS14-PLUS.zip (a version based on gs-libiconv v1.11 that is needed to work with compilation with newer versions of Visual Studio. In this commit I decided to go with a change that meant the same (original) iconv.zip file is the one that is unzipped. Given that newer versions of VS are likely to be installed on developers systems, this might be a decision we want to revisit, choosing instead for the Release Kit to include the VS14-PLUS version. Note: in SVN both files are present, and if compiling an svn checked out version, then the build-scripts we have in svn test the version of VisualStudioVersion and unzip the approprirate one

File size: 29.1 KB
Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk2-compile">
3
4 <target name="compile" depends="init,gs2-init">
5 <!-- checkout greenstone2 (or gsdl if a pre-2.84 release is being created) and gli -->
6 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
7 <exec executable="svn">
8 <arg value="checkout"/>
9 <arg value="${svn.root}/main/${branch.path}/greenstone2"/>
10 <arg value="${basedir}/compiled"/>
11 </exec>
12 <else>
13 <exec executable="svn">
14 <arg value="checkout"/>
15 <arg value="${svn.root}/main/${branch.path}/gsdl"/>
16 <arg value="${basedir}/compiled"/>
17 </exec>
18 </else>
19 </if>
20
21 <exec executable="svn">
22 <arg value="checkout"/>
23 <arg value="${svn.root}/main/${branch.path}/gli"/>
24 <arg value="${basedir}/compiled/gli"/>
25 </exec>
26
27 <!-- drop in documentation -->
28 <copy todir="compiled" overwrite="true">
29 <fileset dir="${rk.home}/shared/greenstone2/docs" excludes="READMEar.txt,READMEes.txt,READMEfr.txt,READMEru.txt"/>
30 </copy>
31
32 <!-- set version numbers -->
33 <antcall target="gsdl-set-version-numbers"><param name="gsdl.basedir" value="${basedir}/compiled"/></antcall>
34 <antcall target="gli-set-version-numbers"><param name="glibasedir" value="${basedir}/compiled/gli"/></antcall>
35
36 <!-- we do not want the *.app folders if we are not mac-->
37 <if><bool><not><equals arg1="${rk.os}" arg2="mac"/></not></bool>
38 <delete dir="${basedir}/compiled/client-gli.app"/>
39 <delete dir="${basedir}/compiled/gems.app"/>
40 <delete dir="${basedir}/compiled/gs2-server.app"/>
41 <delete dir="${basedir}/compiled/gli.app"/>
42 </if>
43
44 <!-- mac or linux: get the support library -->
45 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
46 <!-- svn export the gnome support library extension-->
47
48 <!-- For Lions, need a specific gnome-lib-minimal tar file. The file name contains darwin12 for Lion, it contains the shell.name (darwin/linux) for other cases.
49 Mac OS X v10.7.4 onwards is Lion/Mountain Lion, different from Leopard/Snow Leopard. See http://en.wikipedia.org/wiki/Darwin_(operating_system) -->
50 <condition property="specific.os.type" value="${os.shell}-Lion" else="${os.shell}">
51 <and>
52 <contains string="${os.shell}" substring="darwin" casesensitive="false"/>
53 <matches pattern="^(10\.7\.[4-9]|10\.[8-9]|1[1-9]|[2-9])" string="${os.version}"/>
54 </and>
55 </condition>
56
57 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
58 <echo>EXPORTING GNOME LIB EXTENSION</echo>
59 <exec executable="svn">
60 <arg value="export"/>
61 <arg value="${svn.root}/gs2-extensions/gnome-lib/trunk/gnome-lib-minimal-${specific.os.type}${arch}${extension-x64}.tar.gz"/>
62 <arg value="${basedir}/compiled/ext/gnome-lib-minimal-${specific.os.type}.tar.gz"/>
63 </exec>
64
65 <exec executable="tar" dir="${basedir}/compiled/ext">
66 <arg value="xvzf"/>
67 <arg value="gnome-lib-minimal-${specific.os.type}.tar.gz"/>
68 </exec>
69
70 <exec executable="/bin/bash" dir="${basedir}/compiled/ext/gnome-lib-minimal">
71 <arg value="-c"/>
72 <arg value="source setup.bash_old &amp;&amp; source devel.bash"/>
73 </exec>
74
75 <echo>DONE EXTRACTING GNOME LIB EXTENSION</echo>
76 </if>
77 </if>
78
79 <if><bool><or><equals arg1="${rk.os}" arg2="linux"/><equals arg1="${rk.os}" arg2="mac"/></or></bool>
80 <!-- LD_LIBRARY_PATH is DYLD_LIBRARY_PATH on mac-->
81 <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
82 <property name="libpathvar" value="DYLD_LIBRARY_PATH"/>
83 <else>
84 <property name="libpathvar" value="LD_LIBRARY_PATH"/>
85 </else>
86 </if>
87
88 <property name="gnome.lib.dir" value="${basedir}/compiled/ext/gnome-lib-minimal/${os.shell}"/>
89 <property name="path.arg" value="PATH=&quot;${gnome.lib.dir}/bin:${env.PATH}&quot;"/>
90 <property name="cflags.arg" value="CFLAGS=&quot;-I${gnome.lib.dir}/include&quot;"/>
91 <property name="cxxflags.arg" value="CXXFLAGS=&quot;-I${gnome.lib.dir}/include&quot;"/>
92 <property name="cppflags.arg" value="CPPFLAGS=&quot;-I${gnome.lib.dir}/include&quot;"/>
93 <property name="ldflags.arg" value="LDFLAGS=&quot;-L${gnome.lib.dir}/lib&quot;"/>
94 <property name="pcpath.arg" value="PKG_CONFIG_PATH=&quot;${gnome.lib.dir}/lib/pkgconfig&quot;"/>
95 <property name="ldlpath.arg" value="${libpathvar}=&quot;${gnome.lib.dir}/lib&quot;"/>
96
97 <property name="allargs" value="${path.arg} ${cflags.arg} ${cxxflags.arg} ${cppflags.arg} ${ldflags.arg} ${pcpath.arg} ${ldlpath.arg}"/>
98 </if>
99
100 <!-- windows only -->
101 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
102
103 <!-- unzip packages -->
104 <unzip src="${basedir}/compiled/common-src/packages/windows/crypt/crypt.zip" dest="${basedir}/compiled/common-src/packages/windows/crypt"/>
105
106 <!-- unzip expat if the version is less that 2.84 -->
107 <if><bool><equals arg1="${post.2.83.version}" arg2="false"/></bool>
108 <unzip src="${basedir}/compiled/common-src/packages/windows/expat/expat.zip" dest="${basedir}/compiled/common-src/packages/windows/expat"/>
109 </if>
110
111 <unzip src="${basedir}/compiled/common-src/packages/windows/stlport/stlport.zip" dest="${basedir}/compiled/common-src/packages/windows/stlport"/>
112 <unzip src="${basedir}/compiled/common-src/indexers/packages/windows/iconv/iconv-PRE-VS14.zip" dest="${basedir}/compiled/common-src/indexers/packages/windows/iconv"/>
113 <untar src="${basedir}/compiled/common-src/packages/sqlite/sqlite-autoconf-3070602.tar.gz" dest="${basedir}/compiled/common-src/packages/sqlite" compression="gzip"/>
114
115 <!-- get winbin from tags if the version is greater than 2.83 otherwise get it from trunk -->
116 <if><bool><not><available file="${basedir}/compiled/bin/windows"/></not></bool>
117 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
118
119 <exec executable="svn">
120 <arg value="export"/>
121 <arg value="${svn.root}/main/${branch.path}/binaries/windows/bin"/>
122 <arg value="${basedir}/compiled/bin/windows"/>
123 <arg value="-r"/>
124 <arg value="${branch.revision}"/>
125 </exec>
126
127 <else>
128 <exec executable="svn">
129 <arg value="export"/>
130 <arg value="${svn.root}/main/trunk/binaries/windows/bin"/>
131 <arg value="${basedir}/compiled/bin/windows"/>
132 <arg value="-r"/>
133 <arg value="${branch.revision}"/>
134 </exec>
135 </else>
136 </if>
137 </if>
138
139 <!-- insert windows perl -->
140 <unzip src="${rk.home}/shared/windows/perl.zip" dest="compiled/bin/windows"/>
141
142 <exec executable="${basedir}/compiled/bin/windows/gunzip.exe" dir="${basedir}/compiled/runtime-src/packages/apache-httpd">
143 <arg value="-d"/>
144 <arg value="httpd-2.2.11-gs.tar.gz"/>
145 </exec>
146
147 <exec executable="${basedir}/compiled/bin/windows/tar.exe" dir="${basedir}/compiled/runtime-src/packages/apache-httpd">
148 <arg value="-xvf"/>
149 <arg value="httpd-2.2.11-gs.tar"/>
150 </exec>
151
152 <!-- Insert a unique number after every occurrence of the word tempfile to prevent some strange race conditions present on Windows 7 (iuv = InsertUniqueValue) -->
153 <iuv>
154 <fileset dir="${basedir}/compiled/runtime-src/packages/apache-httpd/httpd-2.2.11" includes="**/*.mak"/>
155 <job pattern="tempfile"/>
156 </iuv>
157
158 <!-- compile c code -->
159 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="clean"/></exec>
160 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="APACHE_HTTPD=1"/></exec>
161 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="LOCAL_LIBRARY=1"/></exec>
162 <delete><fileset dir="${basedir}/compiled/apache-httpd" includes="**/*.pdb"/></delete>
163
164 <copy file="${rk.home}/shared/windows/Microsoft.VC80.CRT.manifest" tofile="${basedir}/compiled/apache-httpd/windows/bin/Microsoft.VC80.CRT.manifest"/>
165 <copy file="${rk.home}/shared/windows/Microsoft.VC80.CRT.manifest" tofile="${basedir}/compiled/apache-httpd/windows/lib/Microsoft.VC80.CRT.manifest"/>
166 <copy file="${rk.home}/shared/windows/Microsoft.VC80.CRT.manifest" tofile="${basedir}/compiled/apache-httpd/windows/modules/Microsoft.VC80.CRT.manifest"/>
167 <copy file="${rk.home}/shared/windows/msvcr80.dll" tofile="${basedir}/compiled/apache-httpd/windows/bin/msvcr80.dll"/>
168 <copy file="${rk.home}/shared/windows/msvcr80.dll" tofile="${basedir}/compiled/apache-httpd/windows/lib/msvcr80.dll"/>
169 <copy file="${rk.home}/shared/windows/msvcr80.dll" tofile="${basedir}/compiled/apache-httpd/windows/modules/msvcr80.dll"/>
170
171 <mkdir dir="products"/>
172 <copy file="${basedir}/compiled/server.exe" tofile="${basedir}/products/server-${version}${version-extra}.exe"/>
173 <move file="${basedir}/compiled/server.exe" todir="${basedir}/compiled/bin/windows"/>
174
175
176 <!-- linux only -->
177 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
178 <!-- add static to configure.in -->
179 <rsr file="${basedir}/compiled/configure.in" pattern="^LDFLAGS=.*$" replacement="LDFLAGS=-static"/>
180 <exec dir="${basedir}/compiled" executable="autoconf" output="${basedir}/compiled/configure">
181 <arg value="configure.in"/>
182 </exec>
183
184 <!-- set environment in packages/configure -->
185 <rsr file="${basedir}/compiled/common-src/packages/configure" pattern="^ENVIRONMENT=.*$" replacement="ENVIRONMENT=&quot;LDFLAGS=-static&quot;"/>
186 <rsr file="${basedir}/compiled/build-src/packages/configure" pattern="^ENVIRONMENT=.*$" replacement="ENVIRONMENT=&quot;LDFLAGS=-static&quot;"/>
187
188 <!-- run configure -->
189 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/configure" failonerror="true">
190 <arg line="--enable-apache-httpd --disable-wvware"/>
191 </exec>
192
193 <exec executable="tar" dir="${basedir}/compiled/build-src/packages/wv">
194 <arg value="xvzf"/>
195 <arg value="wv-1.2.4-gs.tar.gz"/>
196 </exec>
197
198 <exec dir="${basedir}/compiled/build-src/packages/wv/wv-gs" executable="${basedir}/compiled/build-src/packages/wv/wv-gs/configure" failonerror="true">
199 <arg line="--prefix=${basedir}/compiled/build-src/packages/wv --bindir=${basedir}/compiled/bin/linux --libdir=${basedir}/compiled/lib/linux --datadir=${basedir}/compiled/etc/packages --disable-shared --enable-static"/>
200 <arg line="${allargs}"/>
201 </exec>
202
203 <!-- add -static to makefiles -->
204 <rsr file="${basedir}/compiled/build-src/packages/xlhtml/xlhtml-0.4.9.0/xlhtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static"/>
205 <rsr file="${basedir}/compiled/build-src/packages/xlhtml/xlhtml-0.4.9.0/ppthtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static"/>
206 <rsr file="${basedir}/compiled/build-src/packages/rtftohtml/rtftohtml_src/Makefile" pattern="(-o rtftohtml.{2}EXEEXT.{1})" replacement="$1 -static"/>
207
208 <!-- mac only -->
209 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
210 <!-- run configure -->
211 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/configure" failonerror="true">
212 <arg line="--enable-apache-httpd"/>
213 <arg line="${allargs}"/>
214 </exec>
215
216 <!-- tweak makefiles -->
217 <rsr file="${basedir}/compiled/runtime-src/src/recpt/Makefile" pattern="^(LIBS =.*)-L(.)\(PACKAGES_DIR\)/expat/lib -lexpat(.*)$" replacement="$1$2(PACKAGES_DIR)/expat/lib/libexpat.a$3"/>
218 <rsr file="${basedir}/compiled/runtime-src/src/oaiservr/Makefile" pattern="^(LIBS =.*)-L(.)\(PACKAGES_DIR\)/expat/lib -lexpat(.*)$" replacement="$1$2(PACKAGES_DIR)/expat/lib/libexpat.a$3"/>
219
220 </if></else></if></else></if>
221
222 <!-- mac and linux: compile -->
223 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
224 <!-- make -->
225 <exec dir="${basedir}/compiled" executable="make" failonerror="true">
226 <arg line="${ldlpath.arg}"/>
227 </exec>
228
229 <!-- make install -->
230 <exec dir="${basedir}/compiled" executable="make" failonerror="true"><arg value="install"/></exec>
231
232 <!-- make apache-for-dist -->
233 <exec dir="${basedir}/compiled" executable="make" failonerror="true"><arg value="apache-for-dist"/></exec>
234
235 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
236 <exec dir="${basedir}/compiled/build-src/packages/wv/wv-gs" executable="make" failonerror="true">
237 <arg line="${ldlpath.arg}"/>
238 </exec>
239 <exec dir="${basedir}/compiled/build-src/packages/wv/wv-gs" executable="make" failonerror="true"><arg value="install"/></exec>
240 </if>
241
242 <!-- strip executables -->
243 <exec dir="${basedir}/compiled/bin/${os.shell}" executable="find" failonerror="true">
244 <arg line=". ! -name . -type f -maxdepth 1 -exec strip {} &#59;"/>
245 </exec>
246
247 <!-- the libsqlite3.dylib is no longer compatible with Macs from Maverick/Yosemite/El Capitan onwards, so 10.9, 10.10, 10.11,
248 but also future versions of darwin, like anything that is version 11+, so major version numbers that are 2 digits or beyond) -->
249 <if><bool>
250 <and>
251 <contains string="${os.shell}" substring="darwin" casesensitive="false"/>
252 <not><matches pattern="^(10\.9|10\.[1-9][0-9]|1[1-9]|[2-9][0-9])" string="${os.version}"/></not><!--all darwin before Maverick/10.9-->
253 </and>
254 </bool>
255 <copy todir="${basedir}/compiled/lib/${os.shell}">
256 <fileset dir="${basedir}/compiled/common-src/packages/sqlite/lib" includes="*.dylib"/>
257 </copy>
258 </if>
259
260
261 <!-- for 64 bit need to copy in the statically compiled IsisGdl -->
262 <!--<delete file="${basedir}/compiled/bin/${os.shell}/IsisGdl"/>-->
263 <!--<get src="http://www.greenstone.org/caveat-emptor/IsisGdl.macleopard" dest="${basedir}/compiled/bin/${os.shell}/IsisGdl"/>-->
264 <exec executable="wget" failonerror="true">
265 <arg value="-P"/>
266 <arg value="${basedir}/compiled/bin/${os.shell}"/>
267 <arg value="--no-check-certificate"/>
268 <arg value="https://www.greenstone.org/caveat-emptor/IsisGdl.macleopard"/>
269 </exec>
270 <move file="${basedir}/compiled/bin/${os.shell}/IsisGdl.macleopard" tofile="${basedir}/compiled/bin/${os.shell}/IsisGdl"/>
271
272 <chmod perm="755" file="${basedir}/compiled/bin/${os.shell}/IsisGdl"/>
273 </if>
274
275 <!-- Delete all but the lib folder and the setup.bash script of the gnome support library -->
276 <if><bool><and>
277 <not><equals arg1="${keep.src}" arg2="true"/></not>
278 <or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or>
279 </and></bool>
280 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/${os.shell}/bin"/>
281 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/${os.shell}/include"/>
282 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/setup.bat"/>
283 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/devel.bash"/>
284 <delete file="${basedir}/compiled/ext/gnome-lib-minimal-${os.shell}.tar.gz"/>
285 </if>
286
287 <!-- insert the necessary additional xml parser versions-->
288 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
289 <!-- Add the 5.6 version if necessary -->
290 <if><bool><not><available file="${basedir}/compiled/perllib/cpan/perl-5.6"/></not></bool>
291 <copy todir="${basedir}/compiled/perllib/cpan">
292 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="perl-5.6,perl-5.6/**/*"/>
293 </copy>
294 </if>
295
296 <!-- Add the 5.8 version if necessary -->
297 <if><bool><not><available file="${basedir}/compiled/perllib/cpan/perl-5.8"/></not></bool>
298 <copy todir="${basedir}/compiled/perllib/cpan">
299 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="perl-5.8,perl-5.8/**/*"/>
300 </copy>
301 </if>
302
303 <!-- Add the 5.8 mutlithreaded version if necessary -->
304 <if><bool><not><available file="${basedir}/compiled/perllib/cpan/perl-5.8-mt"/></not></bool>
305 <copy todir="${basedir}/compiled/perllib/cpan">
306 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="perl-5.8-mt,perl-5.8-mt/**/*"/>
307 </copy>
308 </if>
309
310 <!-- Add the 5.10 version if necessary -->
311 <if><bool><not><available file="${basedir}/compiled/perllib/cpan/perl-5.10"/></not></bool>
312 <copy todir="${basedir}/compiled/perllib/cpan">
313 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="perl-5.10,perl-5.10/**/*"/>
314 </copy>
315 </if>
316
317 <!-- Add the 5.14 version if necessary -->
318 <if><bool><not><available file="${basedir}/compiled/perllib/cpan/perl-5.14"/></not></bool>
319 <copy todir="${basedir}/compiled/perllib/cpan">
320 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="perl-5.14,perl-5.14/**/*"/>
321 </copy>
322 </if>
323 </if>
324
325 <!-- compile gli -->
326 <!-- (linux and mac) -->
327 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
328 <exec dir="compiled/gli" executable="/bin/bash"><arg value="-c"/><arg value="./makegli.sh"/></exec>
329 <exec dir="compiled/gli" executable="/bin/bash"><arg value="-c"/><arg value="./makejar.sh"/></exec>
330 <!-- windows -->
331 <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
332 <exec dir="compiled/gli" executable="cmd.exe"><arg value="/c"/><arg value="makegli.bat"/></exec>
333 <exec dir="compiled/gli" executable="cmd.exe"><arg value="/c"/><arg value="makejar.bat"/></exec>
334 </if></else></if>
335
336 <if><bool><not><equals arg1="${keep.src}" arg2="true"/></not></bool>
337 <delete dir="compiled/gli/jar"/>
338 <delete dir="compiled/gli/classes/org"/>
339 </if>
340 <move file="compiled/gli/GLIServer.jar" todir="compiled/bin/java"/>
341
342 <!-- compile uninstaller -->
343 <antcall target="insert-and-compile-uninstaller" />
344
345 <!-- delete the source code -->
346 <if><bool><not><equals arg1="${keep.src}" arg2="true"/></not></bool>
347 <delete><fileset dir="compiled" includes="Makefile,config.cache,config.h,config.log,stamp-h,config.status"/></delete>
348 <delete dir="compiled/common-src"/>
349 <delete dir="compiled/build-src"/>
350 <delete dir="compiled/runtime-src"/>
351 <delete><fileset dir="compiled" includes="Install.txt,acconfig.h,aclocal.m4,config.guess,config.sub,configtest.pl,configure,configure.in,install-sh,Makefile.in,micotest.cpp,config.h.in,win32.mak,win32cfg.h,lib/**/*.a"/></delete>
352 </if>
353
354 <!-- strip .svn working-copy dirs -->
355 <antcall target="strip-svn-dirs"><param name="dir" value="compiled"/></antcall>
356
357 <!-- create needed empty files -->
358 <mkdir dir="compiled/tmp"/>
359 <chmod dir="compiled/tmp" perm="a+rwx"/>
360 <echo file="compiled/etc/usage.txt"></echo>
361
362 <!-- scripts to compile GS2 are not needed in the binary -->
363 <delete file="compiled/makegs2.bat"/>
364 <delete file="compiled/makegs2x64.bat"/>
365 <delete file="compiled/makegs2.sh"/>
366
367 <!-- windows -->
368 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
369
370 <!-- make a copy of server.exe in the root -->
371 <copy file="compiled/bin/windows/server.exe" tofile="compiled/server.exe"/>
372
373 <!-- delete sourcecode -->
374 <delete dir="${binzip.dir}/common-src"/>
375 <delete dir="${binzip.dir}/build-src"/>
376 <delete dir="${binzip.dir}/runtime-src"/>
377
378 <!-- create simple zipped binary distribution
379 <mkdir dir="distributions"/>
380 <property name="binzip.dir" value="distributions/Greenstone-${version}-${os.suffix}-binary"/>
381 <copy todir="${binzip.dir}"><fileset dir="compiled"/></copy>
382 <delete><fileset dir="${binzip.dir}" includes="README*.txt,Uninstall.bat,Uninst.bat,uninst.jar,win32.mak,win32cfg.h,makegs2.bat" excludes="READMEen.txt"/></delete>
383 -->
384
385 <!-- delete unneeded files -->
386 <delete dir="compiled/bin/linux" />
387<!--
388 Actually, leaving these in is helpful for running a cross-platform
389 Pure JAVA install
390 <delete><fileset dir="compiled" includes="*.bash,*.sh,*.csh,.gstermrc,makegs2.bat"/></delete>
391 <delete><fileset dir="compiled/gli" includes="*.sh,*4gs3.bat"/></delete>
392
393-->
394 <delete><fileset dir="compiled/gli" includes="*4gs3.bat"/></delete>
395 <delete dir="compiled/autom4te.cache" />
396
397 <!-- linux -->
398 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
399
400 <!-- grab imagemagick and wv (if less than 2.84) binaries -->
401 <delete dir="compiled/bin/linux/imagemagick"/>
402
403 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
404 <!--<if><bool><equals arg1="${x64}" arg2="true"/></bool>-->
405 <exec executable="svn">
406 <arg value="export"/>
407 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-linux${extension-x64}.tar.gz"/>
408 <arg value="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
409 </exec>
410
411 <exec executable="tar" dir="compiled/ext">
412 <arg value="xvzf"/>
413 <arg value="imagemagick-linux${extension-x64}.tar.gz"/>
414 </exec>
415 <delete file="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
416 <move todir="compiled/bin/linux/imagemagick">
417 <fileset dir="compiled/ext/imagemagick/linux"/>
418 </move>
419 <!--<else>
420 <exec executable="svn">
421 <arg value="export"/>
422 <arg value="${svn.root}/main/${branch.path}/binaries/linux/imagemagick"/>
423 <arg value="compiled/bin/linux/imagemagick"/>
424 </exec>
425 </else>
426 </if>-->
427 <else>
428 <delete dir="compiled/bin/linux/wv"/>
429 <exec executable="svn">
430 <arg value="export"/>
431 <arg value="${svn.root}/main/trunk/binaries/linux/imagemagick"/>
432 <arg value="compiled/bin/linux/imagemagick"/>
433 </exec>
434
435 <exec executable="svn">
436 <arg value="export"/>
437 <arg value="${svn.root}/main/trunk/binaries/linux/wv"/>
438 <arg value="compiled/bin/linux/wv"/>
439 </exec>
440 </else>
441 </if>
442
443 <!-- delete unneeded files -->
444 <delete><fileset dir="compiled" includes="win32.mak,win32cfg.h,Install.sh,Support.htm,micotest.cpp"/></delete>
445<!--
446 Actually useful to keep these files around for a Pure Java install
447 <delete><fileset dir="compiled/gli" includes="*.bat"/></delete>
448 <delete><fileset dir="compiled" includes="*.bat"/></delete>
449-->
450 <delete dir="compiled/common-src/packages/windows"/>
451 <delete dir="compiled/common-src/indexers/packages/windows"/>
452
453 <!-- mac -->
454 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
455 <!-- grab imagemagick and ghostscript binaries -->
456 <delete dir="compiled/bin/darwin/imagemagick"/>
457 <delete dir="compiled/bin/darwin/ghostscript"/>
458
459 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
460
461 <!-- Grab the imagemagick compiled on an XWindows-less darwin 10.11 (El Capitan)
462 but where it was made backwards compatible with 10.8 (Mountain Lion) with mmacosx-version-min flag.
463 Upto and including the gs3.08 release this code still referred to imagemagick-darwin-10.5.tar.gz -->
464 <exec executable="svn">
465 <arg value="export"/>
466 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-darwin-10.11.tar.gz"/>
467 <arg value="compiled/ext/imagemagick-darwin-10.11.tar.gz"/>
468 </exec>
469
470 <exec executable="tar" dir="compiled/ext">
471 <arg value="xvzf"/>
472 <arg value="imagemagick-darwin-10.11.tar.gz"/>
473 </exec>
474 <delete file="compiled/ext/imagemagick-darwin-10.11.tar.gz"/>
475 <move todir="compiled/bin/darwin/imagemagick">
476 <fileset dir="compiled/ext/imagemagick/darwin"/>
477 </move>
478 <!-- No more use for the decompressed ext/imagemagick folder, as it contains only setup scripts
479 that end up referring to the (empty) ext/imagemagick in the environment.
480 On sourcing GS2's setup script, these env vars further conflict with cmdline wget on newer Macs,
481 as DYLD_FALLBACK_LIBRARY_PATH (another env var hidden on Macs) ends up set. -->
482 <delete dir="compiled/ext/imagemagick"/> <!-- dir = The directory to delete, including all its files and subdirectories. -->
483 <!--
484 <exec executable="svn">
485 <arg value="export"/>
486 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/imagemagick"/>
487 <arg value="compiled/bin/darwin/imagemagick"/>
488 </exec>
489 -->
490 <exec executable="svn">
491 <arg value="export"/>
492 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/ghostscript"/>
493 <arg value="compiled/bin/darwin/ghostscript"/>
494 </exec>
495
496 <else>
497 <exec executable="svn">
498 <arg value="export"/>
499 <arg value="${svn.root}/main/trunk/binaries/mac/intel/imagemagick"/>
500 <arg value="compiled/bin/darwin/imagemagick"/>
501 </exec>
502
503 <exec executable="svn">
504 <arg value="export"/>
505 <arg value="${svn.root}/main/trunk/binaries/mac/intel/ghostscript"/>
506 <arg value="compiled/bin/darwin/ghostscript"/>
507 </exec>
508 </else>
509 </if>
510
511 <!-- delete unneeded files -->
512 <delete><fileset dir="compiled" includes="win32.mak,win32cfg.h,Install.sh,Support.htm"/></delete>
513<!--
514 Actually useful to keep these files around for a Pure Java install
515 <delete><fileset dir="compiled/gli" includes="*.bat"/></delete>
516 <delete><fileset dir="compiled" includes="*.bat"/></delete>
517-->
518
519 <delete dir="compiled/common-src/packages/windows"/>
520
521 </if></else></if></else></if>
522
523 <!-- build demo collection -->
524 <!-- the envs on these execs simulate the environment when you run setup.bat -->
525 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
526
527 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/bin/windows/perl/bin/perl">
528 <arg line="-S"/>
529 <arg line="bin/script/import.pl demo"/>
530 <env key="GSDLHOME" path="${basedir}/compiled"/>
531 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
532 <env key="GSDLOS" value="windows"/>
533 <env key="PATH" path="${basedir}/compiled/bin/windows/perl/bin:${basedir}/compiled/bin/windows:${basedir}/compiled/bin/script:${env.PATH}"/>
534 </exec>
535 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/bin/windows/perl/bin/perl">
536 <arg line="-S"/>
537 <arg line="bin/script/buildcol.pl demo"/>
538 <env key="GSDLHOME" path="${basedir}/compiled"/>
539 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
540 <env key="GSDLOS" value="windows"/>
541 <env key="PATH" path="${basedir}/compiled/bin/windows/perl/bin:${basedir}/compiled/bin/windows:${basedir}/compiled/bin/script:${env.PATH}"/>
542 </exec>
543
544 <delete dir="${basedir}/compiled/collect/demo/index"/>
545 <move file="${basedir}/compiled/collect/demo/building" tofile="${basedir}/compiled/collect/demo/index"/>
546
547 <else>
548 <echo file="${basedir}/compiled/buildscript.sh">
549 #!/bin/bash
550 source setup.bash
551 /usr/bin/perl -S ${basedir}/compiled/bin/script/full-rebuild.pl demo
552 </echo>
553 <chmod perm="755" file="${basedir}/compiled/buildscript.sh"/>
554 <exec dir="${basedir}/compiled" executable="/bin/bash">
555 <arg line="buildscript.sh"/>
556 </exec>
557 <delete file="${basedir}/compiled/buildscript.sh"/>
558 </else>
559 </if>
560
561 <!-- delete unneeded files -->
562 <delete dir="compiled/uninstaller" />
563 <delete file="compiled/bin/java/SignedGatherer.jar" />
564
565 <!-- tidy up gli -->
566 <antcall target="gli-tidy-for-dist"><param name="glibasedir" value="compiled/gli"/></antcall>
567 <echo>Setting up export to cdrom package</echo>
568 <!-- mac and linux: insert export to cdrom package -->
569 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
570 <mkdir dir="compiled/bin/windows"/>
571 <!--<get src="${server.exe.location}" dest="compiled/bin/windows/server.exe"/>-->
572 <exec executable="wget" failonerror="true">
573 <arg value="-P"/>
574 <arg value="compiled/bin/windows"/>
575 <arg value="--no-check-certificate"/>
576 <arg value="${server.exe.location}"/>
577 </exec>
578 <move file="compiled/bin/windows/latest-server.exe"
579 tofile="distributions/${dist.name}/bin/windows/server.exe"/>
580
581 <if><bool><equals arg1="${post.2.83.version}" arg2="true"/></bool>
582 <!--<get src="${svn.root}/main/${branch.path}/binaries/windows/bin/Setup.exe" dest="compiled/bin/windows/Setup.exe"/>
583 <get src="${svn.root}/main/${branch.path}/binaries/windows/bin/gssetup.exe" dest="compiled/bin/windows/gssetup.exe"/>-->
584 <exec executable="svn">
585 <arg value="export"/>
586 <arg value="${svn.root}/main/${branch.path}/binaries/windows/bin/Setup.exe"/>
587 <arg value="compiled/bin/windows/Setup.exe"/>
588 </exec>
589 <exec executable="svn">
590 <arg value="export"/>
591 <arg value="${svn.root}/main/${branch.path}/binaries/windows/bin/gssetup.exe"/>
592 <arg value="compiled/bin/windows/gssetup.exe"/>
593 </exec>
594
595
596 <else>
597 <!-- <get src="${svn.root}/main/trunk/binaries/windows/bin/Setup.exe" dest="compiled/bin/windows/Setup.exe"/>
598 <get src="${svn.root}/main/trunk/binaries/windows/bin/gssetup.exe" dest="compiled/bin/windows/gssetup.exe"/>-->
599 <exec executable="svn">
600 <arg value="export"/>
601 <arg value="${svn.root}/main/trunk/binaries/windows/bin/Setup.exe"/>
602 <arg value="compiled/bin/windows/Setup.exe"/>
603 </exec>
604 <exec executable="svn">
605 <arg value="export"/>
606 <arg value="${svn.root}/main/trunk/binaries/windows/bin/gssetup.exe"/>
607 <arg value="compiled/bin/windows/gssetup.exe"/>
608 </exec>
609
610 </else>
611 </if>
612 </if>
613
614 </target>
615
616</project>
Note: See TracBrowser for help on using the repository browser.