3 # CONFIGURE SCRIPT FOR CITADEL TEXT CLIENT
4 # This file is part of "conf-IG-ure"
5 # Copyright (C) 2016-2019 by Art Cancro
7 # This program is open source software. Use, duplication, and/or
8 # disclosure are subject to the GNU General Purpose License version 3.
12 echo Running the configure script to create config.mk
15 # Parse the command line arguments
19 k=`echo $a | awk -F= ' { print $1 } '`
20 v=`echo $a | awk -F= ' { print $2 } '`
42 echo $0 : unknown option $k
44 echo Valid options are:
45 echo ' --prefix=PREFIX Install files in PREFIX [/usr/local]'
46 echo ' --bindir=DIR Install executables in DIR [PREFIX/bin]'
47 echo ' --etcdir=DIR Install citadel.rc in DIR [PREFIX/etc]'
48 echo ' --ctdldir=DIR Look for Citadel server in DIR [/usr/local/citadel]'
49 echo ' --with-ssl Force build with OpenSSL support [normally autodetected]'
50 echo ' --without-ssl Force build without OpenSSL support [normally autodetected]'
58 ########################################################################
59 # Set any missing values
60 ########################################################################
62 [ "$PREFIX" = "" ] && PREFIX=/usr/local
63 [ "$BINDIR" = "" ] && BINDIR=${PREFIX}/bin
64 [ "$CTDLDIR" = "" ] && CTDLDIR=/usr/local/citadel
65 [ "$CFLAGS" = "" ] && CFLAGS='-Wformat-truncation=0 -ggdb'
66 [ "$LDFLAGS" = "" ] && LDFLAGS=''
69 ########################################################################
71 ########################################################################
72 [ "$SSL" != "yes" ] && [ "$SSL" != "no" ] && {
73 echo Testing for OpenSSL...
74 tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$
77 #include <openssl/ssl.h>
78 int main(int argc, char **argv) {
79 SSL_load_error_strings();
84 cc $tempcc -lssl -lcrypto -o $tempfile && $tempfile && SSL='yes'
85 rm -f $tempfile 2>/dev/null
86 rm -f $tempcc 2>/dev/null
89 [ "$SSL" = "yes" ] && {
90 CFLAGS=${CFLAGS}' -DHAVE_OPENSSL'
91 LDFLAGS=${LDFLAGS}' -lssl -lcrypto -lz'
95 ########################################################################
97 ########################################################################
98 echo Testing for iconv...
99 tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$
106 int main(int argc, char **argv) {
107 size_t wow = iconv(NULL, NULL, NULL, NULL, NULL);
112 cc $tempcc -o $tempfile && {
114 echo iconv.h is present and requires no additional libraries
116 echo Trying again with -liconv...
117 cc $tempcc -liconv -o $tempfile && {
119 LDFLAGS=${LDFLAGS}' -liconv'
121 echo Citadel Server requires iconv character set conversion.
122 rm -f $tempfile 2>/dev/null
123 rm -f $tempcc 2>/dev/null
127 rm -f $tempfile 2>/dev/null
128 rm -f $tempcc 2>/dev/null
131 ########################################################################
132 # Output the config.mk
133 ########################################################################
136 echo "CFLAGS := ${CFLAGS}"
137 echo "LDFLAGS := ${LDFLAGS}"
138 echo "PREFIX := ${PREFIX}"
139 echo "BINDIR := ${BINDIR}"
140 echo "CTDLDIR := ${CTDLDIR}"