source: main/trunk/greenstone2/common-src/packages/configure@ 23356

Last change on this file since 23356 was 23356, checked in by sjm84, 13 years ago

Updated several configure scripts and Makefiles to make use of the JAVA, JAVAC and JAVACFLAGS environment variables, also added a --disable-java option to several of the configure scripts

  • Property svn:executable set to *
File size: 10.2 KB
Line 
1#!/bin/sh
2
3PACKAGES=`pwd`
4cd ../..
5GSDLHOME=`pwd`
6cd $PACKAGES
7
8GSDLOS=`uname -s |tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
9# check for running bash under cygwin
10if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ;
11then
12 GSDLOS=windows
13fi
14
15prefix=""
16bindir=""
17HOSTTARGETFLAGS=""
18
19# only some of the packages can take environment variables as options to
20# configure
21# format is VAR=value, e.g "LDFLAGS=-static"
22ENVIRONMENT=""
23
24# Java support enabled by default, can switch it off with --disable-java
25ENABLE_JAVA=1
26# GDBM support enabled by default, can switch it off with --disable-jdbm
27USE_GDBM=1
28# JDBM support enabled by default, can switch it off with --disable-jdbm
29USE_JDBM=1
30# SQLite support enabled by default, can switch it off with --disable-sqlite
31USE_SQLITE=true
32# yaz compilation enabled by default, can switch it off with --disable-yaz
33USE_YAZ=true
34# z3950 server disabled by default, switch it on with --enable-z3950
35USE_Z3950=false
36# CORBA support disabled by default, switch it on with --enable-corba
37USE_CORBA=false
38MICO_DIR=default
39
40# parse any arguments given from toplevel configure
41while test $# -ne 0; do
42 case "$1" in
43 --cache-file=*)
44 cache_filename=`echo $1 | sed s/--cache-file=//`
45 # turn relative path into an absolute path
46 cache_dir=`echo $cache_filename | sed 's@/[^/]*$@@'`
47 cache_dir=`cd $cache_dir 2>/dev/null && pwd`
48
49 cache_basefile=`echo $cache_filename | sed 's@.*/@@'`
50 cache_file="$cache_dir/$cache_basefile"
51 if test ! -f "$cache_file"; then
52 CACHE_FILE=""
53 else
54 CACHE_FILE="--cache-file=$cache_file"
55 fi
56 ;;
57 --disable-java)
58 ENABLE_JAVA=0
59 USE_JDBM=0
60 ;;
61 --disable-gdbm)
62 USE_GDBM=0
63 ;;
64 --disable-jdbm)
65 USE_JDBM=0
66 ;;
67 --disable-sqlite)
68 USE_SQLITE=false
69 ;;
70 --disable-yaz)
71 USE_YAZ=false
72 ;;
73 --enable-z3950)
74 USE_Z3950=true
75 ;;
76 --enable-corba)
77 USE_CORBA=true
78 ;;
79 --with-micodir=*)
80 if test $1 = ""; then
81 $1 = "default"
82 fi
83 MICO_DIR=$1
84 ;;
85 --prefix=*)
86 prefix=`echo $1 | sed s/--prefix=//`
87 ;;
88 --bindir=*)
89 # where to install binaries to
90 bindir=`echo $1 | sed s/--bindir=//`
91 # turn relative path into an absolute path
92 if test -d "$bindir" ; then
93 bindir=`cd "$bindir" ; pwd `
94 cd "$PACKAGES"
95 elif test -z `echo $bindir | sed '/^\// p;D'` ; then
96 rel_bindir="`echo $bindir | sed s@/.*@@`"
97 cd "$rel_bindir"
98 bindir="`pwd`/`echo $bindir | sed s@^[^/]*/@@`"
99 cd "$PACKAGES"
100 else
101 # bindir doesn't exist, and isn't relative
102 true
103 fi
104 ;;
105 --host=* | --target=*)
106 HOSTTARGETFLAGS="$HOSTTARGETFLAGS $1"
107 ;;
108 *)
109 # ignore all other options for now
110 ;;
111 esac
112 shift
113done
114
115# note! Our GSDL package currently always installs into it's source
116# directory, ignoring any --prefix given to configure.
117# When this is fixed, uncomment the relevant lines below...
118
119##if test -z "$prefix" ; then
120prefix="${GSDLHOME}"
121##fi
122
123##if test -z "$bindir" ; then
124bindir="${prefix}/bin/$GSDLOS"
125##fi
126
127# This loads the top configure's cache file, with variables already set.
128if test -f "$cache_file" ; then
129 . $cache_file
130fi
131
132# we assume that gzip and tar are on the search path.
133# non-GNU versions of tar don't take the -z option.
134
135
136
137# configure expat (needs to be done before XML::Parser)
138# now compile expat during the configure stage itself
139echo ""
140echo "Configuring expat"
141echo ""
142cd "$PACKAGES/expat"
143if test ! -d expat-1.95.8 ;
144then
145 gzip -dc expat-1.95.8.tar.gz | tar -xf -
146fi
147
148cd "$PACKAGES/expat/expat-1.95.8"
149
150if test -e Makefile ; then
151 echo make distclean && \
152 make distclean
153fi
154
155#Configure and compile 32-bit expat
156echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --disable-shared --with-pic --prefix=$PACKAGES/expat --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
157CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --disable-shared --with-pic --prefix=$PACKAGES/expat --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
158
159echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make $ENVIRONMENT
160CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make $ENVIRONMENT
161
162echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make install $ENVIRONMENT
163CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make install $ENVIRONMENT
164
165echo make distclean && \
166make distclean
167
168if test ! -z "$COMPAT32BITFLAGS" ; then
169 echo "Generating native 64-bit version of expat"
170 #Configure and compile 64-bit expat
171 echo ./configure $CACHE_FILE --disable-shared --with-pic --prefix=$PACKAGES/expat --bindir="$bindir" --libdir="$PACKAGES/expat/lib64" $HOSTTARGETFLAGS $ENVIRONMENT
172 ./configure $CACHE_FILE --disable-shared --with-pic --prefix=$PACKAGES/expat --bindir="$bindir" --libdir="$PACKAGES/expat/lib64" $HOSTTARGETFLAGS $ENVIRONMENT
173
174 echo make $ENVIRONMENT
175 make $ENVIRONMENT
176
177 echo make install $ENVIRONMENT
178 make install $ENVIRONMENT
179
180 echo make distclean && \
181 make distclean
182fi
183
184# configure and compile libiconv during configuration stage
185echo ""
186echo "Configuring iconv"
187echo ""
188cd "$PACKAGES/iconv"
189if test ! -d libiconv-1.13.1 ;
190then
191 gzip -dc libiconv-1.13.1.tar.gz | tar -xf -
192fi
193
194cd "$PACKAGES/iconv/libiconv-1.13.1"
195
196if test -e Makefile ; then
197 echo make distclean && \
198 make distclean
199fi
200
201# configure
202echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --enable-shared --enable-static --prefix="$PACKAGES/iconv" $HOSTTARGETFLAGS $ENVIRONMENT
203CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --enable-shared --enable-static --prefix="$PACKAGES/iconv" $HOSTTARGETFLAGS $ENVIRONMENT
204
205# make
206echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make $ENVIRONMENT
207CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make $ENVIRONMENT
208
209# make install
210echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make install $ENVIRONMENT
211CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" make install $ENVIRONMENT
212
213if test ! -z "$COMPAT32BITFLAGS" ; then
214 echo "Generating native 64-bit version of iconv"
215 # used in apache web server, for example
216
217 # distclean
218 echo make distclean && \
219 make distclean
220
221 # configure
222 echo ./configure $CACHE_FILE --enable-shared --enable-static --prefix="$PACKAGES/iconv" $HOSTTARGETFLAGS $ENVIRONMENT
223 ./configure $CACHE_FILE --enable-shared --enable-static --prefix="$PACKAGES/iconv" --libdir="$PACKAGES/iconv/lib64" $HOSTTARGETFLAGS $ENVIRONMENT
224
225 # make
226 echo make $ENVIRONMENT
227 make $ENVIRONMENT
228
229 # make install
230 echo make install $ENVIRONMENT
231 make install $ENVIRONMENT
232fi
233
234echo make distclean && \
235make distclean
236
237#./configure $CACHE_FILE --prefix="$PACKAGES/iconv" --disable-shared $HOSTTARGETFLAGS&&
238#make && make install
239
240
241# configure GDBM
242echo ""
243echo "Configuring GDBM"
244if test $USE_GDBM ;
245then
246 echo ""
247 cd "$PACKAGES/gdbm"
248
249 echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --disable-shared --prefix=$PACKAGES/gdbm $HOSTTARGETFLAGS $ENVIRONMENT
250
251 cd "$PACKAGES/gdbm/gdbm-1.8.3" && \
252 CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --disable-shared --prefix=$PACKAGES/gdbm $HOSTTARGETFLAGS $ENVIRONMENT
253else
254 echo " GDBM support disabled."
255 echo " add '--enable-gdbm' to the configure command to include GDBM support."
256 echo ""
257fi
258
259# configure JDBM
260echo ""
261echo "Configuring JDBM"
262if test $USE_JDBM ;
263then
264 echo ""
265 cd "$PACKAGES/jdbm"
266 if test ! -d jdbm-1.0 ;
267 then
268 gzip -dc gs-jdbm-1.0.tar.gz | tar -xf -
269 fi
270
271 if test "x$JAVAC" = "x" ; then
272 JAVAC=javac
273 fi
274
275 if test "x$JAVACFLAGS" = "x" ; then
276 JAVACFLAGS="-source 1.4 -target 1.4"
277 fi
278
279 cd jdbm-1.0 && cat Makefile.in | sed -e "s,@JAVAC@,$JAVAC,g" -e "s,@JAVACFLAGS@,$JAVACFLAGS,g" > Makefile
280else
281 echo "JDBM support disabled."
282 echo " add '--enable-jdbm' to the configure command to include JDBM support."
283 echo ""
284fi
285
286# configure SQLite
287echo ""
288echo "Configuring SQLite"
289if test x$USE_SQLITE = xtrue ;
290then
291 echo ""
292 cd "$PACKAGES/sqlite"
293 if test ! -d sqlite-amalgamation-3.6.23.1 ;
294 then
295 gzip -dc sqlite-amalgamation-3.6.23.1.tar.gz | tar -xf -
296 fi
297
298 echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --prefix="$PACKAGES/sqlite" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
299
300 cd "$PACKAGES/sqlite/sqlite-amalgamation-3.6.23.1" && \
301 CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --prefix="$PACKAGES/sqlite" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
302else
303 echo "SQLite support disabled."
304 echo " add '--enable-sqlite' to the configure command to include SQLite support."
305 echo ""
306fi
307
308# configure search4j
309echo ""
310echo "Configuring search4j"
311echo ""
312cd "$PACKAGES/search4j"
313
314#echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
315echo ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
316
317cd "$PACKAGES/search4j" && \
318 ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
319# CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
Note: See TracBrowser for help on using the repository browser.