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