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

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

SQLite requires -DSQLITE_ENABLE_LOCKING_STYLE=0 in the CFLAGS to compile correctly on powerpc

  • Property svn:executable set to *
File size: 10.3 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 arch=`uname -p`
299
300 if test $arch = powerpc ; then
301 CFLAGS="-DSQLITE_ENABLE_LOCKING_STYLE=0 $CFLAGS"
302 fi
303
304 echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --prefix="$PACKAGES/sqlite" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
305
306 cd "$PACKAGES/sqlite/sqlite-amalgamation-3.6.23.1" && \
307 CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure $CACHE_FILE --prefix="$PACKAGES/sqlite" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
308else
309 echo "SQLite support disabled."
310 echo " add '--enable-sqlite' to the configure command to include SQLite support."
311 echo ""
312fi
313
314# configure search4j
315echo ""
316echo "Configuring search4j"
317echo ""
318cd "$PACKAGES/search4j"
319
320#echo CFLAGS="$CFLAGS $COMPAT32BITFLAGS" CXXFLAGS="$CXXFLAGS $COMPAT32BITFLAGS" LDFLAGS="$LDFLAGS $COMPAT32BITFLAGS" ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
321echo ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
322
323cd "$PACKAGES/search4j" && \
324 ./configure --bindir="$GSDLHOME/bin/$GSDLOS" $CACHE_FILE $HOSTTARGETFLAGS $ENVIRONMENT
325# 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.