textclient: OpenSSL detection in conf-IG-ure
[citadel.git] / textclient / configure
1 #!/bin/sh
2
3 echo 
4 echo 
5 echo Running the configure script to create config.mk
6 echo
7
8 # Parse the command line arguments
9 for x in $*
10 do
11         a=$1
12         k=`echo $a | awk -F= ' { print $1 } '`
13         v=`echo $a | awk -F= ' { print $2 } '`
14
15         case $k in
16                 --prefix)
17                         PREFIX=$v
18                 ;;
19                 --bindir)
20                         BINDIR=$v
21                 ;;
22                 --ctdldir)
23                         CTDLDIR=$v
24                 ;;
25                 --with-ssl)
26                         SSL=yes
27                 ;;
28                 --without-ssl)
29                         SSL=no
30                 ;;
31                 *)
32                         echo $0 : unknown option $k
33                         echo
34                         echo Valid options are:
35                         echo '  --prefix=PREFIX         Install files in PREFIX [/usr/local]'
36                         echo '  --bindir=DIR            Install executables in DIR [PREFIX/bin]'
37                         echo '  --ctdldir=DIR           Look for Citadel server in DIR [/usr/local/citadel]'
38                         echo '  --with-ssl              Force build with OpenSSL support [normally autodetected'
39                         echo '  --without-ssl           Force build without OpenSSL support [normally autodetected'
40                         exit 1
41                 ;;
42         esac
43         shift
44 done
45
46 # Set any missing values
47
48 [ "$PREFIX" = "" ]      && PREFIX=/usr/local
49 [ "$BINDIR" = "" ]      && BINDIR=${PREFIX}/bin
50 [ "$CTDLDIR" = "" ]     && CTDLDIR=/usr/local/citadel
51 [ "$CFLAGS" = "" ]      && CFLAGS='-ggdb'
52 [ "$LDFLAGS" = "" ]     && LDFLAGS=''
53
54 # Test for OpenSSL
55 [ "$SSL" != "yes" ] && [ "$SSL" != "no" ] && {
56         echo Testing for OpenSSL...
57         tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$
58         tempcc=${tempfile}.c
59         cat >$tempcc <<!
60 #include <openssl/ssl.h>
61 int main(int argc, char **argv) {
62         SSL_load_error_strings();
63         exit(0);
64 }
65 !
66         SSL='no';
67         cc $tempcc -lssl -lcrypto -o $tempfile && $tempfile && SSL='yes'
68         rm -f $tempfile 2>/dev/null
69         rm -f $tempcc 2>/dev/null
70 }
71 echo SSL: $SSL
72 [ "$SSL" = "yes" ] && {
73         CFLAGS=${CFLAGS}' -DHAVE_OPENSSL'
74         LDFLAGS=${LDFLAGS}' -lssl -lcrypto'
75 }
76
77 # Output the config.mk
78
79 (
80         echo "CFLAGS := ${CFLAGS}"
81         echo "LDFLAGS := ${LDFLAGS}"
82         echo "PREFIX := ${PREFIX}"
83         echo "BINDIR := ${BINDIR}"
84         echo "CTDLDIR := ${CTDLDIR}"
85 ) >config.mk
86
87 cat config.mk
88 echo