source: main/trunk/release-kits/kits/rk3/ant-scripts/compile.xml@ 29205

Last change on this file since 29205 was 29205, checked in by sjm84, 10 years ago

64 bit linux requires the 64 bit XML-Parser perl folders. Note that Macs, despite being 64 bit, still get the original 32 bit XML-Parser perl folders from svn, since there have been no problems on the Mac (but only because our test mac machines ultimately find the perl XML Parser on the system. So we may need to create .bundle files for XML-Parser versions 5.6, .8, .8-mt, .10 and .14 in future).

File size: 13.0 KB
Line 
1<?xml version="1.0" encoding="utf-8" ?>
2<project name="rk3-compile">
3
4 <target name="compile">
5
6 <!-- checkout greenstone3 -->
7 <exec executable="svn">
8 <arg value="checkout"/>
9 <arg value="${svn.root}/main/${branch.path}/greenstone3"/>
10 <arg value="compiled"/>
11 <arg value="-r"/><arg value="${branch.revision}"/>
12 </exec>
13
14 <if><bool><equals arg1="${with.jni}" arg2="false"/></bool>
15 <rsr file="${basedir}/compiled/build.properties.in" pattern="with.jni=true" replacement="#with.jni=true"/>
16 </if>
17
18 <if><bool><equals arg1="${with.gli.and.gems}" arg2="false"/></bool>
19 <rsr file="${basedir}/compiled/build.properties.in" pattern="with.gli.and.gems=true" replacement="#with.gli.and.gems=true"/>
20 </if>
21
22 <!-- make sure all c++ compilation is done statically on linux -->
23 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
24 <property name="forward.compile.static" value="true"/>
25 </if>
26
27 <!-- make sure the c++ compilation can see the support library in the extension folder -->
28 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
29 <property name="forward.use.gnomelib.ext" value="true"/>
30 </if>
31
32 <antcall target="persist-forwarded-properties">
33 <param name="greenstone3basedir" value="compiled"/>
34 </antcall>
35
36 <!-- run greenstone3's ant prepare -->
37 <ant dir="compiled" inheritAll="false">
38 <target name="prepare"/>
39 <propertyset refid="forward.properties"/>
40 <property name="properties.accepted" value="true"/>
41 </ant>
42
43 <!-- set all version numbers -->
44 <antcall target="greenstone3-set-version-numbers"><param name="greenstone3basedir" value="compiled"/></antcall>
45 <antcall target="gli-set-version-numbers"><param name="glibasedir" value="compiled/gli"/></antcall>
46 <antcall target="gsdl-set-version-numbers"><param name="gsdl.basedir" value="compiled/gs2build"/></antcall>
47
48 <!-- mac or linux: compile the support library -->
49 <if><bool><or><equals arg1="${rk.os}" arg2="mac"/><equals arg1="${rk.os}" arg2="linux"/></or></bool>
50 <!-- checkout the gnome support library extension-->
51
52 <!-- For Lions, need a specific gnome-lib-minimal tar file. The file name contains darwin12 for Lion, it contains the os.shell name (darwin/linux) for other cases.
53 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) -->
54 <condition property="specific.os.type" value="${os.shell}-Lion" else="${os.shell}">
55 <and>
56 <contains string="${os.shell}" substring="darwin" casesensitive="false"/>
57 <matches pattern="^(10\.7\.[4-9]|10\.[8-9]|1[1-9]|[2-9])" string="${os.version}"/>
58 </and>
59 </condition>
60
61 <if><bool><or>
62 <equals arg1="${post.2.83.version}" arg2="true"/>
63 </or></bool>
64 <echo>EXPORTING GNOME LIB EXTENSION</echo>
65 <exec executable="svn">
66 <arg value="export"/>
67 <arg value="${svn.root}/gs2-extensions/gnome-lib/trunk/gnome-lib-minimal-${specific.os.type}${arch}${extension-x64}.tar.gz"/>
68 <arg value="${basedir}/compiled/ext/gnome-lib-${specific.os.type}.tar.gz"/>
69 </exec>
70
71 <exec executable="tar" dir="${basedir}/compiled/ext">
72 <arg value="xvzf"/>
73 <arg value="gnome-lib-${specific.os.type}.tar.gz"/>
74 </exec>
75
76 <exec executable="/bin/bash" dir="${basedir}/compiled/ext/gnome-lib-minimal">
77 <arg value="-c"/>
78 <arg value="source setup.bash_old &amp;&amp; source devel.bash"/>
79 </exec>
80 <echo>DONE COMPILING GNOME LIB EXTENSION</echo>
81 </if>
82 </if>
83
84 <!-- run greenstone3's ant install and ant dist-tidy -->
85 <ant dir="compiled" inheritAll="false">
86 <target name="install"/>
87 <target name="dist-tidy"/>
88 <propertyset refid="forward.properties"/>
89 <property name="properties.accepted" value="true"/>
90 </ant>
91
92 <!-- Delete all collections apart from the Lucene demo collection -->
93 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gberg"/>
94 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgdemo"/>
95 <delete dir="${basedir}/compiled/web/sites/localsite/collect/gs2mgppdemo"/>
96 <delete dir="${basedir}/compiled/web/sites/localsite/collect/infomine"/>
97
98 <!-- Delete the entire gnome support library on Linux -->
99 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
100 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal"/>
101 <delete file="${basedir}/compiled/ext/gnome-lib-linux.tar.gz"/>
102 </if>
103
104 <!-- Delete all but the lib folder of the gnome support library on Mac,
105 then move this smaller gnome-lib-minimal dir from the top-level ext folder
106 to gs2build/ext, since wvware on mac needs gnome-lib-minimal -->
107 <if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
108 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/cascade-make"/>
109 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/packages"/>
110 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/bin"/>
111 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/etc"/>
112 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/include"/>
113 <delete dir="${basedir}/compiled/ext/gnome-lib-minimal/darwin/share"/>
114 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/setup.bat"/>
115 <delete file="${basedir}/compiled/ext/gnome-lib-minimal/CASCADE-MAKE.sh"/>
116 <delete file="${basedir}/compiled/ext/gnome-lib-darwin.tar.gz"/>
117 <move file="${basedir}/compiled/ext/gnome-lib-minimal" todir="compiled/gs2build/ext"/>
118 </if>
119
120
121 <if><bool><and>
122 <equals arg1="${rk.os}" arg2="linux"/>
123 <equals arg1="${extension-x64}" arg2="-x64"/>
124 </and></bool>
125 <property name="bitness" value="64"/>
126 <else>
127 <property name="bitness" value="32"/>
128 </else>
129 </if>
130
131 <!-- insert an xml parser (matched to the version of Perl being used by the release kit).
132 For Linux 64 bit, use the 64 bit versions.
133 For other cases, including Macs, we stick to the 32 bit
134 versions since there have been no problems yet, probably
135 because our Mac has 5.12 which is not included in
136 XML-Parser so that our mac then tries to find the xml
137 parser on the system.-->
138 <copy todir="compiled/gs2build/perllib/cpan">
139 <fileset dir="${rk.home}/shared/linux/XML-Parser" includes="${bitness}-bit/**/*"/>
140 </copy>
141 <move file="compiled/gs2build/perllib/cpan/${bitness}-bit" tofile="compiled/gs2build/perllib/cpan/XML-Parser"/>
142
143 <!-- insert ant -->
144 <property name="insert.ant.version" value="1.8.2"/>
145 <mkdir dir="compiled/packages"/>
146 <get src="http://www.greenstone.org/gs3files/apache-ant-${insert.ant.version}-bin.tar.gz" dest="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz"/>
147 <untar src="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz" dest="compiled/packages/" compression="gzip"/>
148 <move file="compiled/packages/apache-ant-${insert.ant.version}" tofile="compiled/packages/ant"/>
149 <delete file="compiled/packages/apache-ant-${insert.ant.version}-bin.tar.gz"/>
150
151 <!-- put the uninstaller in place -->
152 <antcall target="insert-and-compile-uninstaller"/>
153
154 <!-- (windows only) -->
155 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
156 <!-- insert perl -->
157 <unzip src="${rk.home}/shared/windows/perl.zip" dest="compiled/gs2build/bin/windows"/>
158 </if>
159
160 <!-- minify tomcat -->
161 <delete dir="compiled/packages/tomcat/webapps/docs"/>
162 <delete dir="compiled/packages/tomcat/webapps/examples"/>
163
164 <!-- tidy up gli to make it smaller -->
165 <antcall target="gli-tidy-for-dist"><param name="glibasedir" value="compiled/gli"/></antcall>
166
167 <!-- strip out .svn dirs -->
168 <antcall target="strip-svn-dirs"><param name="dir" value="compiled"/></antcall>
169
170 <!-- (linux only) -->
171 <if><bool><equals arg1="${rk.os}" arg2="linux"/></bool>
172 <!-- grab imagemagick binaries -->
173 <delete dir="compiled/gs2build/bin/linux/imagemagick"/>
174
175 <exec executable="svn">
176 <arg value="export"/>
177 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-linux${extension-x64}.tar.gz"/>
178 <arg value="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
179 </exec>
180
181 <exec executable="tar" dir="compiled/ext">
182 <arg value="xvzf"/>
183 <arg value="imagemagick-linux${extension-x64}.tar.gz"/>
184 </exec>
185 <delete file="compiled/ext/imagemagick-linux${extension-x64}.tar.gz"/>
186 <move todir="compiled/gs2build/bin/linux/imagemagick">
187 <fileset dir="compiled/ext/imagemagick/linux"/>
188 </move>
189 <delete dir="compiled/ext/imagemagick"/>
190
191 <!--<delete dir="compiled/gs2build/bin/linux/imagemagick"/>
192 <exec executable="svn">
193 <arg value="export"/>
194 <arg value="${svn.root}/main/${branch.path}/binaries/linux/imagemagick"/>
195 <arg value="compiled/gs2build/bin/linux/imagemagick"/>
196 </exec>-->
197
198 <!-- grab wv binaries -->
199 <delete dir="compiled/gs2build/bin/linux/wv"/>
200 <exec executable="svn">
201 <arg value="export"/>
202 <arg value="${svn.root}/main/${branch.path}/binaries/linux/wv"/>
203 <arg value="compiled/gs2build/bin/linux/wv"/>
204 </exec>
205 <!-- (mac only) -->
206 <else><if><bool><equals arg1="${rk.os}" arg2="mac"/></bool>
207 <!-- grab imagemagick binaries -->
208
209 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
210
211 <!--<exec executable="svn">
212 <arg value="export"/>
213 <arg value="${svn.root}/gs2-extensions/imagemagick/trunk/imagemagick-darwin-10.5.tar.gz"/>
214 <arg value="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
215 </exec>
216
217 <exec executable="tar" dir="compiled/ext">
218 <arg value="xvzf"/>
219 <arg value="imagemagick-darwin-10.5.tar.gz"/>
220 </exec>
221 <delete file="compiled/ext/imagemagick-darwin-10.5.tar.gz"/>
222 <move todir="compiled/gs2build/bin/darwin/imagemagick">
223 <fileset dir="compiled/ext/imagemagick/darwin"/>
224 </move>
225 <delete dir="compiled/ext/imagemagick"/>-->
226
227 <delete dir="compiled/gs2build/bin/darwin/imagemagick"/>
228 <exec executable="svn">
229 <arg value="export"/>
230 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/imagemagick"/>
231 <arg value="compiled/gs2build/bin/darwin/imagemagick"/>
232 </exec>
233
234 <if><bool><not><equals arg1="${forward.install.flax}" arg2="true"/></not></bool>
235 <!-- grab ghostscript binaries -->
236 <delete dir="compiled/gs2build/bin/darwin/ghostscript"/>
237 <exec executable="svn">
238 <arg value="export"/>
239 <arg value="${svn.root}/main/${branch.path}/binaries/mac/intel/ghostscript"/>
240 <arg value="compiled/gs2build/bin/darwin/ghostscript"/>
241 </exec>
242 </if>
243 </if></else></if>
244
245 <if><bool><equals arg1="${rk.os}" arg2="windows"/></bool>
246 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
247 <arg line="-S"/>
248 <arg line="gs2build/bin/script/import.pl -removeold -site localsite lucene-jdbm-demo"/>
249 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
250 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
251 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
252 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
253 <env key="GSDLOS" value="windows"/>
254 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
255 </exec>
256 <exec dir="${basedir}/compiled" executable="${basedir}/compiled/gs2build/bin/windows/perl/bin/perl">
257 <arg line="-S"/>
258 <arg line="gs2build/bin/script/buildcol.pl -removeold -site localsite lucene-jdbm-demo"/>
259 <env key="GSDLHOME" path="${basedir}/compiled/gs2build"/>
260 <env key="GSDL3HOME" path="${basedir}/compiled/web"/>
261 <env key="GSDL3SRCHOME" path="${basedir}/compiled"/>
262 <env key="GSDLCOLLECTDIR" path="${basedir}/compiled/web/sites/localsite/collect"/>
263 <env key="GSDLOS" value="windows"/>
264 <env key="PATH" path="${basedir}/compiled/gs2build/bin/windows/perl/bin;${basedir}/compiled/gs2build/bin/windows;${basedir}/compiled/gs2build/bin/script;${env.PATH}"/>
265 </exec>
266 <delete dir="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
267 <move file="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building" tofile="${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index"/>
268 <else>
269 <echo file="${basedir}/compiled/buildscript.sh">
270 #!/bin/bash
271 source gs3-setup.sh
272 /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/import.pl -site localsite lucene-jdbm-demo
273 /usr/bin/perl -S ${basedir}/compiled/gs2build/bin/script/buildcol.pl -site localsite lucene-jdbm-demo
274 rm -rf ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
275 mv ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/building ${basedir}/compiled/web/sites/localsite/collect/lucene-jdbm-demo/index
276 </echo>
277 <chmod perm="775" file="${basedir}/compiled/buildscript.sh"/>
278 <exec dir="${basedir}/compiled" executable="/bin/bash">
279 <arg line="buildscript.sh"/>
280 </exec>
281 <delete file="${basedir}/compiled/buildscript.sh"/>
282 </else>
283 </if>
284
285 </target>
286
287</project>
Note: See TracBrowser for help on using the repository browser.