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

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

This release is now more backwards compatible, there will likely be more changes in the near future though

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