source: main/trunk/greenstone2/build-src/packages/configure@ 31833

Last change on this file since 31833 was 31833, checked in by ak19, 7 years ago

Some minor fixes like to make setting the version of open-ssl easier. Still can't compile up wget-1.15 on Mac against openssl 1.0.2l. Same error as when compiling wget 1.15 or 1.17.1 on Ubuntu against openssl 1.1.0f. The error message in both cases is: --with-ssl=openssl was given, but SSL is not available. Next, on LSB 64 bit (releasekit machine), I need to confirm this, but I think wget 1.15 compiled successfully against openssl 1.0.2l, that is, using the early versions of both. But with the upgrade to wget 1.17.1, wget fails to compile with an error message of Unknown option: utf8. Online pages seem to indicate this has to do with a version of pod2man on the system. We don't want to change our LSB. Does this mean that we have to settle for wget 1.15? But what do we do about Mac where neither version of wget builds?

  • Property svn:executable set to *
File size: 11.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
14if test "x$crossOS" != "x" ; then
15 # Override derived value with value explicitly provided in crossOS
16 GSDLOS=$crossOS
17fi
18
19prefix=""
20bindir=""
21HOSTTARGETFLAGS=""
22
23# only some of the packages can take environment variables as options to
24# configure
25# format is VAR=value, e.g "LDFLAGS=-static"
26ENVIRONMENT=""
27
28# WVWARE compilation enabled by default, can switch it off with --disable-wvware
29USE_WVWARE=true
30# GDBM compilation enabled by default, can switch it off with --disable-gdbm
31USE_GDBM=true
32# JDBM compilation enabled by default, can switch it off with --disable-jdbm
33USE_JDBM=true
34# SQLite support enabled by default, can switch it off with --disable-sqlite
35USE_SQLITE=true
36# yaz compilation enabled by default, can switch it off with --disable-yaz
37USE_YAZ=true
38# z3950 server disabled by default, switch it on with --enable-z3950
39USE_Z3950=false
40# CORBA support disabled by default, switch it on with --enable-corba
41USE_CORBA=false
42MICO_DIR=default
43
44# parse any arguments given from toplevel configure
45while test $# -ne 0; do
46 case "$1" in
47 --cache-file=*)
48 cache_filename=`echo $1 | sed s/--cache-file=//`
49 # turn relative path into an absolute path
50 cache_dir=`echo $cache_filename | sed 's@/[^/]*$@@'`
51 cache_dir=`cd $cache_dir 2>/dev/null && pwd`
52
53 cache_basefile=`echo $cache_filename | sed 's@.*/@@'`
54 cache_file="$cache_dir/$cache_basefile"
55 if test ! -f "$cache_file"; then
56 CACHE_FILE=""
57 else
58 CACHE_FILE="--cache-file=$cache_file"
59 fi
60 ;;
61 --disable-wvware)
62 USE_WVWARE=false
63 ;;
64 --disable-gdbm)
65 USE_GDBM=false
66 ;;
67 --disable-jdbm)
68 USE_JDBM=false
69 ;;
70 --disable-sqlite)
71 USE_SQLITE=false
72 ;;
73 --disable-yaz)
74 USE_YAZ=false
75 ;;
76 --enable-z3950)
77 USE_Z3950=true
78 ;;
79 --enable-corba)
80 USE_CORBA=true
81 ;;
82 --with-micodir=*)
83 if test $1 = ""; then
84 $1 = "default"
85 fi
86 MICO_DIR=$1
87 ;;
88 --prefix=*)
89 prefix=`echo $1 | sed s/--prefix=//`
90 ;;
91 --bindir=*)
92 # where to install binaries to
93 bindir=`echo $1 | sed s/--bindir=//`
94 # turn relative path into an absolute path
95 if test -d "$bindir" ; then
96 bindir=`cd "$bindir" ; pwd `
97 cd "$PACKAGES"
98 elif test -z `echo $bindir | sed '/^\// p;D'` ; then
99 rel_bindir="`echo $bindir | sed s@/.*@@`"
100 cd "$rel_bindir"
101 bindir="`pwd`/`echo $bindir | sed s@^[^/]*/@@`"
102 cd "$PACKAGES"
103 else
104 # bindir doesn't exist, and isn't relative
105 true
106 fi
107 ;;
108 --host=* | --target=* | --build=*)
109 HOSTTARGETFLAGS="$HOSTTARGETFLAGS $1"
110 ;;
111 *)
112 # ignore all other options for now
113 ;;
114 esac
115 shift
116done
117
118# note! Our GSDL package currently always installs into it's source
119# directory, ignoring any --prefix given to configure.
120# When this is fixed, uncomment the relevant lines below...
121
122##if test -z "$prefix" ; then
123prefix="${GSDLHOME}"
124##fi
125
126##if test -z "$bindir" ; then
127bindir="${prefix}/bin/$GSDLOS"
128##fi
129
130libdir="${prefix}/lib/$GSDLOS"
131
132# This loads the top configure's cache file, with variables already set.
133if test -f "$cache_file" ; then
134 . $cache_file
135fi
136
137# we assume that gzip and tar are on the search path.
138# non-GNU versions of tar don't take the -z option.
139
140
141
142# The way common-src compiles up expat during the configure stage itself,
143# configure openssl (needs to be done before wget)
144# and compile openssl during the configure stage itself.
145# Needed by wget for https support
146
147echo ""
148echo "Configuring openssl"
149echo ""
150cd "$PACKAGES/openssl"
151openssl_pkgname=openssl-1.0.2l
152#openssl_pkgname=openssl-1.1.0f
153if test ! -d $openssl_pkgname ;
154then
155 gzip -dc $openssl_pkgname.tar.gz | tar -xf -
156fi
157cd $openssl_pkgname
158
159# configure
160# see the INSTALL file for OpenSSL to see config options for openssl
161# --prefix indicates where the generated lib, include and bin folders will go
162# --openssldir will contain the manuals and other non-essentials
163# BEWARE: The defaults for --prefix and meaning of --openssldir differ between
164# versions of openssl. In the earlier version (1.0.* like 1.0.2l), if
165# --prefix is not supplied then the generated lib, include and bin folders
166# will also go into --openssldir.
167# In the newer version 1.1.* 1.1.0f, if --prefix is not supplied, it will
168# try to install the generated lib, include and bin folders into a system place.
169# So better to provide both --opennssldir and --prefix, for both openssl versions
170# to compile succesfully.
171# If you ever want to have the .a libraries that building openssl generates,
172# then point the --prefix to the $bindir. We currently don't need to put them
173# into $bindir/openssl for wget to use, since wget is built against openssl's
174# static libraries and therefore wget doesn't need these when running.
175echo ./config --prefix=$PACKAGES/openssl --openssldir=$PACKAGES/openssl no-shared
176./config --prefix=$PACKAGES/openssl --openssldir=$PACKAGES/openssl no-shared
177# make
178echo make
179make
180# make install
181echo make install
182make install
183
184# now move the include, lib and bin folders to the correct place
185
186# configure the wvWare Word document converter
187echo ""
188echo "Configuring wvWare"
189echo ""
190
191# datadir flag is for default location of wvHtml.xml config file
192if test x$USE_WVWARE = xtrue ;
193then
194
195 # Look to see if gnome-lib extension is present and if so, source its devel.bash file
196 if [ -d ../../ext/gnome-lib ] ; then
197 pushd ../../ext/gnome-lib
198 source ./devel.bash
199 popd
200 fi
201
202 if [ -d ../../../ext/gnome-lib-minimal ] ; then
203 pushd ../../../ext/gnome-lib-minimal
204 source ./devel.bash
205 popd
206 fi
207
208 cd "$PACKAGES/wv"
209 if [ "x$GSDLOS" = "xdarwin" ]; then
210 WV_LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Carbon"
211 else
212 WV_LDFLAGS="$LDFLAGS"
213 fi
214 gzip -dc wv-1.2.4-gs.tar.gz | tar -xf -
215 cd wv-gs && \
216 ./configure $CACHE_FILE --prefix=$PACKAGES/wv --bindir="$bindir" --libdir="$libdir" --datadir="$prefix/etc/packages" $HOSTTARGETFLAGS --disable-shared --enable-static LDFLAGS="$WV_LDFLAGS"
217else
218 echo "wvWare support disabled."
219 echo " add '--enable-wvware' to the configure command to include wvWare support."
220 echo ""
221fi
222
223if test x$? = x1 ;
224then
225 echo "Configuration of wvWare failed."
226 exit 1
227fi
228
229# configure the pdftohtml converter
230echo ""
231echo "Configuring pdftohtml"
232echo ""
233
234cd "$PACKAGES/pdftohtml"
235gzip -dc pdftohtml_0_36_gs.tar.gz | tar -xf -
236cd pdftohtml_gs && \
237./configure $CACHE_FILE --prefix="$prefix" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
238
239if test x$? = x1 ;
240then
241 echo "Configuration of pdftohtml failed."
242 exit 1
243fi
244
245# rtftohtml converter
246echo ""
247echo "Configuring rtftohtml"
248echo ""
249
250cd "$PACKAGES/rtftohtml"
251gzip -dc rtftohtml-gs.tar.gz | tar -xf -
252cd rtftohtml_src && \
253./configure $CACHE_FILE --prefix="$prefix" --bindir="$bindir" $HOSTTARGETFLAGS
254
255if test x$? = x1 ;
256then
257 echo "Configuration of rtftohtml failed."
258 exit 1
259fi
260
261# configure wget
262#wget_pkgname=wget-1.15-gs
263wget_pkgname=wget-1.17.1-gs
264echo ""
265echo "Configuring wget"
266echo ""
267cd "$PACKAGES/wget"
268gzip -dc $wget_pkgname.tar.gz | tar -xf -
269if test x$crossOS = "xandroid" ;
270then
271 wget_extraargs="gl_cv_header_working_stdint_h=yes ac_cv_func_getopt_long_only=no"
272else
273 wget_extraargs=
274fi
275
276# When compiling wget-1.15-gs without openssl as before:
277#./configure $CACHE_FILE --prefix=$PACKAGES/wget --without-ssl --bindir="$bindir" -disable-nls $HOSTTARGETFLAGS $wget_extraargs
278
279# We weren't compiling up wget statically before either and we still aren't
280# However, to compile up wget (statically or not) with openssl, see
281# https://stackoverflow.com/questions/9817337/compiling-wget-with-static-linking-self-compiled-openssl-library-linking-issu
282# Note: contrary to the instructions at the link, if the cppflags and ldflags are set during the
283# configure stage, as we now do, then the make command needn't additionally set them as well.
284# So just make, make install works thereafter
285
286echo copying "$PACKAGES/wget/wgetrc-gs.in" file to "$bindir/wgetrc"
287cp "$PACKAGES/wget/wgetrc-gs.in" "$bindir/wgetrc"
288echo cd "$PACKAGES/wget/$wget_pkgname"
289
290# for wget-1.15-gs. (can also try adding --localstatedir="$bindir/wget" --enable-iri)
291##echo CPPFLAGS="-I$PACKAGES/openssl/include" LDFLAGS="-L$PACKAGES/openssl/lib" ./configure $CACHE_FILE --prefix=$PACKAGES/wget --with-ssl=openssl --bindir="$bindir" -disable-nls $HOSTTARGETFLAGS $wget_extraarg
292##cd "$PACKAGES/wget/$wget_pkgname" && \
293##CPPFLAGS="-I$PACKAGES/openssl/include" LDFLAGS="-L$PACKAGES/openssl/lib" ./configure $CACHE_FILE --prefix=$PACKAGES/wget --with-ssl=openssl --bindir="$bindir" -disable-nls $HOSTTARGETFLAGS $wget_extraargs
294
295# for wget-1.17.1-gs. (can also try adding --localstatedir="$bindir/wget" --enable-iri)
296echo OPENSSL_CFLAGS="-I$PACKAGES/openssl/include" OPENSSL_LIBS="-L$PACKAGES/openssl/lib -lssl -lcrypto" ./configure $CACHE_FILE --prefix=$PACKAGES/wget --with-ssl=openssl --with-openssl=auto --with-libssl-prefix="$PACKAGES/openssl" --bindir="$bindir" -disable-nls $HOSTTARGETFLAGS $wget_extraargs
297cd "$PACKAGES/wget/$wget_pkgname" && \
298OPENSSL_CFLAGS="-I$PACKAGES/openssl/include" OPENSSL_LIBS="-L$PACKAGES/openssl/lib -lssl -lcrypto" ./configure $CACHE_FILE --prefix=$PACKAGES/wget --with-ssl=openssl --with-openssl=auto --with-libssl-prefix="$PACKAGES/openssl" --bindir="$bindir" -disable-nls $HOSTTARGETFLAGS $wget_extraargs
299
300
301if test x$? = x1 ;
302then
303 echo "Configuration of wget failed."
304 exit 1
305fi
306
307# configure XML::Parser perl module
308echo ""
309echo "Configuring XML::Parser"
310echo ""
311cd "$PACKAGES/cpan"
312
313perl_dir=`echo 'my $vn = sprintf("%vd", $^V); $vn =~ s/\.\d+?$//; print "perl-$vn";' | perl`
314
315gzip -dc XML-Parser-2.41.tar.gz | tar -xf -
316cd "$PACKAGES/cpan/XML-Parser-2.41" && \
317
318perl Makefile.PL \
319 PREFIX="$GSDLHOME/perllib/cpan/XML" \
320 INSTALLSITELIB="$GSDLHOME/perllib/cpan/$perl_dir" \
321 INSTALLSITEARCH="$GSDLHOME/perllib/cpan/$perl_dir" \
322 INSTALLMAN1DIR="$GSDLHOME/perllib/cpan/$perl_dir" \
323 INSTALLMAN3DIR="$GSDLHOME/perllib/cpan/$perl_dir" \
324 SITEPREFIX="$GSDLHOME/perllib/cpan" \
325 EXPATINCPATH="$GSDLHOME/common-src/packages/expat/include" \
326 EXPATLIBPATH="$GSDLHOME/common-src/packages/expat/lib"
327
328if test x$? = x1 ;
329then
330 echo "Configuration of XML-Parser failed."
331 exit 1
332fi
333
334# configure powerpoint converter
335echo ""
336echo "Configuring xlhtml (powerpoint & excel converter)"
337echo ""
338cd "$PACKAGES/xlhtml"
339gzip -dc xlhtml-0.4.9.0-gs.tar.gz | tar -xf -
340cd xlhtml-0.4.9.0 && \
341./configure $CACHE_FILE --prefix="$prefix" --bindir="$bindir" $HOSTTARGETFLAGS
342
343if test x$? = x1 ;
344then
345 echo "Configuration of xlhtml failed."
346 exit 1
347fi
348
349# configure IsisGdl program
350echo ""
351echo "Configuring IsisGdl (CDS/ISIS database reader)"
352echo ""
353cd "$PACKAGES/isis-gdl" && \
354./configure $CACHE_FILE --prefix="$prefix" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
355
356if test x$? = x1 ;
357then
358 echo "Configuration of IsisGdl failed."
359 exit 1
360fi
361
362# configure HTMLTidy program
363echo ""
364echo "Configuring HTMLTidy"
365echo ""
366cd "$PACKAGES/html-tidy"
367gzip -dc tidy.tgz | tar -xf -
368cd "$PACKAGES/html-tidy/tidy" && \
369./configure $CACHE_FILE --prefix="$prefix" --bindir="$bindir" $HOSTTARGETFLAGS $ENVIRONMENT
370
371if test x$? = x1 ;
372then
373 echo "Configuration of HTMLTidy failed."
374 exit 1
375fi
Note: See TracBrowser for help on using the repository browser.