#!/bin/sh # CONFIGURE SCRIPT FOR CITADEL TEXT CLIENT # This file is part of "conf-IG-ure" # Copyright (C) 2016-2019 by Art Cancro # # This program is open source software. Use, duplication, and/or # disclosure are subject to the GNU General Purpose License version 3. echo echo echo Running the configure script to create config.mk echo # Parse the command line arguments for x in $* do a=$1 k=`echo $a | awk -F= ' { print $1 } '` v=`echo $a | awk -F= ' { print $2 } '` case $k in --prefix) PREFIX=$v ;; --bindir) BINDIR=$v ;; --etcdir) ETCDIR=$v ;; --ctdldir) CTDLDIR=$v ;; --with-ssl) SSL=yes ;; --without-ssl) SSL=no ;; *) echo $0 : unknown option $k echo echo Valid options are: echo ' --prefix=PREFIX Install files in PREFIX [/usr/local]' echo ' --bindir=DIR Install executables in DIR [PREFIX/bin]' echo ' --etcdir=DIR Install citadel.rc in DIR [PREFIX/etc]' echo ' --ctdldir=DIR Look for Citadel server in DIR [/usr/local/citadel]' echo ' --with-ssl Force build with OpenSSL support [normally autodetected]' echo ' --without-ssl Force build without OpenSSL support [normally autodetected]' exit 1 ;; esac shift done ######################################################################## # Set any missing values ######################################################################## [ "$PREFIX" = "" ] && PREFIX=/usr/local [ "$BINDIR" = "" ] && BINDIR=${PREFIX}/bin [ "$CTDLDIR" = "" ] && CTDLDIR=/usr/local/citadel [ "$CFLAGS" = "" ] && CFLAGS='-Wformat-truncation=0 -ggdb' [ "$LDFLAGS" = "" ] && LDFLAGS='' ######################################################################## # Test for OpenSSL ######################################################################## [ "$SSL" != "yes" ] && [ "$SSL" != "no" ] && { echo Testing for OpenSSL... tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$ tempcc=${tempfile}.c cat >$tempcc < int main(int argc, char **argv) { SSL_load_error_strings(); exit(0); } ! SSL='no'; cc $tempcc -lssl -lcrypto -o $tempfile && $tempfile && SSL='yes' rm -f $tempfile 2>/dev/null rm -f $tempcc 2>/dev/null } echo SSL: $SSL [ "$SSL" = "yes" ] && { CFLAGS=${CFLAGS}' -DHAVE_OPENSSL' LDFLAGS=${LDFLAGS}' -lssl -lcrypto -lz' } ######################################################################## # Test for iconv ######################################################################## echo Testing for iconv... tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/configure.$$ tempcc=${tempfile}.c cat >$tempcc < #include #include #include int main(int argc, char **argv) { size_t wow = iconv(NULL, NULL, NULL, NULL, NULL); return(0); } ! cc $tempcc -o $tempfile && { ICONV='yes' echo iconv.h is present and requires no additional libraries } || { echo Trying again with -liconv... cc $tempcc -liconv -o $tempfile && { ICONV='yes' LDFLAGS=${LDFLAGS}' -liconv' } || { echo Citadel Server requires iconv character set conversion. rm -f $tempfile 2>/dev/null rm -f $tempcc 2>/dev/null exit 1 } } rm -f $tempfile 2>/dev/null rm -f $tempcc 2>/dev/null ######################################################################## # Output the config.mk ######################################################################## ( echo "CFLAGS := ${CFLAGS}" echo "LDFLAGS := ${LDFLAGS}" echo "PREFIX := ${PREFIX}" echo "BINDIR := ${BINDIR}" echo "CTDLDIR := ${CTDLDIR}" ) >config.mk cat config.mk echo