source: trunk/gsdl3/dist-resources/dist-build.xml@ 13855

Last change on this file since 13855 was 13855, checked in by kjdon, 17 years ago

removed some old windows-c++ stuff - if you want to compile on windows, you now need to have visual studio. main compile for windows does all the c++ stuff as well as java.

  • Property svn:keywords set to Author Date Id Revision
File size: 13.7 KB
RevLine 
[13306]1<?xml version="1.0"?>
2
3<!-- ======================================================================
4 March 2005
5
6 Greenstone3 build and install script
7
8 kjdon
9 ====================================================================== -->
10<project name="greenstone3-distribution" default="usage" basedir="..">
11
12 <!-- include standard build file -->
13 <import file="../build.xml"/>
14
[13311]15 <property name="documented.collections.home" value="/home/nzdl/for-distributions/collect"/>
[13306]16 <!-- ====================== DISTRIBUTION Targets ========================= -->
17
18 <!-- these two, do we need tomcat and axis for compilation??-->
19 <!-- Create the binaries for windows distribution -->
20 <target name="prepare-windows" depends="init">
[13403]21 <cvs command="checkout -P" package="gs2build" />
[13306]22 <antcall target="unzip-windows-packages"/>
23 <antcall target="checkout-winbin"/>
[13400]24 <antcall target="get-perl-for-windows"/>
25 </target>
26
27 <target name="build-windows" depends="init">
28 <antcall target="cvsupdate-distribution"/>
[13403]29 <cvs command="update -dP" package="winbin" />
[13306]30 <antcall target="get-windows-binaries"/>
31 <antcall target="rename-gs2build-files-windows"/>
[13855]32 <antcall target="compile-gs2build"/>
[13306]33 <antcall target="compile-packages"/>
34 </target>
[13400]35
36 <!-- Create the binaries for Unix/Mac distributions -->
37 <target name="prepare-unix" depends="init">
[13403]38 <cvs command="checkout -P" package="gs2build"/>
[13400]39 </target>
40
41 <target name="update-unix" depends="init">
42 <antcall target="cvsupdate-distribution"/>
[13306]43 <antcall target="rename-gs2build-files-unix"/>
44 <antcall target="delete-windows-files"/>
45 </target>
46
[13400]47 <target name="configure-unix" depends="init">
[13306]48 <antcall target="configure-c++"/>
[13400]49 </target>
50 <target name="build-unix" depends="init">
[13306]51 <antcall target="compile-packages"/>
52 <antcall target="compile-gs2build"/>
53 </target>
[13400]54
[13306]55 <!-- creates the base distribution. Needs binaries copied in to it from other
[13400]56 greenstones (prepare-os targets) -->
[13373]57 <target name="create-distribution-1" depends="init" description="do all the initial downloading and setting up">
[13403]58 <cvs command="export -D '1 second ago'" package="gs2build"/>
59 <cvs command="export -D '1 second ago'" package="gli"/>
[13306]60 <delete file="${gli.home}/gli.bat"/>
61 <delete file="${gli.home}/gli.sh"/>
[13812]62 <delete file="${gli.home}/gems.bat"/>
63 <delete file="${gli.home}/gems.sh"/>
[13373]64 <antcall target="rename-gs2build-files-dist"/>
[13306]65 <delete dir="${gs2build-extra.home}"/>
[13373]66
67 <!--<antcall target="unzip-windows-packages"/> do we need this?-->
68 <antcall target="download-tomcat"/>
[13306]69 <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
70 <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
71 <antcall target="prepare-axis"/>
72 <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
73 <!-- delete old axis dir -->
74 <delete dir="${packages.home}/axis"/>
[13373]75 <mkdir dir="${web.home}/applet"/>
76 <mkdir dir="${web.home}/logs"/>
[13848]77 <antcall target="prepare-ant"/>
78 <delete file="${packages.home}/apache-ant-1.7.0-bin.zip"/>
[13306]79 <antcall target="prepare-collections"/>
[13400]80
81 <!-- get good XML-Parser - does this work? -->
82 <antcall target="get-xml-parser"/>
[13373]83 <!-- documented collections -->
84 <antcall target="get-documented-collections"/>
[13306]85
[13373]86 <delete file="${basedir}/README-CVS.txt"/>
87 <delete file="${basedir}/TODO.txt"/>
88
89 <!-- make the extra directories needed for a release -->
90 <mkdir dir="${basedir}/Linux/lib/jni"/>
91 <mkdir dir="${basedir}/Darwin/lib/jni"/>
92 <mkdir dir="${basedir}/Windows/lib/jni"/>
93 <mkdir dir="${gs2build.home}/Unix/bin/linux"/>
94 <mkdir dir="${gs2build.home}/Unix/bin/darwin"/>
95 <mkdir dir="${gs2build.home}/Windows/bin/windows"/>
96 <mkdir dir="${gs2build.home}/source/Windows"/>
97 <mkdir dir="${gs2build.home}/source/Unix"/>
98
99 </target>
100
101 <target name="create-distribution-2" description="do all the compilation">
[13306]102 <!-- compile the java stuff -->
103 <antcall target="compile-web"/>
[13793]104 <antcall target="configure-packages-and-indexers"/>
105 <antcall target="compile-packages-and-indexers-javaonly"/>
[13501]106 <antcall target="distclean-packages"/>
[13306]107 <antcall target="compile-core"/>
[13373]108 <antcall target="compile-gli"/>
[13306]109 </target>
110
[13373]111 <target name="create-distribution-3" depends="init" description="Do the rearranging of source code etc">
[13306]112
113 <!-- move top-level os dependent files -->
[13807]114 <copy todir="${basedir}/Linux">
[13306]115 <fileset dir="${basedir}">
116 <include name="*.sh"/>
117 </fileset>
118 </copy>
[13807]119 <chmod dir="${basedir}/Linux" perm="ugo+rx"
120 includes="*.sh"/>
121 <move todir="${basedir}/Darwin">
[13306]122 <fileset dir="${basedir}">
123 <include name="*.sh"/>
124 </fileset>
125 </move>
[13807]126 <chmod dir="${basedir}/Darwin" perm="ugo+rx"
127 includes="*.sh"/>
128 <move todir="${basedir}/Windows">
[13306]129 <fileset dir="${basedir}">
130 <include name="*.bat"/>
131 </fileset>
132 </move>
133
134 <!-- rearrange collection building stuff -->
135 <move file="${gs2build.home}/win32.mak" tofile="${gs2build.home}/source/Windows/win32.mak"/>
136 <move file="${gs2build.home}/setup.bat" tofile="${gs2build.home}/source/Windows/setup.bat"/>
137 <move file="${gs2build.home}/WIN32cfg.h" tofile="${gs2build.home}/source/Windows/WIN32cfg.h"/>
138 <move todir="${gs2build.home}/source/Unix/">
139 <fileset dir="${gs2build.home}">
140 <include name="config*"/>
141 <include name="ac*"/>
142 <include name="install-sh"/>
143 <include name="setup.bash"/>
144 <include name="Makefile.in"/>
145 </fileset>
146 </move>
147 <!-- general source files -->
148 <move todir="${gs2build.home}/source/src" failonerror="false">
149 <fileset dir="${gs2build.home}/src" defaultexcludes="no"/>
150 </move>
151 <move todir="${gs2build.home}/source/lib" failonerror="false">
152 <fileset dir="${gs2build.home}/lib" defaultexcludes="no"/>
153 </move>
154 <move todir="${gs2build.home}/source/packages" failonerror="false">
155 <fileset dir="${gs2build.home}/packages" defaultexcludes="no"/>
156 </move>
[13807]157 <move todir="${gs2build.home}/source/indexers" failonerror="false">
158 <fileset dir="${gs2build.home}/indexers" defaultexcludes="no"/>
159 </move>
[13306]160
[13378]161 <!-- generate modified build.xml file -->
162 <antcall target="run-xslt-binary"/>
[13311]163
[13306]164 <!-- clean up -->
165 <delete dir="${basedir}/build"/>
[13311]166 <delete dir="${basedir}/lib/jni"/>
[13306]167 </target>
168
169
[13373]170 <target name="create-source-distribution" depends="init">
[13403]171 <cvs command="export -D '1 second ago'" package="gs2build"/>
172 <cvs command="export -D '1 second ago'" package="gli"/>
[13306]173 <delete file="${gli.home}/gli.bat"/>
174 <delete file="${gli.home}/gli.sh"/>
[13373]175 <antcall target="rename-gs2build-files-dist"/>
176 <delete dir="${gs2build-extra.home}"/>
177 <antcall target="download-tomcat"/>
178 <delete file="${packages.home}/apache-tomcat-5.5.12.zip"/>
179 <delete file="${packages.home}/apache-tomcat-5.5.12-compat.zip"/>
180
[13306]181 <antcall target="prepare-collections"/>
182 <antcall target="prepare-axis"/>
183 <delete file="${packages.home}/axis-bin-1_2_1.zip"/>
184 <!-- delete old axis dir -->
185 <delete dir="${packages.home}/axis"/>
[13378]186 <mkdir dir="${web.home}/applet"/>
187 <mkdir dir="${web.home}/logs"/>
188
[13306]189 <!-- download the mac XML parser just in case: it will only be unpacked if on a mac -->
190 <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz"
191 dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
192 usetimestamp="true"/>
[13378]193
194 <!-- generate modified build.xml file -->
195 <antcall target="run-xslt-source"/>
[13373]196 <!--<delete dir="${basedir}/dist-resources"/>-->
[13378]197
[13306]198 </target>
199
[13400]200 <!-- Supplementary targets -->
201
202 <target name="cvsupdate-distribution" depends="init">
203 <antcall target="cvsupdate-packages"/>
204 <antcall target="cvsupdate-core"/>
205 <antcall target="cvsupdate-gs2build"/>
206 <antcall target="cvsupdate-web"/>
207 </target>
208
[13378]209 <target name="run-xslt-source" depends="init">
210 <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml-source.xsl"/>
[13373]211 </target>
[13378]212
213 <target name="run-xslt-binary" depends="init">
214 <xslt in="${basedir}/build.xml" out="${basedir}/dist-build.xml" style="${basedir}/dist-resources/convert-build-xml.xsl"/>
215 </target>
216
[13373]217 <target name="rename-gs2build-files-dist" depends="init,rename-gs2build-files-unix">
218 <copy file="${gs2build-extra.home}/lib.win32.mak" tofile="${gs2build.home}/lib/win32.mak"/>
219 <copy file="${gs2build-extra.home}/win32.mak" tofile="${gs2build.home}/win32.mak"/>
220 <copy file="${gs2build-extra.home}/setup.bat" tofile="${gs2build.home}/setup.bat"/>
221 </target>
222
[13793]223 <target name="configure-packages-and-indexers" depends="init">
224 <exec executable="${indexers.home}/configure"
225 dir="${indexers.home}">
226 <arg value="--prefix=${basedir}"/>
227 <arg value="--libdir=${lib.jni}"/>
228 </exec>
229 <exec executable="${javagdbm.home}/configure"
230 dir="${javagdbm.home}">
231 <arg value="--prefix=${basedir}"/>
232 <arg value="--libdir=${lib.jni}"/>
233 </exec>
234
235 </target>
236 <target name="compile-packages-and-indexers-javaonly" depends="init">
[13787]237 <echo>Compiling Indexers</echo>
[13501]238 <exec executable="make" os="${os.unix}"
[13787]239 dir="${indexers.home}">
[13501]240 <arg value="javaonly"/>
241 </exec>
242 <exec executable="make" os="${os.unix}"
[13787]243 dir="${indexers.home}">
244 <arg value="install-javaonly"/>
[13501]245 </exec>
[13787]246 <!-- install the jar files -->
[13501]247 <copy file="${mg.home}/mg.jar" todir="${lib.jni}"/>
248 <copy file="${mgpp.home}/mgpp.jar" todir="${lib.jni}"/>
[13787]249 <copy file="${lucene.home}/LuceneWrapper.jar" todir="${web.lib}"/>
[13501]250
251 <!-- javagdbm -->
252 <exec executable="make" os="${os.unix}"
253 dir="${javagdbm.home}">
254 <arg value="javaonly"/>
255 </exec>
256 <exec executable="make" os="${os.unix}"
257 dir="${javagdbm.home}">
258 <arg value="installjava"/>
259 </exec>
260 <!-- install the jar file -->
261 <copy file="${javagdbm.home}/javagdbm.jar" todir="${lib.jni}"/>
262
263 </target>
264
[13306]265 <target name="delete-windows-files" depends="init" unless="current.os.iswindows">
266 <delete dir="${basedir}/winutil"/>
267 <delete>
268 <fileset dir="${lib.jni}" includes="*.dll"/>
269 </delete>
270 </target>
271
[13667]272 <target name="get-perl-for-windows" depends="init" if="current.os.iswindows">
[13800]273 <mkdir dir="${gs2build.home}/bin/windows"/>
[13306]274 <get src="http://www.greenstone.org/gs3files/perl-for-windows.zip"
275 dest="${gs2build.home}/bin/windows/perl-for-windows.zip"
276 usetimestamp="true"/>
277 <unzip src="${gs2build.home}/bin/windows/perl-for-windows.zip"
278 dest="${gs2build.home}/bin/windows"/>
279 <delete file="${gs2build.home}/bin/windows/perl-for-windows.zip"/>
280 </target>
281
[13787]282 <target name="distclean-packages" depends="init">
283 <!-- indexers : just call the make target -->
[13306]284 <exec executable="make" os="${os.unix}"
[13787]285 dir="${indexers.home}">
[13306]286 <arg value="distclean"/>
287 </exec>
288 <!-- javagdbm -->
289 <exec executable="make" os="${os.unix}"
290 dir="${javagdbm.home}">
291 <arg value="distclean"/>
292 </exec>
293 </target>
294
[13311]295 <!-- copy the doc eg colls from /home/nzdl - note we don't include the formatting ones -->
296 <target name="get-documented-collections" depends="init">
297 <property name="collect.home" value="${basedir}/web/sites/localsite/collect"/>
298 <copy todir="${collect.home}/MARC-e">
299 <fileset dir="${documented.collections.home}/MARC-e"/>
300 </copy>
301 <copy todir="${collect.home}/cltbib-e">
302 <fileset dir="${documented.collections.home}/cltbib-e"/>
303 </copy>
304 <copy todir="${collect.home}/dls-e">
305 <fileset dir="${documented.collections.home}/dls-e"/>
306 </copy>
307 <copy todir="${collect.home}/dspace-e">
308 <fileset dir="${documented.collections.home}/dspace-e"/>
309 </copy>
310 <copy todir="${collect.home}/gsarch-e">
311 <fileset dir="${documented.collections.home}/gsarch-e"/>
312 </copy>
[13504]313 <copy todir="${collect.home}/isis-e">
[13311]314 <fileset dir="${documented.collections.home}/isis-e"/>
315 </copy>
316 <copy todir="${collect.home}/oai-e">
317 <fileset dir="${documented.collections.home}/oai-e"/>
318 </copy>
319 <copy todir="${collect.home}/pagedimg-e">
320 <fileset dir="${documented.collections.home}/pagedimg-e"/>
321 </copy>
322 <copy todir="${collect.home}/wrdpdf-e">
323 <fileset dir="${documented.collections.home}/wrdpdf-e"/>
324 </copy>
325 </target>
326
[13400]327 <target name="get-xml-parser" depends="init">
328 <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz"
329 dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
330 usetimestamp="true"/>
331 <untar src="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"
332 dest="${gs2build.home}/perllib/cpan/"
333 compression="gzip"/>
334 <delete file="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz"/>
335 </target>
336
[13378]337 <!-- new targets to go in distribution build.xml files -->
338
339 <!-- new usage target for binary release -->
340 <target name="usage-for-binary-dist" description="Print a help message">
341 <echo message=" Execute 'ant -projecthelp' for a list of targets."/>
342 <echo message=" Execute 'ant -help' for Ant help."/>
343 </target>
344
345
346 <!-- new install target for source distribution -->
347 <target name="install-for-source-dist" depends="init" description="install the source distribution. Includes configuring and compiling">
348 <antcall target="unzip-windows-packages"/>
[13815]349 <!-- do the java version dependent stuff -->
[13816]350 <antcall target="configure-java-version"/>
[13378]351 <antcall target="install-macos-extra"/>
352 <!-- set gsdlhome in setup.bat -->
353 <antcall target="gs2build-edit-setup-bat"/>
354 <antcall target="configure"/>
355 <antcall target="configure-c++"/>
356 <antcall target="compile"/>
[13500]357 <!-- make sure we have execute permission for the .sh files -->
358 <chmod dir="${basedir}" perm="ugo+rx"
359 includes="*.sh"/>
360
[13378]361 </target>
362
[13311]363</project>
[13306]364
365
Note: See TracBrowser for help on using the repository browser.