3 # CONFIGURE SCRIPT FOR CITADEL SERVER
4 # This file is part of "conf-IG-ure"
5 # Copyright (C) 2016-2022 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.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
16 echo Running the configure script to create config.mk
19 # Parse the command line arguments
23 k=`echo $a | awk -F= ' { print $1 } '`
24 v=`echo $a | awk -F= ' { print $2 } '`
34 echo $0 : unknown option $k
36 echo Valid options are:
37 echo ' --ctdldir=DIR Install Citadel server to DIR [/usr/local/citadel]'
44 # Set any missing values (FIXME remove the ultra-fatal -W options when finished converting from autotools)
46 # Accept PREFIX as a substitute for CTDLDIR, but only if CTDLDIR is not already set
47 [ "$CTDLDIR" = "" ] && [ "$PREFIX" != "" ] && CTDLDIR=$PREFIX
49 # Configure the directory into which Citadel Server will be installed.
50 [ "$CTDLDIR" = "" ] && CTDLDIR=/usr/local/citadel
52 # Permit override of CFLAGS and LDFLAGS using environment variables
53 [ "$CFLAGS" = "" ] && CFLAGS='-ggdb -Werror -Wfatal-errors -Wno-discarded-qualifiers'
54 [ "$LDFLAGS" = "" ] && LDFLAGS=''
56 ########################################################################
58 ########################################################################
59 echo Testing for OpenSSL...
60 tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$
63 #include <openssl/ssl.h>
64 int main(int argc, char **argv) {
65 SSL_load_error_strings();
69 cc $tempcc -lssl -lcrypto -o $tempfile && $tempfile && {
70 CFLAGS=${CFLAGS}' -DHAVE_OPENSSL'
71 LDFLAGS=${LDFLAGS}' -lssl -lcrypto -lz'
73 echo Citadel Server requires OpenSSL which is not present.
78 ########################################################################
80 ########################################################################
81 echo Testing for iconv...
82 tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$
89 int main(int argc, char **argv) {
90 size_t wow = iconv(NULL, NULL, NULL, NULL, NULL);
95 cc $tempcc -o $tempfile && {
97 echo iconv.h is present and requires no additional libraries
99 echo Trying again with -liconv...
100 cc $tempcc -liconv -o $tempfile && {
102 LDFLAGS=${LDFLAGS}' -liconv'
104 echo Citadel Server requires iconv character set conversion.
110 # FIXME do a real build id here
111 CFLAGS=${CFLAGS}' -DBUILD_ID=\"unknown\"'
113 # Output the config.mk
116 echo # config.mk is generated by configure
117 echo "CTDLDIR := ${CTDLDIR}"
118 echo "CFLAGS := ${CFLAGS}"
119 echo "LDFLAGS := ${LDFLAGS}"