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

Last change on this file since 22425 was 22425, checked in by sjm84, 14 years ago

Linux installations now include 3 versions of the XML parser for Perl

File size: 17.5 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>
7 <bool>
8 <or>
9 <equals arg1="${branch.path}" arg2="trunk"/>
10 <isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/>
11 </or>
12 </bool>
13
14 <exec executable="svn">
15 <arg value="checkout"/>
16 <arg value="${svn.root}/main/${branch.path}/greenstone2"/>
17 <arg value="${basedir}/compiled"/>
18 </exec>
19
20 <else>
21 <exec executable="svn">
22 <arg value="checkout"/>
23 <arg value="${svn.root}/main/${branch.path}/gsdl"/>
24 <arg value="${basedir}/compiled"/>
25 </exec>
26 </else>
27 </if>
28
29 <exec executable="svn">
30 <arg value="checkout"/>
31 <arg value="${svn.root}/main/${branch.path}/gli"/>
32 <arg value="${basedir}/compiled/gli"/>
33 </exec>
34
35 <!-- drop in documentation -->
36 <copy todir="compiled" overwrite="true">
37 <fileset dir="${rk.home}/shared/greenstone2/docs" excludes="READMEar.txt,READMEes.txt,READMEfr.txt,READMEru.txt"/>
38 </copy>
39
40 <!-- set version numbers -->
41 <antcall target="gsdl-set-version-numbers"><param name="gsdl.basedir" value="${basedir}/compiled"/></antcall>
42 <antcall target="gli-set-version-numbers"><param name="glibasedir" value="${basedir}/compiled/gli"/></antcall>
43
44 <!-- we do not want the *.app folders if we are not mac-->
45 <if><bool><not><equals arg1="${rk.os}" arg2="mac"/></not></bool>
46 <delete dir="${basedir}/compiled/client-gli.app"/>
47 <delete dir="${basedir}/compiled/gems.app"/>
48 <delete dir="${basedir}/compiled/gs2-server.app"/>
49 </if>
50
51 <!-- windows only -->
52 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
53
54 <!-- unzip packages -->
55 <unzip src="${basedir}/compiled/common-src/packages/windows/crypt/crypt.zip" dest="${basedir}/compiled/common-src/packages/windows/crypt"/>
56 <unzip src="${basedir}/compiled/common-src/packages/windows/expat/expat.zip" dest="${basedir}/compiled/common-src/packages/windows/expat"/>
57 <unzip src="${basedir}/compiled/common-src/packages/windows/stlport/stlport.zip" dest="${basedir}/compiled/common-src/packages/windows/stlport"/>
58 <unzip src="${basedir}/compiled/common-src/indexers/packages/windows/iconv/iconv.zip" dest="${basedir}/compiled/common-src/indexers/packages/windows/iconv"/>
59 <untar src="${basedir}/compiled/common-src/packages/sqlite/sqlite-amalgamation-3.5.9.tar.gz" dest="${basedir}/compiled/common-src/packages/sqlite" compression="gzip"/>
60
61 <!-- get winbin from tags if the version is greater than 2.83 otherwise get it from trunk -->
62 <if><bool><not><available file="${basedir}/compiled/bin/windows"/></not></bool>
63 <if>
64 <bool>
65 <and>
66 <not><equals arg1="${branch.path}" arg2="trunk"/></not>
67 <isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/>
68 </and>
69 </bool>
70
71 <exec executable="svn">
72 <arg value="export"/>
73 <arg value="${svn.root}/main/${branch.path}/binaries/windows/bin"/>
74 <arg value="${basedir}/compiled/bin/windows"/>
75 <arg value="-r"/>
76 <arg value="${branch.revision}"/>
77 </exec>
78
79 <else>
80 <exec executable="svn">
81 <arg value="export"/>
82 <arg value="${svn.root}/main/trunk/binaries/windows/bin"/>
83 <arg value="${basedir}/compiled/bin/windows"/>
84 <arg value="-r"/>
85 <arg value="${branch.revision}"/>
86 </exec>
87 </else>
88 </if>
89 </if>
90
91 <!-- insert windows perl -->
92 <unzip src="${rk.home}/shared/windows/perl.zip" dest="compiled/bin/windows"/>
93
94 <if>
95 <bool>
96 <and>
97 <not><equals arg1="${branch.path}" arg2="trunk"/></not>
98 <islessthan arg1="${branch.tag.version}" arg2="2.84"/>
99 </and>
100 </bool>
101
102 <exec executable="${basedir}/compiled/bin/windows/gunzip.exe" dir="${basedir}/compiled/runtime-src/packages/apache-httpd">
103 <arg value="-d"/>
104 <arg value="httpd-2.2.11-gs.tar.gz"/>
105 </exec>
106
107 <exec executable="${basedir}/compiled/bin/windows/tar.exe" dir="${basedir}/compiled/runtime-src/packages/apache-httpd">
108 <arg value="-xvf"/>
109 <arg value="httpd-2.2.11-gs.tar"/>
110 </exec>
111 </if>
112
113 <!-- compile c code -->
114 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="clean"/></exec>
115 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="APACHE_HTTPD=1"/></exec>
116 <exec dir="${basedir}/compiled" executable="nmake"><arg value="/f"/><arg value="win32.mak"/><arg value="LOCAL_LIBRARY=1"/></exec>
117 <mkdir dir="products"/>
118 <copy file="${basedir}/compiled/server.exe" tofile="${basedir}/products/server-${version}.exe"/>
119 <move file="${basedir}/compiled/server.exe" todir="${basedir}/compiled/bin/windows"/>
120
121
122 <!-- linux only -->
123 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
124
125 <!-- add static to configure.in -->
126 <rsr file="${basedir}/compiled/configure.in" pattern="^LDFLAGS=.*$" replacement="LDFLAGS=-static"/>
127 <exec dir="${basedir}/compiled" executable="autoconf" output="${basedir}/compiled/configure">
128 <arg value="configure.in"/>
129 </exec>
130
131 <!-- set environment in packages/configure -->
132 <rsr file="${basedir}/compiled/common-src/packages/configure" pattern="^ENVIRONMENT=.*$" replacement="ENVIRONMENT=&quot;LDFLAGS=-static&quot;"/>
133 <rsr file="${basedir}/compiled/build-src/packages/configure" pattern="^ENVIRONMENT=.*$" replacement="ENVIRONMENT=&quot;LDFLAGS=-static&quot;"/>
134
135 <!-- run configure -->
136 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/configure" failonerror="true">
137 <arg line="--enable-apache-httpd"/>
138 <env key="LDFLAGS" value="-static"/>
139 </exec>
140
141 <!-- add -static to makefiles -->
142 <rsr file="${basedir}/compiled/build-src/packages/wv/wv-gs/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static" />
143 <rsr file="${basedir}/compiled/build-src/packages/xlhtml/xlhtml-0.4.9.0/xlhtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static"/>
144 <rsr file="${basedir}/compiled/build-src/packages/xlhtml/xlhtml-0.4.9.0/ppthtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static"/>
145 <rsr file="${basedir}/compiled/build-src/packages/rtftohtml/rtftohtml_src/Makefile" pattern="(-o rtftohtml.{2}EXEEXT.{1})" replacement="$1 -static"/>
146
147 <!-- mac only -->
148 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
149 <!-- run configure -->
150 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/configure" failonerror="true">
151 <arg line="--enable-apache-httpd"/>
152 </exec>
153
154 <!-- tweak makefiles -->
155 <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"/>
156 <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"/>
157
158 </if></else></if></else></if>
159
160 <!-- mac and linux: compile -->
161 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
162
163 <!-- make -->
164 <exec dir="${basedir}/compiled" executable="make" failonerror="true"/>
165
166 <!-- make install -->
167 <exec dir="${basedir}/compiled" executable="make" failonerror="true"><arg value="install"/></exec>
168
169 <!-- make apache-for-dist -->
170 <exec dir="${basedir}/compiled" executable="make" failonerror="true"><arg value="apache-for-dist"/></exec>
171
172 <!-- strip executables -->
173 <exec dir="${basedir}/compiled/bin/${os.shell}" executable="find" failonerror="true">
174 <arg line=". ! -name . -type f -maxdepth 1 -exec strip {} &#59;"/>
175 </exec>
176 </if>
177
178 <!-- insert an xml parser -->
179 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
180 <copy todir="compiled/perllib/cpan">
181 <fileset dir="${rk.home}/shared/linux" includes="XML-Parser/**/*"/>
182 </copy>
183 </if>
184
185 <!-- compile gli -->
186 <!-- (linux and mac) -->
187 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
188 <exec dir="compiled/gli" executable="/bin/bash"><arg value="-c"/><arg value="./makegli.sh"/></exec>
189 <exec dir="compiled/gli" executable="/bin/bash"><arg value="-c"/><arg value="./makejar.sh"/></exec>
190 <!-- windows -->
191 <else><if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
192 <exec dir="compiled/gli" executable="cmd.exe"><arg value="/c"/><arg value="makegli.bat"/></exec>
193 <exec dir="compiled/gli" executable="cmd.exe"><arg value="/c"/><arg value="makejar.bat"/></exec>
194 </if></else></if>
195
196 <delete dir="compiled/gli/jar"/>
197 <delete dir="compiled/gli/classes/org"/>
198 <move file="compiled/gli/GLIServer.jar" todir="compiled/bin/java"/>
199
200 <!-- compile uninstaller -->
201 <antcall target="insert-and-compile-uninstaller" />
202
203 <!-- build demo collection -->
204 <!-- the envs on these execs simulate the environment when you run setup.bat -->
205 <if>
206 <bool>
207 <equals arg1="${rk.os}" arg2="windows"/>
208 </bool>
209
210 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/bin/windows/perl/bin/perl">
211 <arg line="-S"/>
212 <arg line="bin/script/import.pl demo"/>
213 <env key="GSDLHOME" path="${basedir}/compiled"/>
214 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
215 <env key="GSDLOS" value="windows"/>
216 <env key="PATH" path="${basedir}/compiled/bin/windows/perl/bin:${basedir}/compiled/bin/windows:${basedir}/compiled/bin/script:${env.PATH}"/>
217 </exec>
218 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/bin/windows/perl/bin/perl">
219 <arg line="-S"/>
220 <arg line="bin/script/buildcol.pl demo"/>
221 <env key="GSDLHOME" path="${basedir}/compiled"/>
222 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
223 <env key="GSDLOS" value="windows"/>
224 <env key="PATH" path="${basedir}/compiled/bin/windows/perl/bin:${basedir}/compiled/bin/windows:${basedir}/compiled/bin/script:${env.PATH}"/>
225 </exec>
226
227 <else>
228 <exec dir="${basedir}/compiled" executable="perl">
229 <arg line="-S"/>
230 <arg line="bin/script/import.pl demo"/>
231 <env key="GSDLHOME" path="${basedir}/compiled"/>
232 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
233 <env key="GSDLOS" value="linux"/>
234 <env key="PATH" path="${basedir}/compiled/bin/linux:${basedir}/compiled/bin/script:${env.PATH}"/>
235 </exec>
236 <exec dir="${basedir}/compiled" executable="perl">
237 <arg line="-S"/>
238 <arg line="bin/script/buildcol.pl demo"/>
239 <env key="GSDLHOME" path="${basedir}/compiled"/>
240 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/collect"/>
241 <env key="GSDLOS" value="linux"/>
242 <env key="PATH" path="${basedir}/compiled/bin/linux:${basedir}/compiled/bin/script:${env.PATH}"/>
243 </exec>
244 </else>
245 </if>
246 <delete dir="${basedir}/compiled/collect/demo/index"/>
247 <move file="${basedir}/compiled/collect/demo/building" tofile="${basedir}/compiled/collect/demo/index"/>
248
249 <!-- delete the source code -->
250 <delete><fileset dir="compiled" includes="Makefile,config.cache,config.h,config.log,stamp-h,config.status"/></delete>
251 <delete dir="compiled/common-src"/>
252 <delete dir="compiled/build-src"/>
253 <delete dir="compiled/runtime-src"/>
254 <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"/></delete>
255
256 <!-- strip .svn working-copy dirs -->
257 <antcall target="strip-svn-dirs"><param name="dir" value="compiled"/></antcall>
258
259 <!-- create needed empty files -->
260 <mkdir dir="compiled/tmp"/>
261 <chmod dir="compiled/tmp" perm="a+rwx"/>
262 <echo file="compiled/etc/usage.txt"></echo>
263
264 <!-- windows -->
265 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
266
267 <!-- make a copy of server.exe in the root -->
268 <copy file="compiled/bin/windows/server.exe" tofile="compiled/server.exe"/>
269
270 <!-- delete sourcecode -->
271 <delete dir="${binzip.dir}/common-src"/>
272 <delete dir="${binzip.dir}/build-src"/>
273 <delete dir="${binzip.dir}/runtime-src"/>
274
275 <!-- create simple zipped binary distribution
276 <mkdir dir="distributions"/>
277 <property name="binzip.dir" value="distributions/Greenstone-${version}-${os.suffix}-binary"/>
278 <copy todir="${binzip.dir}"><fileset dir="compiled"/></copy>
279 <delete><fileset dir="${binzip.dir}" includes="README*.txt,Uninstall.bat,Uninst.bat,uninst.jar,win32.mak,win32cfg.h,makegs2.bat" excludes="READMEen.txt"/></delete>
280 -->
281
282 <!-- delete unneeded files -->
283 <delete dir="compiled/bin/linux" />
284 <delete><fileset dir="compiled" includes="*.bash,*.sh,*.csh,.gstermrc"/></delete>
285 <delete><fileset dir="compiled/gli" includes="*.sh,*4gs3.bat"/></delete>
286 <delete dir="compiled/autom4te.cache" />
287
288 <!-- linux -->
289 <else><if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
290
291 <!-- grab imagemagick and wv binaries -->
292 <delete dir="compiled/bin/linux/imagemagick"/>
293 <delete dir="compiled/bin/linux/wv"/>
294
295 <if>
296 <bool>
297 <and>
298 <not><equals arg1="${branch.path}" arg2="trunk"/></not>
299 <isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/>
300 </and>
301 </bool>
302
303 <exec executable="svn">
304 <arg value="export"/>
305 <arg value="${svn.root}/main/${branch.path}/binaries/linux/imagemagick"/>
306 <arg value="compiled/bin/linux/imagemagick"/>
307 </exec>
308
309 <exec executable="svn">
310 <arg value="export"/>
311 <arg value="${svn.root}/main/${branch.path}/binaries/linux/wv"/>
312 <arg value="compiled/bin/linux/wv"/>
313 </exec>
314
315 <else>
316 <exec executable="svn">
317 <arg value="export"/>
318 <arg value="${svn.root}/main/trunk/binaries/linux/imagemagick"/>
319 <arg value="compiled/bin/linux/imagemagick"/>
320 </exec>
321
322 <exec executable="svn">
323 <arg value="export"/>
324 <arg value="${svn.root}/main/trunk/binaries/linux/wv"/>
325 <arg value="compiled/bin/linux/wv"/>
326 </exec>
327 </else>
328 </if>
329
330 <!-- delete unneeded files -->
331 <delete><fileset dir="compiled" includes="win32.mak,win32cfg.h,Install.sh,Support.htm,micotest.cpp"/></delete>
332 <delete><fileset dir="compiled/gli" includes="*.bat"/></delete>
333 <delete><fileset dir="compiled" includes="*.bat"/></delete>
334 <delete dir="compiled/common-src/packages/windows"/>
335 <delete dir="compiled/common-src/indexers/packages/windows"/>
336
337 <!-- mac -->
338 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
339 <!-- grab imagemagick and ghostscript binaries -->
340 <delete dir="compiled/bin/darwin/imagemagick"/>
341 <delete dir="compiled/bin/darwin/ghostscript"/>
342
343 <if>
344 <bool>
345 <and>
346 <not><equals arg1="${branch.path}" arg2="trunk"/></not>
347 <isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/>
348 </and>
349 </bool>
350
351 <exec executable="svn">
352 <arg value="export"/>
353 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/imagemagick"/>
354 <arg value="compiled/bin/darwin/imagemagick"/>
355 </exec>
356
357 <exec executable="svn">
358 <arg value="export"/>
359 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/ghostscript"/>
360 <arg value="compiled/bin/darwin/ghostscript"/>
361 </exec>
362
363 <else>
364 <exec executable="svn">
365 <arg value="export"/>
366 <arg value="${svn.root}/main/trunk/binaries/mac/intel/imagemagick"/>
367 <arg value="compiled/bin/darwin/imagemagick"/>
368 </exec>
369
370 <exec executable="svn">
371 <arg value="export"/>
372 <arg value="${svn.root}/main/trunk/binaries/mac/intel/ghostscript"/>
373 <arg value="compiled/bin/darwin/ghostscript"/>
374 </exec>
375 </else>
376 </if>
377
378 <!-- delete unneeded files -->
379 <delete><fileset dir="compiled" includes="win32.mak,win32cfg.h,Install.sh,Support.htm,*.bat"/></delete>
380 <delete><fileset dir="compiled/gli" includes="*.bat"/></delete>
381 <delete dir="compiled/common-src/packages/windows"/>
382
383 </if></else></if></else></if>
384
385 <!-- delete unneeded files -->
386 <delete dir="compiled/uninstaller" />
387 <delete file="compiled/bin/java/SignedGatherer.jar" />
388
389 <!-- tidy up gli -->
390 <antcall target="gli-tidy-for-dist"><param name="glibasedir" value="compiled/gli"/></antcall>
391
392 <!-- mac and linux: insert export to cdrom package -->
393 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
394 <mkdir dir="compiled/bin/windows"/>
395 <get src="${server.exe.location}" dest="compiled/bin/windows/server.exe"/>
396
397 <if>
398 <bool>
399 <and>
400 <not><equals arg1="${branch.path}" arg2="trunk"/></not>
401 <isgreaterthan arg1="${branch.tag.version}" arg2="2.83"/>
402 </and>
403 </bool>
404
405 <get src="${svn.root}/main/${branch.path}/binaries/windows/bin/Setup.exe" dest="compiled/bin/windows/Setup.exe"/>
406 <get src="${svn.root}/main/${branch.path}/binaries/windows/bin/gssetup.exe" dest="compiled/bin/windows/gssetup.exe"/>
407
408 <else>
409 <get src="${svn.root}/main/trunk/binaries/windows/bin/Setup.exe" dest="compiled/bin/windows/Setup.exe"/>
410 <get src="${svn.root}/main/trunk/binaries/windows/bin/gssetup.exe" dest="compiled/bin/windows/gssetup.exe"/>
411 </else>
412 </if>
413 </if>
414
415 </target>
416
417</project>
Note: See TracBrowser for help on using the repository browser.